2017-11-02 5 views
0

私はUnity3dの初心者です。私は2つのゲームオブジェクト(球)の間の距離を測定しようとしています。このために、私は最初に線を引いた後、Vector3.Dstance()を使って2つのオブジェクト間の距離を測定しました。しかし、私は結果6.4を得て、私が測定した距離がメートルであるのか、それとも私が得た結果(Vector3.Distance)がどれくらいか分かりません。私はあなたの助けに感謝します。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); 

} 

}

+0

理論上、Unityはメートルとキログラムを主な単位として使用していますが、私はそれはゲームではなくCADオブジェクトを扱うときにのみ重要だと思います。あなたは実生活で1ユニティユニットを1メートルとして扱いますが、(ゲームを扱うときは)扱うことができるのは1センチメートルです。 –

答えて

4

これらの "ゲーム・ユニット" です。ユニットは、あなたがそれらを選ぶものであれば、それはすべて相対的なものです。

1メートルにしたい場合は、1ゲーム単位に等しいゲーム内オブジェクトと、0.3ゲーム単位に等しい30cmであるゲーム内オブジェクトを作成します。

+0

物理エンジンを同じ単位スケールに調整する必要があることに注意してください。そうでなければ、重力は奇妙に振る舞います。 – Draco18s