我是 Unity 新手,当我创建界面时,我试图找出两个游戏对象之间的距离。我知道如何在 C#/javascript 脚本中执行操作,但是我很难在场景视图中找到此信息。在移动物体时我可以按任何键来查看与其邻居的距离吗?
在脚本中,您可以使用Vector3.矢量3 之间的距离来获取两点之间的距离。每个游戏对象都有一个用 Vector3 表示的位置。
下面是一个脚本示例,向您展示了它是如何工作的。您只需将脚本拖到场景中的游戏对象上,然后将场景中的另一个游戏对象拖到检查器中即可。即使您没有处于播放模式,该脚本也应该运行,因为 [ExecuteInEditMode]。这样您将看到实时更新的距离,而无需实际点击播放。
using UnityEngine;
[ExecuteInEditMode]
public class DistanceBetweenTwoObjects : MonoBehaviour
{
public GameObject obj;
public float distanceBetweenObjects;
private void Update()
{
distanceBetweenObjects = Vector3.Distance(transform.position, obj.transform.position);
Debug.DrawLine(transform.position, obj.transform.position, Color.green);
}
private void OnDrawGizmos()
{
GUI.color = Color.black;
Handles.Label(transform.position - (transform.position -
obj.transform.position)/2, distanceBetweenObjects.ToString());
}
}
Run Code Online (Sandbox Code Playgroud)
OnDrawGizmos 方法将在显示距离值的 2 个对象之间绘制文本,以帮助使其更加用户友好。