主要集中在瞄準模式下的旋轉跟蹲下姿態的行動兩個部分
蹲下姿態的功能也做完了,只是動畫的部分目前還不會做,畢竟也不確定之後遊戲裡是不是真的需要這個功能,想像中的遊戲節奏是稍微快一點的動作平台跳躍,如果加了蹲下感覺會拖到一點移動的節奏,但也可以因為這樣增加一些潛行用的關卡,所以到時候再看關卡需求要不要做了
從過完年後每個禮拜看一點進度,修一些Bug順便做動態系統,有空Key個動態,有逐漸抓到製作的節奏,雖然沒辦法加快到哪裡,但評估進度上有比較準,也不會花太多時間雕一些細節的部分
最近的心得是,功能跟系統做好確定可以用之後,就先把下好key frame的動態先丟進來看看,如果節奏跟視覺效果都不錯再繼續做下去,不然像之前的壞習慣,常常會想把動態做到OK或是稍微好一點才測試,但往往放到引擎裡效果都沒有想像中好
今天在做轉身動畫時有發現一件事,UE吃FBX檔其實會吃到maya的group,所以輸出時還是得讓骨架在最外層,不要包含其他骨架以外的資訊在動態檔裡面會比較好
這麼說是因為,ALS系統中常常會用到Root Motion(根運動),如果動態檔資料最外層不是骨架,那Root Motion這個功能基本上沒辦法用
而且看教學時有搞懂之前一直很疑惑的點,那就是角色在動態檔裡面旋轉,可是遊戲引擎裡面控制角色也會旋轉,那這樣不是會有兩層旋轉嗎?為甚麼他們的操作看起來都只有一層旋轉,而且腳也不會滑步
後來才了解,其實這就是Root Motion的作用,藉由最上層骨架的位移與旋轉資訊驅動角色,意思是角色的控制其實被取代了,但是兩者的數值有配合正確,所以才能達到看起來是在操作角色的錯覺
而ALS的用法又更進階,他是用一個動畫修改器取外層骨頭的所有數值,並同時新增一個動畫曲線、以每幀相對量的形式記錄下來,這麼做的好處是可以用映射的方法動態調整位移量
比方說我做了一個轉90度的動畫,但我不可能每次旋轉角色都是剛好90度,所以需要先將轉90度動畫的每一幀數值記錄下來,然後看角色旋轉是幾度,等比例的調整轉90度中間的數值,這樣就可以讓90度動畫用在更多角度上
以前還很疑惑,那如果我的動態檔裡面最上層骨架轉了90度,那我所有其他控制器不是都會被影響嗎,這樣Key動態不就很難讓角色保持穩定需要一幀一幀去修抖動
後來才知道,原來這就是遊戲業需要了解SpaceSwitching的原因,因為你大可以不管最上層骨架,先把角色動畫做好,等所有動畫都做好後,把現有的動態都bake到locator上面,然後再去轉最上層的骨架,這樣就能在不影響動態的前提下,自由調整上層骨架的動態了
發現自己學的東西默默串在一塊的感覺很奇妙,如果是一年前的我應該不認為自己能辦得到,但現在我真的有做出點甚麼了,蠻開心的
3月還有一個半禮拜,時間夠把翻滾還有姿態切換學完了,剩下的時間會集中在動態製作、優化操作動畫的部分上,畢竟目前還有很多方向的起跑動畫跟銜接還沒做,還有陡坡上的姿勢變化,保持現在的節奏繼續完成它,每天做一天今年一定可以有不錯的進度