- 【3Dゲームエンジン】Unity総合スレッド29 [無断転載禁止]©2ch.net
875 :名前は開発中のものです。[]:2017/03/21(火) 11:33:59.89 ID:11T+PUQP - uGUIで作ったボタンをタッチした座標に移動する処理をしたいです。
canvasのRenderModeを「Screnn Space Cemera」にしているのですが、 RectTransformのZ座標に-7000とか数字が入ってしまって。 参考サイトをいくつかみて、変換の方法試してみてるのですが上手くいかなくて。 どなたか原因わからないでしょうか。 Vector3 nowPos = rectTransform.position; Vector3 inputPos = Camera.main.ScreenToWorldPoint (Input.mousePosition + Camera.main.transform.forward * 10); Vector3 targetPos = Vector3.zero; targetPos = new Vector3(inputPos.x, inputPos.y, 0); rectTransform.position = targetPos;
| - 【3Dゲームエンジン】Unity総合スレッド29 [無断転載禁止]©2ch.net
878 :名前は開発中のものです。[]:2017/03/21(火) 12:30:34.11 ID:11T+PUQP - アドバイスありがとうございます!
こんなにも早く参考意見頂けるとは・・・。 nowPosはすみませんでした。関係ないソースになります。 void Update() { transform.position = Camera.main.ScreenToViewportPoint(Input.mousePosition); } だと「Screen Space Cemera」が原因でずれた位置になってしまいます。 2Dオンリーで試しているのですが、移動するとZ軸に-7007.437という数値が入ってしまいます。 X,Y座標ともにタッチした位置にあっているのですが、ここの数値が気持ち悪くて・・・。
|
|