在Unity中检测碰撞?

时间:2019-02-20 16:54:32

标签: unity3d game-development collider

我正在Unity中制作一个游戏,希望检测两个运动对象之间的碰撞(其中一个是由玩家使用触摸移动的。出于测试原因,我目前正在编写鼠标控件的脚本)。但是由于某种原因,当正在移动的游戏对象移动到与该对象碰撞时需要触发事件的对象的collider字段中时,什么也不会发生。我向两个对象都添加了对撞机,并向需要触发事件的对象的对撞机添加了Is触发器,但仍然无法正常工作。我尝试使用应该首先触发事件的代码对其进行了尝试无效,然后我只是尝试使用debug.log来查看问题是否出在与我要触发的事件相关的代码上,但没有任何效果。有谁知道我怎么解决这个问题?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Collision : MonoBehaviour
{
    private void OnTriggerEnter2D(Collider2D other)
    {
        Debug.Log("Hit Detected");
    }
}

1 个答案:

答案 0 :(得分:2)

您需要在2个对象上放置一个Rigibody, 如果您的项目是:

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