2013-02-04 73 views
2

我有一個以.fbx格式導入的模型,帶有預先製作的動畫。我想將物理模型應用到模型中,但播放動畫似乎會干擾物理模型Unity3D 4 - 導入的動畫fbx模型干擾物理

當動畫播放模型時不會「跌倒」/相撞,對於應用於遊戲對象的物理剛體/網格物體碰撞器正確反應,但是當我切換回動畫模型時,模型會移回原始起始位置(但會正確播放動畫)

我在做什麼錯誤?

編輯:這是「動畫」複選框我說:

Screenshot of inspector in unity showing Animation component

回答

0

我能夠通過遵循this advice並將一個空的遊戲對象用作容器來解決它,將剛體/網格碰撞器/腳本添加到容器遊戲對象,然後將我的模型添加爲遊戲對象。這樣,在腳本中應用的轉換適用於容器,並且動畫不再影響模型的移動!

+0

如果您正在使用新的動畫製作工具,那麼您可以使用化身遮罩並確保地平面是紅色的。這將保持動畫形式移動模型 – Shredder2500

+0

FWIW,在Unity 5中我有一個類似的問題,其中動畫使用我導入的特定模型影響物理效果,但不是其他模型。事實證明,我必須在有問題的Animator上取消選中「Apply root motion」。 – lazd

1

我有點不確定這個「動畫」複選框,你指的是,但我有一對夫婦你可以探索的預感。

Unity的物理和碰撞有很多味道,並不是所有的混合都很好。剛體對任何有物理相關性的東西都很有用,但它附帶了一串TON字符串。例如,Rigidbody的唯一碰撞其他Rigidbodys(see bottom)。這聽起來像你想要將你的物理東西作爲玩家或敵人或某物移動。就這一點而言,RigidBodys是混合的。

您需要使用的設置是剛體部件的「.isKinematic」。打開此項可關閉剛體物理模擬,角色控制器或任何將作爲默認設置回退。看看這個腳本切換物理學所以你的角色可以圍繞推動東西:http://answers.unity3d.com/questions/17566/how-can-i-make-my-player-a-charactercontroller-pus.html

其他的事情要記住的是,你的模型不應該在動畫世界各地變換。任何轉換都需要由您的遊戲行爲來處理。

+0

感謝您的回覆。不確定你的意思是我的模型不應該在動畫中改變世界嗎?似乎有某種形式的物理力量或轉化被燒成動畫本身,我在場景中有另一種模型,動畫可以「現場」移動,而且我能夠使它與物理平移/碰撞沒有問題,它只有在這種特殊模式下,我正在經歷奇怪的行爲。順便說一句,我更新了我提到的動畫複選框的截圖。 – AndroidNoob

+0

似乎你知道了,但基本上我的意思是移動動作應該發生「就地」,這就是它聽起來像你在做什麼。請記住標記您的解決方案! – Kirbinator