繼
上一篇
在更改成Apply root motion後依然會有問題,就是當這個動作本身就是會位移的,那麼就算是沒有把那個動作的bake into pose給enable,依然會產生大量位移後又回到原點的問題。
▲可以看到人物爬上去後被拉回地面,造成很奇怪的現象
▲這個動作本身就會有垂直(y軸)的變動
所以就算如上篇所說把apply root motion給enable依然有其他問題,但disable掉又會有取不到deltaPosiotn的問題,因此在努力的查詢之下,藉由
這篇中得知官方原本也是認為是bug因此要那篇的原po進行
回報,但在回報之後官方卻定調這個情況是他們所想要的,因此不列為bug了,其理由可能是節省cpu運算。
在一番研究後,發現的確可以完整的解決了之前的問題,讓專案回到2018.1的情況,不需要額外再設計動作,真是可喜可賀可以省下一筆開銷了,以下就是使用方法。
在那個本身有著Animator component的角色身上掛載著自己寫的OnAnimatorMove的Script,
▲掛載一個內容為空的OnAnimatorMove
之所以為空的原因是因為,本專案在計算root motion的地方原本就是放在別的script上,也就是說不需要移動code 過來到OnAnimatorMove依然有用,又是一件可喜可賀的事情,不需要大動作的翻修程式。
在掛載這個script後就可以看到原本apply root motion那邊有打勾地方變了變成Handled by script。
▲未掛載的狀態
▲掛載後的狀態
接著就可以看到動作終於變正常了,大師兄......痾,不對,是unitychan你終於回來了,真的是開心啊啊啊啊。