Cubeをラインのように描画するようにした。
まずCubeを細長くするためにXとZのスケールを極端に小さくし、Yのスケールを線分の長さとする。
始点から終点へ向くようにCubeを回転させる。向きはQuaternion.FromToRotation()を使って求めた。
回転位置はオブジェクトの中心となっているので、両端が始点、終点となるように線分の半分の長さだけ移動させる。
これでCubeをラインのように描画できた。
Vector3 start; // 始点 Vector3 end; // 終点 GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); cube.GetComponent<Collider>().enabled = false; // コリジョン無効 float distance = Vector3.Distance(start, end); // 線分長さ cube.transform.localScale = new Vector3(0.01f, distance, 0.01f); cube.transform.position = start; Vector3 dir = (end - start).normalized; // 始点から終点への向き cube.transform.rotation = Quaternion.FromToRotation(Vector3.up, dir); cube.transform.position += dir * distance/2.0f;