AE如何理解錨點(定位點)和位置的區別?

為什麼我用滑鼠移動一個形狀的時候明明看到錨點跟著移動但是數值沒變化?為什麼移動錨點的時候錨點和位置數值都會變?麻煩詳細解釋一下,研究了一上午了沒搞明白。


「錨點」的概念一開始確實不容易理解,但如果換半個字,把「錨點」重命名為「貓點」就非常容易理解了。
那麼,如何理解「貓點」呢?一個故事就講明白了。
從前有艘船(圖層),
船上有隻貓。
貓在船上到處跑,有時在船頭,有時在船尾,有時在船艙,有時在甲板。
貓在哪裡,哪裡就是貓點。

船長問:「我的貓在哪裡?」
水手回答:「在船頭」
此時,船頭就是貓點。
如果貓在船尾,那麼船尾就是貓點。

船長又問:「我們的船行駛到哪裡了?」
大副看了看顯示器,回答:「東經XXXX,北緯XXXX」
船在地球上的坐標,就是船的位置
此時,貓正在船艙睡覺,那麼貓點就是船艙。
無論船行駛到哪個海域,只要貓還在船艙睡覺,貓點都是船艙。

當人們說「貓在哪裡」,永遠說的是貓在船上的相對位置,也就是AE中的「貓點(Anchor Point)」。
當人們說「船在哪裡」,說的是船在地球上的位置坐標,也就是AE中的「位置(Position)」。

那麼,現在可能有人要問了,大副怎麼知道船的位置坐標的呢?
當然是通過GPS設備了。
什麼?!這船這麼先進,居然有GPS設備?
當然有了,而且這個GPS設備就集成在貓的項圈裡。沒錯,船長的貓不是一般的貓,而是一隻戴著GPS項圈的貓,這隻貓擔負著整艘船GPS定位的重任,整艘船唯一的GPS設備就是這隻貓的項圈。大副看顯示器回答的坐標,其定位數據也來源於這隻貓的GPS項圈。

這時,船已行駛到目的地,即將進港停泊。
船長看著顯示有GPS數據的顯示器,開始精確指揮水手們了:「再向左一點,過了,再往右1.2米,差不多了,慢速前進……」然而就在這時,一件可怕的事情發生了:船上忽然跑出一隻老鼠(滑鼠),更可怕的是:貓醒了。
老鼠到處亂竄,貓為了抓老鼠也跟著到處跑,於是呢,顯示器上原本穩定的精確坐標也開始不穩定。
船長:「哎~不對不對,怎麼數字蹦的這麼快,再往右3.7米,不對,往左4.2米……這TM怎麼搞的?快去看看我的貓在幹嘛!?」
水手:「報告船長!您的貓醒了,正在船艙,哦不,在甲板抓老鼠~」
這時,船長怒了,「這廝平時睡覺,總在關鍵時刻給我掉鏈子」,於是抄起傢伙——專門用來夾貓的Y形夾,將貓就地夾住,數據終於穩定了……

這個故事告訴我們,要想穩定航行,不要輕易用老鼠逗貓。實在想讓貓換個地方睡覺,請使用快捷鍵「Y」。

補充:以上針對的是Solid、圖片和視頻類圖層。而與Solid、圖片和視頻類圖層不同,「形狀圖層(Shape Layer)」比較另類,其GPS安裝在貓身上的跳蚤身上,因此如果你的船是「形狀圖層」,須對其「內容」中的各項參數格外留意。


我相信這個問題困擾過很多新人吧。在講解AE中的錨點之前有必要探討一下AE中的空間坐標系相對位置

首先說下AE中的空間坐標系

我們都知道傳統三維軟體的空間,他的坐標原點默認在畫面的中間,如下圖c4d

然而在AE中並不是這樣,AE的坐標原點在畫面的左上角,朝左為X軸

向下為Y軸,向畫面內部延伸為Z軸,如下圖。這就叫做世界坐標系

這個合成的大小為800*450,默認合成中有兩個對象A、B,A的寬高為60*40像素,B的寬高為40*60像素,B為A的子物體,如下圖

問題1:A的位置就是A這個色塊在空間中的位置嗎?

問題2:為何B在空間中的位置看起來明明比A大,為何數值卻小?


先說問題1,在AE中,一個對象的位置不是我們看到的色塊在空間中的位置,而是中心點(錨點)在空間中的絕對位置,當然這是中A沒有父物體的情況下。 如下圖,當我們改變錨點的時候,A在空間中看起來並沒有移動啊,這是為何?

因為在AE中 圖層的位置(注意看數值)就是錨點在世界坐標中的位置(在該圖層沒有父物體的情況下),而錨點的位置(注意看數值)是錨點相對於該圖層的位置

那麼相對於該圖層的那個地方呢?是該圖層的中心嗎? 然而並不是,錨點的位置是相對於該圖層的左上角


簡而言之,圖層的位置是基於世界坐標系的,錨點的位置是基於圖層的坐標系的。世界坐標系的坐標原點在合成的左上角,圖層坐標系的原點在圖層的左上角

上邊說的情況是該圖層沒有父物體的情況下,如果一個圖層有父物體,如我們這裡的圖層B,那麼圖層B的位置也是基於世界坐標系嗎?

事實上B的位置並不是基於世界坐標系的,B的位置是基於父物體的,所以我們在這裡看到B的位置數值竟然沒有A大;B的錨點位置依然是基於圖層B的坐標系的

寫了這麼多,基礎好的朋友估計早看煩了吧,基礎差的朋友估計看蒙了吧,哈哈哈。雖然弄懂這個知識點並不能讓你立刻做出牛叉的效果,但是這的的確確是一個很重要的知識點。以後有機會我會用案例演示出這個知識的妙用。


好啦,今天就寫這麼多吧。如果覺得受益記得贊我贊我贊我呀。

-------------------------------------

更多AE、C4D資訊及教學,關注我的微信公眾號;視頻設計師老鷹 每天都有更新喔!


錨點(anchor point)和位置(position)的關係?
圖層位置(position)的值就是圖層錨點(anchor point)在整個合成(composition)中的座標。因此圖層在視覺上的位置是「位置」和「錨點」這兩個屬性共同決定的。

為什麼移動圖層的時候錨點(anchor point)的值沒有變化?
錨點的值是錨點在圖層中的相對座標。只要錨點在圖層中的相對位置沒有變化,其值就不會變化。

為什麼移動錨點的時候錨點和位置數值都會變?
如果是用錨點工具(Pan Behind tool / Anchor Point tool)移動的錨點,AE 會對圖層的位置(position)作自動補正,以保持圖層的視覺位置不變。(還記得么?剛剛說過圖層在視覺上的位置是「位置」和「錨點」這兩個屬性共同決定的)

如果想了解更多,可以讀一讀 Adobe 官方文檔:Layer properties


一個是物體相對物體坐標軸的位置,一個是物體坐標軸相對於空間原點的位置。


錨點和位置屬性沒關係,錨點只和旋轉及縮放有關係。
做位置關鍵幀動畫,看的是兩個關鍵幀位置屬性上的差值,不用在意它的絕對值。
不論旋轉還是縮放,錨點可以理解成在原有圖形上釘上的一顆釘子。旋轉時,釘子是圓心。縮放時,釘子那點是不動的。


推薦閱讀:

TAG:用戶界面設計 | 計算機圖形學 | AdobeAfterEffects | AfterEffects特效 | Adobe軟體產品 |