Vectrosity を使用して、3DGameObject
とUI
要素の間に線を引きます。ただし、RectTransform
位置データを drawline 関数に渡すことができるように変換するのに苦労しています。
私は目的のUI
要素の RectTransform 位置を取得し、それらの間に線を引こうと試みてきました。ただし、これは機能しません。シーンで通常の 3D オブジェクトを使用するようにコードを変更すると、意図したとおりに線が表示されます。これは私が現在遊んでいるコードです:
void Start ()
{
// points[0] = image.rectTransform.transform.position;
// points[1] = image2.rectTransform.transform.position;
points[0] = obj1.transform.position;
points[1] = obj2.transform.position;
line = new VectorLine("Line", points, mat, 2.0f, LineType.Continuous);
VectorLine.canvas.sortingOrder = 1;
VectorLine.SetCanvasCamera(Camera.main);
}
// Update is called once per frame
void Update () {
line.Draw();
}
コメントアウトされた最初の行は、2 つのUI
オブジェクトの位置を正しく取得しますが、画面には何も表示されません。コメントアウトされていないアウトラインは正常に機能します。ここで私が間違っていることはありますか?
上記はすべて 3D シーンで行われます。3D オブジェクトの周りでカメラの軌道、回転、ズームを行いますが、線が一貫していることを望みます