在unity3d中 如何讓倒下的布偶站起來最為妥當?

想做一個布偶倒下然後站起來的動作.直接用動畫覺得失去了一份布偶倒下的隨機感.用布偶倒下了又不會讓他站起來.我是100%萌新.希望各路大佬能多多指教


我們遊戲中目前應用的效果應該和你描述的差不多,不過我們是用虛幻4做的。

其實底層原理是一樣的:製作一個倒地動畫——播放到一定幀數切換成物理效果——按時間和姿勢判斷是否完全落地——切換成預製的爬起動畫。

比較麻煩的就是,只要是物理就是不可控的,你無法預測玩家會倒在哪個地形上,有可能出現倒在某個扭曲的角落不停抽動的現象,遇到這種情況要麼改判定方式,要麼修改場景碰撞,要麼調整物理資源的預製姿勢。通常三個都要用。另外為了讓物理混合到動畫的起身效果過渡自然,需要製作不同狀態的起身動畫,通常是正面側面背面4到8個姿勢。

一般遊戲中很少用到這種做法,因為不可控。所以倒地和起身都是直接播動畫,只有死亡才切物理(不用考慮起身)除了GTA,好像沒有別的遊戲這麼做。但就算是GTA,也不能完全杜絕各種鬼畜現象的出現。


我猜你說的布偶是指的rag doll 吧。

一般的做法是rag doll 配合動畫來實現。

在倒下時,倒下的動畫不需要做完整的過程,通常只做一部分,比如一半,使角色有倒下的趨勢。然後關閉動畫,切換成rag doll 來控制。

站起的動畫要有全過程,在站起時關閉rag doll 並與當前角色姿勢做blend就可以了。不過這個方法並不完美,如果躺著的姿勢比較奇怪的話,站起的過程也會比較奇怪。如果需求允許的話,在此基礎上可以添加一個過渡動畫,由躺著的奇怪姿勢blend到指定的姿勢,再站起來,這可以大大緩解出現奇怪的站起行為。

但是由各種各樣奇怪的躺姿站起的需求並不常見。


插件名 Physics Get Up Blend

ue4有一個非官方插件,可以很自然的從ragdoll的倒地,過渡到動畫的起身動作上。

好像就是前幾天CyberMonday打折的一個插件。


可以試試在站起來和倒地的過程中混合物理系統計算的位置和動畫的位置

unity有個插件叫puppet master可以試試


在ue4裡面 你可以使用snap poses來保存當前的mesh狀態 然後和起身動作做混合


推薦閱讀:

以後想做遊戲設計師,或者是和遊戲開發相關的職業,那麼大學裡應該學什麼專業呢?
遊戲追求更好的畫質真的有意義嗎?
FC經典遊戲《沙羅曼蛇》有多給力?你有哪些關於該遊戲的回憶?
《超級馬里奧兄弟》為什麼可以不用新手引導?

TAG:遊戲設計 | Unity遊戲引擎 |