Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.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
C# Unity3d:对象';我们互相经过吗?_C#_Unity3d_Geometry_Unity5_Unityscript - Fatal编程技术网

C# Unity3d:对象';我们互相经过吗?

C# Unity3d:对象';我们互相经过吗?,c#,unity3d,geometry,unity5,unityscript,C#,Unity3d,Geometry,Unity5,Unityscript,对象的(碰撞器)彼此通过?如何修复 好的,碰撞器不会阻止您在编辑器中重叠游戏对象。你只需要把迷宫的墙壁排成一行,这样它们就不会(视觉上)交叉,但是你可以重叠实际的碰撞器,这样迷宫中就没有洞了 如果确实不希望它们重叠,请在编辑器中更改碰撞器的位置或大小 您可以更改如图所示的中心和大小,使它们不会重叠。您的一个碰撞器可能勾选了IsTrigger复选框,这会导致球跳出。但我认为更可能的是刚体没有足够频繁地检查碰撞,所以当你快速旋转时,它会消失 改变 碰撞检测:离散 到 碰撞检测:连续(或动态)

对象的(碰撞器)彼此通过?如何修复


好的,碰撞器不会阻止您在编辑器中重叠游戏对象。你只需要把迷宫的墙壁排成一行,这样它们就不会(视觉上)交叉,但是你可以重叠实际的碰撞器,这样迷宫中就没有洞了

如果确实不希望它们重叠,请在编辑器中更改碰撞器的位置或大小


您可以更改如图所示的中心和大小,使它们不会重叠。

您的一个碰撞器可能勾选了IsTrigger复选框,这会导致球跳出。但我认为更可能的是刚体没有足够频繁地检查碰撞,所以当你快速旋转时,它会消失

改变

碰撞检测:离散

碰撞检测:连续(或动态)

在球体的刚体中

了解有关碰撞检测的更多信息:

  • 离散:对场景中的所有其他碰撞器使用离散碰撞检测。其他碰撞器在测试碰撞时将使用谨慎的碰撞检测。用于正常碰撞(这是默认值)
  • 连续:对动态碰撞器(带刚体)使用离散碰撞检测,对静态碰撞器(不带刚体)使用连续碰撞检测。设置为“连续动态”的刚体在测试与该刚体的碰撞时将使用连续碰撞检测。其他刚体将使用谨慎的碰撞检测。用于连续动态检测需要碰撞的对象。(这对物理性能有很大影响,如果您没有快速对象碰撞的问题,请将其设置为离散)
  • 连续动态:对设置为连续和连续动态碰撞的对象使用连续碰撞检测。它还将对静态网格碰撞器(无刚体)使用连续碰撞检测。对于所有其他碰撞器,它使用谨慎的碰撞检测。用于快速移动的对象

当你说collider时,你指的不是重叠的图像,是吗?由于两个物体具有相同的坐标,因此这只是z形格斗。我试图在平面上抛球(没有交叉点)。在某些情况下,球会飞过平面。好的,快速提问。你有飞机和箱子的组合来组成迷宫吗?即使有平面,也不应该使用网格碰撞器,使用长方体碰撞器并确保其具有一定的宽度。我尝试了不同的选项。对不起,我只是在钻研这个手语。您可以展示一个具有四面墙的示例,其中有一个对象可以快速旋转,并且没有任何东西掉出来对不起你的傲慢)我不知道你说的傲慢是什么意思,但我只想消除一些可能会解决你问题的东西。我以前遇到过物体通过平面的问题,我不再使用它们了。结合@Fredrik的建议和我的建议,你应该可以到达那里。1.连续动态2。没有飞机3。确保您使用的是固定更新功能4。确保盒子碰撞器足够宽。请看这里。我试图更改类型,但没有结果。我选中了触发器上的每个对象复选框-所有内容都是假的(((球体什么时候脱落?它总是在同一位置吗?它是在你快速旋转的时候脱落的吗?是的,只有快速旋转。它可以在任何地方脱落。如果有角,那么最常见的是在角上。而将碰撞检测改为“连续”并没有用。我建议你制造更宽的碰撞器……或者调整你的旋转代码。它是如何旋转的ting?你是在每帧使用力还是“传送”(设置位置)?因为如果你移动得快,它意味着每帧移动的像素会更多。如果它移动得足够快,它就会移动(传送)当你使用物理的时候,你应该用物理来移动物体,并在FixedUpdate中处理它我使用这个代码。正确吗?无效更新(){float h=Input.GetAxis(“垂直”);float v=Input.GetAxis(“水平”);transform.Rotate(新向量3(h,0f,v));}