对象没有与边界碰撞

时间:2015-11-28 09:49:12

标签: c# unity3d

我被困在这个球体上有一个BoxCollider2D而矩形有一个BoxCollider我增加了 $scope.clearFilters = function() { $scope.data.id = false; $scope.data.name = ""; }; 的偏移量。但是为什么球体不会从它的边界碰撞。球体进入内部,然后就像这样碰撞。
enter image description here

我希望当球体碰到它的边界时它会发生碰撞。我也会检查默认半径但是会出现相同的情况。

1 个答案:

答案 0 :(得分:1)

<强>触发

脚本系统可以检测何时发生冲突并使用OnCollisionEnter函数启动操作。但是,您也可以使用物理引擎来检测一个碰撞器何时进入另一个碰撞器的空间而不会产生碰撞。配置为触发器的对撞机(使用Is Trigger属性)不会表现为实体对象,只会允许其他对撞机通过。当对撞机进入其空间时,触发器将调用触发器对象脚本上的OnTriggerEnter函数。 http://docs.unity3d.com/Manual/CollidersOverview.html

您需要关闭isTrigger并使用OnCollisionEnter(...)。

例如,这是我的木头剧本(见下文)。较小的木材将会下降。 enter image description here

这是我游戏的开始 enter image description here

如果我将isTrigger选项设置为true,则onCollisionEnter2D函数不起作用。我需要isTriggerEnter()方法。它穿过我的木材层。 enter image description here

但是如果我设置isTrigger false onCollisionEnter2D将会正常工作。它将留在我的木材层。 enter image description here