0

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

例如 - 我正在制作一个 Space Invaders 游戏,我想在 C# 脚本中实际移动之前检查边缘上的任何一个 Space Invaders 是否会与边缘发生碰撞。我在 Game Maker Studio 中编码,我记得该功能可用,但我很难确定它在 Unity 中是否可行。这在 Unity 中可行吗?

谢谢您的帮助。

4

1 回答 1

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!");

    }
}
于 2014-11-25T04:03:57.017 回答