Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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_Mesh Collider - Fatal编程技术网

Unity3D碰撞器通过其他碰撞器

Unity3D碰撞器通过其他碰撞器,unity3d,mesh-collider,Unity3d,Mesh Collider,问题:某些刚体对象上的网格碰撞器正在通过其他对象上的碰撞器 我尝试过的事情: 假设A是一个带有刚体的游戏对象,B是带有碰撞器的正常游戏对象 给出一个凸网格碰撞器 给出一个非凸网格碰撞器 给B一个凸网格碰撞器 给B一个非凸网格碰撞器 给B一个盒子对撞机 给B一个凸网格和长方体碰撞器 给B一个非凸网格和长方体碰撞器 调整刚体的重量 我已经在A和B的所有组合中尝试了所有这些 另外, 碰撞器未标记为触发器 所有对象都位于默认图层(0)上 检查运动学;这样做似乎使重力停止影响物体,所以我认为它是错误

问题:某些刚体对象上的网格碰撞器正在通过其他对象上的碰撞器

我尝试过的事情:

假设A是一个带有
刚体的
游戏对象
,B是带有碰撞器的正常
游戏对象

  • 给出一个凸网格碰撞器
  • 给出一个非凸网格碰撞器
  • 给B一个凸网格碰撞器
  • 给B一个非凸网格碰撞器
  • 给B一个盒子对撞机
  • 给B一个凸网格和长方体碰撞器
  • 给B一个非凸网格和长方体碰撞器
  • 调整刚体的重量
我已经在A和B的所有组合中尝试了所有这些

另外,

  • 碰撞器未标记为触发器
  • 所有对象都位于默认图层(0)上
  • 检查运动学;这样做似乎使重力停止影响物体,所以我认为它是错误的
约束:我希望使用网格碰撞器,因为所涉及的大多数对象都比较复杂,而将其他碰撞器装配到它们需要一些时间

奇怪的行为:我有一些同时使用刚体和凸面网格碰撞器的对象,其中碰撞可以与非凸面网格碰撞器一起正常工作。这与其他游戏对象不一致。这些对象具有所有相同的设置

如果相关,我使用的是unity版本2019.3.11f1


正在使用的对象来自。具体来说,抽屉上有刚体的文件柜可以正常工作。桌子、办公椅、笔和打开的笔记本电脑都会掉到“地板”(一个立方体,上面测试了所有的碰撞器)。

你有没有对通过其他碰撞器的刚体对象进行“IsKinetic”检查?如果是,请取消选中它,以便外力影响它


编辑如果网格碰撞器与其他网格碰撞器碰撞,还需要单击网格碰撞器上的“凸面”,凸面网格碰撞器限制为255个三角形,未通过的对象在几何体中是否有超过255个三角形?

我假设您在游戏对象的
刚体中已将碰撞检测设置为
离散
,如果是,请确保在游戏对象的
刚体中选择
碰撞检测
连续

这不起作用的原因

  • 您正在尝试使用具有(速度>计算机的帧速)的碰撞,因此,帧未正确捕捉碰撞器—有些时间捕捉,有些时间捕捉失败

  • 您正在使用tranform.translate或position等移动游戏对象。如果是这样,请确保使用与刚体相关的
    功能进行定位、旋转


  • 我将更新我的答案。我没有检查。当我试着检查它时,重力似乎停止了对物体的影响。你希望它不被选中吗?对不起,如果不清楚,它就没有被选中。你能在通过的物体上粘贴你的组件的屏幕截图吗?我只是设法让它工作。我在传送区的顶部添加了一架带有网格碰撞器的飞机。看来SteamVR TeleportArea脚本干扰了对撞机。然后,我给所有对象与刚体凸网格碰撞