Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3D中的碰撞事件_Unity3d_Collision Detection_Rigid Bodies - Fatal编程技术网

Unity3D中的碰撞事件

Unity3D中的碰撞事件,unity3d,collision-detection,rigid-bodies,Unity3d,Collision Detection,Rigid Bodies,我注意到,当两个具有碰撞R2D组件的对象接触时,OnCollisionInter2D不会触发。它只在其中一个有刚体连接时触发。这对我来说似乎很奇怪,因为Unity编辑器本身说,用一个静态碰撞器代替一个不移动的刚体对于性能来说要好得多。那么为什么Unity不允许两个带有静态碰撞器的游戏对象在接触时触发碰撞事件呢?当然,静态碰撞器的性能更高,但正如单词所示:它们是静态的 运动需要物理计算,因此需要一个刚体(包含速度等信息)。这实际上在这里的正常碰撞文档中有说明当然,这就是PhysX引擎的整个点!忘了

我注意到,当两个具有碰撞R2D组件的对象接触时,OnCollisionInter2D不会触发。它只在其中一个有刚体连接时触发。这对我来说似乎很奇怪,因为Unity编辑器本身说,用一个静态碰撞器代替一个不移动的刚体对于性能来说要好得多。那么为什么Unity不允许两个带有静态碰撞器的游戏对象在接触时触发碰撞事件呢?

当然,静态碰撞器的性能更高,但正如单词所示:它们是静态的
运动需要物理计算,因此需要一个刚体(包含速度等信息)。这实际上在这里的正常碰撞文档中有说明

当然,这就是PhysX引擎的整个点!忘了“静态”对撞机吧,你很少在普通游戏中使用它们。你用刚体做游戏。他们可以从Unity中删除“静态”功能,它只有一些模糊的用途,对99%的游戏几乎没有影响。算了吧。