當前位置:
首頁 > 最新 > AE CC 里還原三維骨骼動畫

AE CC 里還原三維骨骼動畫

前言

本文充斥各種代碼片段,十分用戶不友好。

GIF

一直以來沒緊跟軟體更新新特性的習慣,最近發現AE的CC2018版本更新的2個新特性讓我有點驚訝。一個是AE支持json格式的導入;另一個是AE開放了對路徑點的表達式控制

最受益兩個新特性的,莫過於有實際意義的圖表動畫。可以看下面Youtube這個教程視頻,詳細清晰地講解了:

1. Excel表格數據轉json格式。

2. 在AE里導入json數據局。

3. 使用內置腳本對路徑每個點生成控制空圖層。

4. 使用表達式處理json數據,並正確地控制路徑形成折線圖。

教程地址:https://www.youtube.com/watch?v=eo_TPwikuDI

GIF

看完教程我趕緊更新了軟體,並想嘗試一下新特性,但是做圖表動畫有點沒新意,於是想試一下,能否把三維角色的運動信息導入AE裡面控制路徑!之所以專門寫一篇推送記錄,是因為今天在實現過程里卡住了幾處,但是所幸都解決了,覺得過程有點意思,所以寫下來給有緣人看。

GIF

最終效果

正文

一、獲取角色骨骼動畫的位置動畫數據。

所用的角色動畫素材來自Mixamo.com,上面有許多角色動畫素材,下載下來是一個fbx文件,直接導入Houdini里。

Houdini用來處理三維的東西是十分自由方便的!我選取了模型上代表各個骨骼的點之後,將其他多餘的點刪去。問題來了,我要怎麼把這個動畫130幀的點位置信息導出Json格式的文件呢?

首先,簡單查閱了一下Houdini沒查到寫入本地文本文件的方法和節點。接著,我想用vex來printf出來,但是vex執行好像是並行的,不能保證printf出來的順序,棄用。最終想到Houdini有一個File Cache的節點,可以把模型數據緩存到本地。

這裡有一個地方需要注意,緩存的文件名稱里,默認是.bgeo.sc後綴,這樣緩存下來的文件,打開是二進位的。我們緩存的時候把後綴去掉,則保存下來的文件是類似json格式的可讀文件。

我們仔細看緩存的文件裡面的數據,可以輕鬆找到我們想要的點位置信息,大概在74行這裡。

二、將點動畫位置數據處理成Json格式

這一步比較簡單,選擇一個你拿手的寫腳本方式,Python、Node、Processing都可以。我對Processing比較熟,所以用Processing簡單寫了一個腳本,對生成的130個緩存文件進行處理,輸出json文件。

經過處理生成的json文件打開如下圖(十分完美):

三、AE導入角色骨骼Json數據

先用鋼筆工具隨意畫出表示骨骼的路徑,然後使用內置的腳本對路徑每個點生成控制其運動的空對象,在每個空對象的position屬性的表達式里,輸入以下表達式:

註:這裡必須新建一個空對象,承載幾個表達式控制器,分別是x、y、z來設置空間偏移和s設置空間尺寸。

四、最終輸出

可能有人會說,其實AE就算不支持Json文件導入,我們也可以直接把Json數據複製到表達式框,同樣可以實現這個效果(就是代碼又長又臭而已)。

然而,AE支持Json文件導入最大的優點在於:可以替換!!可以替換!!

我們只需要右鍵項目窗口的Json文件,替換成其他三位角色動畫的Json文件,就能馬上生成一個新的路徑角色動畫。

GIF

GIF

GIF

GIF

可以在AE里旋轉攝像機改變視角

能看到這裡真的是很給我面子了。希望對你有所幫助。

謝謝。晚安。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 壞印表機 的精彩文章:

TAG:壞印表機 |