【问题标题】:The unit of vector3.Distancevector3.Distance的单位
【发布时间】:2017-11-02 10:05:28
【问题描述】:

我是 Unity3d 的初学者,我正在尝试测量两个游戏对象(球体)之间的距离。为此,我首先做了一条线,然后使用 Vector3.Dstance() 测量了两个对象之间的距离。但是,我得到了 6.4 的结果,我不确定我测量的这个距离是否以米为单位,或者哪个单位具有我得到的结果(Vector3.Distance)。非常感谢您的帮助。

using UnityEngine;

public class Line : MonoBehaviour {

public GameObject gameObject1;
public GameObject gameObject2;

private LineRenderer line;

// Use this for initialization
void Start () {
    line = this.gameObject.GetComponent<LineRenderer>();
    line.startWidth = 0.05f;
    line.endWidth = 0.05f;
    //line.SetVertexCount(2);
}

// Update is called once per frame
void Update () {
    line.SetPosition(0, gameObject1.transform.position);
    line.SetPosition(1, gameObject2.transform.position);
    float distance = Vector3.Distance(gameObject1.transform.position, gameObject2.transform.position);
    Debug.Log(distance);

    //Debug.DrawLine(gameObject1.transform.position, gameObject2.transform.position, Color.red);

}

}

【问题讨论】:

  • 理论上,Unity 使用米和公斤作为主要单位,但我认为这仅在处理 CAD 对象而不是游戏时至关重要。您可以在现实生活中将 1 个 Unity 单位视为 1 米,但也可以......(在处理游戏时)您可以将其视为 1 厘米。

标签: c# unity3d


【解决方案1】:

这些是“游戏单位”。单位是您选择的任何单位,都是相对的。

如果你希望它们是 1 米,那么你制作的游戏内物体应该是 1 米等于 1 个游戏单位,而游戏内物体应该是 30 厘米,等于 0.3 个游戏单位。

【讨论】:

  • 请注意,物理引擎需要调整到相同的单位比例。否则重力会表现得很奇怪。
最近更新 更多