小屋創作

日誌2019-08-09 15:55

Unity Animator deltaPosition (2)

作者:Adisa

上一篇

在更改成Apply root motion後依然會有問題,就是當這個動作本身就是會位移的,那麼就算是沒有把那個動作的bake into pose給enable,依然會產生大量位移後又回到原點的問題。

                                 ▲可以看到人物爬上去後被拉回地面,造成很奇怪的現象

▲這個動作本身就會有垂直(y軸)的變動

所以就算如上篇所說把apply root motion給enable依然有其他問題,但disable掉又會有取不到deltaPosiotn的問題,因此在努力的查詢之下,藉由這篇中得知官方原本也是認為是bug因此要那篇的原po進行回報,但在回報之後官方卻定調這個情況是他們所想要的,因此不列為bug了,其理由可能是節省cpu運算。

而官方也有提供了解決方案,因為總是會有開發者比如正在寫這篇文章的在下,會想要自行計算位移,因此方法就是使用OnAnimatorMove

在一番研究後,發現的確可以完整的解決了之前的問題,讓專案回到2018.1的情況,不需要額外再設計動作,真是可喜可賀可以省下一筆開銷了,以下就是使用方法。

在那個本身有著Animator component的角色身上掛載著自己寫的OnAnimatorMove的Script,
▲掛載一個內容為空的OnAnimatorMove
之所以為空的原因是因為,本專案在計算root motion的地方原本就是放在別的script上,也就是說不需要移動code 過來到OnAnimatorMove依然有用,又是一件可喜可賀的事情,不需要大動作的翻修程式。

在掛載這個script後就可以看到原本apply root motion那邊有打勾地方變了變成Handled by script。
▲未掛載的狀態
▲掛載後的狀態

接著就可以看到動作終於變正常了,大師兄......痾,不對,是unitychan你終於回來了,真的是開心啊啊啊啊。

4

4

LINE 分享

相關創作

小紅娘大冒險 製作日誌63 紅娘草圖

成大同人場 蒼繡月(2024.4.20)參展預定

[遊戲製作:原型勇者] - 新區域中Boss

留言

開啟 APP

face基於日前微軟官方表示 Internet Explorer 不再支援新的網路標準,可能無法使用新的應用程式來呈現網站內容,在瀏覽器支援度及網站安全性的雙重考量下,為了讓巴友們有更好的使用體驗,巴哈姆特即將於 2019年9月2日 停止支援 Internet Explorer 瀏覽器的頁面呈現和功能。
屆時建議您使用下述瀏覽器來瀏覽巴哈姆特:
。Google Chrome(推薦)
。Mozilla Firefox
。Microsoft Edge(Windows10以上的作業系統版本才可使用)

face我們了解您不想看到廣告的心情⋯ 若您願意支持巴哈姆特永續經營,請將 gamer.com.tw 加入廣告阻擋工具的白名單中,謝謝 !【教學】