我正在尝试在Unity制作一个2D游戏,我很好奇是否有办法检查两个物体之间是否会发生碰撞,而不是告诉我它们实际碰撞的时间。
例如 - 我正在制作太空入侵者游戏,我想检查边缘上的任何一个空间入侵者是否会在实际移动到C#脚本之前与边缘碰撞。我在Game Maker Studio中编码,我记得该功能可用,但我很难发现它是否可以在Unity中使用。这在Unity中是否可行?
感谢您的帮助。
答案 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!");
}
}