facebook twitter hatena line email

Unity/3d/2dから3dの座標変換

提供: 初心者エンジニアの簡易メモ
2021年2月24日 (水) 12:11時点におけるAdmin (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            Vector3 screenPoint = Input.mousePosition;
            GameObject canvas = GameObject.Find("Canvas");
            Camera camera = GameObject.Find("Main Camera").GetComponent<Camera>();
            RectTransform canvasRect = canvas.GetComponent<RectTransform>();
            Vector3 worldPoint = Vector3.zero;
            RectTransformUtility.ScreenPointToWorldPointInRectangle(canvasRect, screenPoint, camera, out worldPoint);
            Debug.Log("worldPoint.x=" + worldPoint.x + " y=" + worldPoint.y);
            GameObject.Find("Whale2").transform.position = new Vector3(
                worldPoint.x,
                worldPoint.y,
                0);
        }
    }

参考:https://light11.hatenadiary.com/entry/2019/04/16/003642