允许对象通过对象,同时在Unity3D中检测碰撞
本文关键字:对象 Unity3D 碰撞 检测 许对象 | 更新日期: 2023-09-27 18:00:20
我试图让球通过一个空对象,但也向调试窗口发回一条消息。但我不知道如何做到这一点,也不知道从哪里开始,所以如果能在这方面提供任何帮助,我将不胜感激。很抱歉,我没有代码可以作为示例显示,但是我已经能够进行碰撞检测,或者允许对象一次通过一个空对象,但决不能同时通过这两个对象。我使用过OnTriggerEnter
和OnCollionEnter
。
在空对象上放置一个Collider
(例如SphereCollider
),并将其Is Trigger
设置为true
。现在,您可以按预期在脚本中使用OnTriggerEnter
(附加到空对象)。
public class MyBehaviour : MonoBehaviour
{
private void OnTriggerEnter(Collider other)
{
var collider = other.gameObject;
// Do something...
Debug.Log(collider);
}
}
您希望使GameObject的碰撞器成为编辑器上的触发器。转到编辑器,在你的游戏对象中添加一个碰撞器,然后使其成为触发器。
C#代码
void OnTriggerEnter(Collider other)
{
Debug.Log("I hit something: " + other.gameObject);
}
Javascript
function OnTriggerEnter (other : Collider)
{
Debug.Log("Hey I hit you: " + other.gameObject);
}