還記得上篇文章結尾處的“抽風小圓點”嗎?你做出來了嗎?
希望你們做不出來,哈哈,開玩笑。其實實現的辦法有好多種,我也試過幾種,經過自己的不斷探索,我發現了我認為最“完美”的一種辦法。它不僅容易實現,靈活性大,效果也是我認為最好的。
同樣,我們要先來認識一個效果器 CC Smear(效果>扭曲>CC Smear),下面來看圖說話。
我先畫個圓,然後把CC Smear效果加到圓上,如下圖:
快看,抽了。我們再來觀察一下CC Smear的默認參數面板,聰明的同學也許看到這裡已經猜出了我的辦法。
根據CC Smear存在於扭曲分類中加上這麼簡單的參數面板,相信大家很容易就能理解這個CC Smear能夠實現什麼樣的效果。我們試著來改變一下參數,Reach=45;Radius=45(說明:Reach和Radius數值盡量相近,以保證小圓點的圓度,而數值越大扭曲的程度也會越大,這裡我只是大概設置了一下參數,大家可以隨便調戲一下這些參數),如下圖:
沒錯,那麼“From”和“To”就是影響扭曲方向的坐標點,“From”一般默認在圖形的原點位置,“To”就是這個扭曲的方向。到這裡我們就已經完成了70%了。
我們試著移動小圓點,發現“From”和“To”並沒有跟隨著小圓點一起移動,且出現了詭異的扭曲,如下圖:
所以我們接下來的工作就是要讓“From”和“To”跟隨著小圓點。那麼怎麼跟隨呢?沒錯,還是用表達式。前面的文章中我們已經成功的利用表達式鏈接各種屬性,這裡還是熟悉的操作,熟悉的味道。我們讓“From”和“To”關聯小圓點的位置屬性,具體操作如下:
同樣alt+右鍵點擊“From”和“To”前面的小砝碼激活表達式面板,並把它們連接到小圓點的位置屬性(溫馨提示:點擊面板中的鎖頭可以鎖定面板的視圖哦):
這時再移動小圓點我們可以發現“From”和“To”已經完全鏈接到位置屬性了,但是小圓點並沒出現“抽風”的症狀?
因為我們還差最關鍵的一步,前面我已經了解了“To”的坐標位置是決定扭曲方向和程度的,當“To”和“From”坐標位置完全一致時,自然看不到效果,所以我們還需要對“To”做一個延遲表達式語句。還沒忘記怎麼寫吧?
我們在“To”屬性的表達式窗口中,“transform.position”後頭加上“.valueAtTime(time-0.07)”(讓它返回延遲了0.07秒小圓點的位置坐標,注意不要漏掉小點“.”)
然後我們對小圓點的位置屬性隨便做幾個關鍵幀,效果如下(具體參數大家可以再細調以達到更佳的效果,這裡我只是簡單方法演示):
大功告成,我們來總結一下:
1.畫個小圓點;
2.添加“CC Smear”效果器;
3.設置好“Reach”和“Radius”;
4.將“From”鏈接到位置屬性;
5.將“To”鏈接到位置屬性並延遲;
6.給小圓點位置屬性加上關鍵幀後,我們不用考慮小圓點的速度,運動軌跡,運動方向,把它們交給程序去完成吧;
是不是很簡單實用呢?你學會了嗎?
『關於屬性的維度問題』
在上一篇關於linear的文章中,很多人都遇到了位置的x軸屬性怎麼鏈接縮放屬性的問題,其實就是一維屬性怎麼鏈接二維或者三維,四維屬性的問題。
下表是各種維度的屬性參考(引用官方說明文檔):
一般情況下,你在表達式的結尾輸入“x”(x的定義根據你表達式的前文),該屬性的最終返回值就是“x”的值;輸入“[x,y]”,該屬性的返回值就是“[x,y]”的值。一維的屬性要求返回一個一維的值,二維屬性要求返回一個二維的值,以此類推。
當你直接把位置屬性的x軸關聯給縮放屬性,縮放屬性最終返回了一個一維的值,自然就會報錯。所以縮放屬性的表達式結尾處一般我會這樣寫“[x,x]”。即讓縮放屬性的寬、高都等於x,其實只要你最終返回一個二維的值給它表達式就能正常工作(至於x,y,z...怎麼定義就看你了)。詳情也可以參考附件中的Ae源文件(請用CC或更高版本打開)。
那麼本文就先到這了,如果你覺得本文對你有所幫助那就來個贊吧!我會毫不猶豫的收下的:)