我有一个.fbx格式的导入模型,带有预先制作的动画。我想将物理学应用于模型,但是播放动画似乎会干扰物理学
当动画播放时,模型不会“掉落”/碰撞但如果我在检查器中取消'动画',我的模型会对应用于游戏对象的物理刚体/网格对撞机做出正确反应,但是我切换的那一分钟回到动画上,模型会回到原来的起始位置(但会正确播放动画)
我做错了什么?
编辑:这是我正在谈论的'动画'复选框:
答案 0 :(得分: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
要记住的另一件事是你的模型不应该在动画中在世界中转换。任何转换都需要由您的游戏行为来处理。
答案 1 :(得分:0)
我能够通过跟随this advice并将空游戏对象用作容器来解决它,将刚体/网格对撞机/脚本添加到容器游戏对象,然后将我的模型添加为那个游戏对象的孩子。这样,脚本中应用的转换将应用于容器,动画不再影响模型的移动!