ue4 IK心得

ik一般涉及到位置和旋轉
比如雙手握槍的實現
槍是由手柄驅動的,因此可以在遊戲中得到槍的位置及朝向,有了槍的位置及朝向,通過槍上的socket就可以算出左右手所在的位置及其朝向。
在ue4中,twoboneik通常只管ik的位置,但如果只管位置,手就不能很好的握在槍上。因此,槍上的socket應該不止決定手的位置,還要決定手的朝向。
具體來說,左右手分別叫hand_l和hand_r,這樣分兩步來實現
1.通過twoboneik來拉hand的位置
2.通過槍上socket的朝向來設置hand的朝向

想法誤區
其實一開始也想到了設置朝向,但是想到了獲取socket的朝向是在世界座標系下的,如果直接用這個朝向去設置手的朝向,大概率是不正確的,因爲手的朝向和socket的朝向可能會有一個固定的旋轉差,可是socket是可以旋轉的呀(而且可以在播放的過程中旋轉並保存),因此可以通過socket的旋轉來設置IK中對骨骼的旋轉

最後總結兩點
1.做完ik別忘了旋轉對應的骨骼
2.ik的位置和角度一定要實時調整(ue4中通過socket來實現)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章