如何确定某些东西是否会与Unity中的某些东西发生碰撞(2D)

时间:2014-11-25 02:52:22

标签: c# unity3d unity3d-2dtools

我正在尝试在Unity制作一个2D游戏,我很好奇是否有办法检查两个物体之间是否会发生碰撞,而不是告诉我它们实际碰撞的时间。

例如 - 我正在制作太空入侵者游戏,我想检查边缘上的任何一个空间入侵者是否会在实际移动到C#脚本之前与边缘碰撞。我在Game Maker Studio中编码,我记得该功能可用,但我很难发现它是否可以在Unity中使用。这在Unity中是否可行?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

是的可能,你必须按照游戏对象移动的方向进行某种光线投射,你可以查看This Link for Physics.Raycast以了解如何去做你喜欢的事情

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        Vector3 fwd = transform.TransformDirection(Vector3.forward);
        if (Physics.Raycast(transform.position, fwd, 10))
            print("There is something in front of the object!");

    }
}