Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.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_Game Development_Collider - Fatal编程技术网

Unity3d 在统一中检测碰撞?

Unity3d 在统一中检测碰撞?,unity3d,game-development,collider,Unity3d,Game Development,Collider,我正在Unity中制作一个游戏,希望检测两个移动物体之间的碰撞(其中一个物体由玩家使用触摸移动。出于测试原因,我目前正在编写鼠标控制的脚本)。但是,由于某种原因,当正在移动的游戏对象移动到需要在碰撞时触发事件的对象的碰撞器场时,不会发生任何事情。我向这两个对象添加了碰撞器,并根据需要向需要触发事件的对象的碰撞器添加了Is trigger,但它仍然不起作用。我首先尝试了应该触发事件的代码,但它不起作用,然后我只是尝试使用debug.log来查看问题是否与事件相关的代码有关我想被触发,但没有任何效果

我正在Unity中制作一个游戏,希望检测两个移动物体之间的碰撞(其中一个物体由玩家使用触摸移动。出于测试原因,我目前正在编写鼠标控制的脚本)。但是,由于某种原因,当正在移动的游戏对象移动到需要在碰撞时触发事件的对象的碰撞器场时,不会发生任何事情。我向这两个对象添加了碰撞器,并根据需要向需要触发事件的对象的碰撞器添加了Is trigger,但它仍然不起作用。我首先尝试了应该触发事件的代码,但它不起作用,然后我只是尝试使用debug.log来查看问题是否与事件相关的代码有关我想被触发,但没有任何效果。有人知道我如何解决这个问题吗

使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类冲突:单一行为
{
私有无效OnTiggerEnter2D(碰撞R2D其他)
{
Log(“检测到命中”);
}
}

您需要在这两个对象上放置刚体, 如果您的项目是:

  • 2D:“重力比例”为0(因此它们没有重力)
  • 3D:将复选框“使用重力”设置为false

这两个碰撞器都是XCollider2D吗?否则,您可能应该使用
OnTriggerEnter(Collider other)
来代替()@derHugo两个碰撞器都是圆形碰撞器2D's您有
刚体
连接到两个对象吗?不,它们没有,因为我实际上不希望我的对象受到重力或阻力的作用。我只希望它们能够移动你可以设置你的
刚体
,这样重力就不会影响它们,但是你需要一个来让你的碰撞器工作。从Unity文档:
注意:仅当其中一个碰撞器还连接了非运动学刚体时,才会发送碰撞事件。