2013-02-06 164 views
1

我是新来的团结。我有两个动画的.fbx格式。他们可以移动..现在我想当两个将相互碰撞一个声音会产生。是否有任何想法我将如何做到这一点。预先感谢如何在Unity中碰撞.fbx动画

回答

2

我认为你需要阅读物理学如何工作,然后了解如何处理触发事件和分离检测。

阅读this这里,和this。第一个让你了解Unity引擎如何工作。后者提供了关于如何进行碰撞检测的视频教程。

如果你不想这样做,只是想代码,我发现this一个快速谷歌:

var crashSound : AudioClip; // set this to your sound in the inspector function 
OnCollisionEnter (collision : Collision) {  
    // next line requires an AudioSource component on this gameobject5.  
    audio.PlayOneShot(crashSound); 
} 
+0

感谢您的回复。事实上,我可以将物理应用于简单物体,就像cube.But现在我想应用物理动画这是我的fbx文件..我无法做到这一点...我已添加网格对撞机,刚体重力与我的fbx文件。我有一个地形下面有地形对撞机,但是当我按下播放按钮时,我的角色会穿过地形并坠落下来..我不知道这是怎么回事......我已经阅读了所有发送的链接... –

+0

我发现了这个,也许它是相关的? http://answers.unity3d.com/questions/47095/mesh-colliders-not-working-on-fbx-imported-buildin.html – Joetjah

+0

你将不得不使用对撞机,最常见的是胶囊,因为你不能动画碰撞器使网状碰撞器在动画对象上不能很好地工作。你说你有一个箱子可以工作,它有相同的概念。 – Shredder2500

0

您可以将MeshCollider添加到FBX网格。无论如何,这不是一个好主意,因为这会导致性能问题。

您可以为每个角色创建一个空的gameobject,并添加到它们:fbx动画和一个简单的对撞机(某些立方体,球体,胶囊等)。然后,当你使用它们的脚本时,你将它附加到父对象上,然后从那里处理整个事情。

如果您希望碰撞器从动画的特定位置移动(如拳击运动或踢球),那么您可以要求3D动画师/建模师在该点上添加一个简单的网格。例如,一个拳头上的球体,将与动画一起移动。然后,在Unity中,您将隐藏球体的网格,但添加一个网格物体碰撞体。 :)

希望它有帮助!

0

大多数情况下,如果您将动画应用到对象上,那么您将失去物理反应。不要相信我?看到这里:http://www.youtube.com/watch?v=oINKQUJZc1Q

很明显,动画不是Unity物理的一部分。想一想......统一物理学根据牛顿和朋友的法律来决定物体的位置和旋转。你认为这些法则如何符合关键帧任意动画?他们不能:因此,当你尝试时你会得到疯狂的结果。

如何解决?使用Unity物理也可用于动画:学会掌握rigidbody.AddForce以及所有其他描述here的内容。

您可能总是希望将物理和动画分开。 That's how you get out of trouble

如果你真的想知道:这是我的个人经验,关于如何调解与动画物理。

有时,即使结合简单的参数到物理和另一 到的动画(或介导用户输入的脚本)可能导致 灾难性后果。我做了一个星体:由 用户鼠标(通过标记“块刚体旋转”),方向和物理速度为 旋转控制器。它在一个箱子对撞机里面。想象一下,如果一个以几度角度定向的立方体遇到平坦的地面会发生什么 :它应该掉落并旋转,直到其中一个面完全落在地面上。这是不可能的,因为我阻止了与身体的旋转的任何物理交互:因此,该框想要在地面上变得平坦,但是不能。这种紧张最终使得它永远向前发展:在现实世界中不可能发生的事情。为了调解这个错误, 我已经根据用户输入根据 动态改变了“块旋转”参数:当船正在移动时,旋转由用户控制,但是一旦用户停止控制船, 旋转参数被返回给物理引擎。另一个解决方案是在对撞机上投下一道光线,检查地面是否接近,并避免船只不在移动时发生碰撞(我认为这就是Halo Combat Evolved中女妖的控制方式)。当玩电子游戏时,总是看看你的用户输入是如何被调入物理引擎的:你可以发现一般玩家通常不会注意到的东西。

+0

顺便说一句,也可能有其他原因,一个非工作对撞机。当期待你的动画对象相应于物理行为时,这只是需要记住的一点。 – Saturnix

+0

尝试[animatePhysics](http://docs.unity3d.com/Documentation/ScriptReference/Animation-animatePhysics.html)。如果动画角色速度不是很高,我从来没有遇到动画角色的问题。 – Kay