如何防止运动学对象不通过另一个刚体对象

问题描述 投票:0回答:2

ri我正在开发类似oculus Home的项目,其中我遇到的问题是物体穿过墙壁和其他物体。场景描述为:Ialt文本具有一个具有Box Collider和Rigidbody的对象(重力虚假,运动学上正确)墙壁和地板以及Box Collider和Rigidbody(重力虚假,运动学上的虚假)我正在用手移动对象。使用指尖笔将物体远近平移,问题是当我将物体移远时,物体会穿过墙壁和地板。如您在下图中所看到的,物体从墙壁和地板中穿过。请帮助我,并提出更好的解决方案。预先感谢。

unity3d oculus collider
2个回答
0
投票

运动学对象的想法是与物理学的交互不会改变其变换,因此它们将通过其他静态或运动学对象。要进行更改,您不能使用Kinematic rb,也不能手动检测碰撞并调整碰撞结果


0
投票

我认为您已将对撞机的Is Trigger之一设置为true。

如果对象上的碰撞器的Is Trigger属性设置为true,则该碰撞器将通过其他碰撞器,但如果不是触发器,则它将始终与其他非触发碰撞器碰撞。因此,只要您有两个非触发对撞机,它们就始终会碰撞,而与刚体无关,并且如果需要将Is Trigger属性设置为true,则有一种解决方法,您可以在单个对象上使用两种类型的对撞机触发器和另一个非触发器(最好是网格碰撞器)(因此触发器碰撞器将有被触发的空间)。

© www.soinside.com 2019 - 2024. All rights reserved.