#Screen Space - Camara モードの時のUIのpositionの値がおかしい
画像のようにオブジェクトQuadを設置します。(Transform x:0 y:1 z:-5)
![]
その際にUIのTextに下記コードをアタッチし、オブジェクト上にUIを配置しようとしましたが、上手くいきません。
C#
1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4 5public class UIController_Camera : MonoBehaviour { 6 7 [SerializeField] 8 private RectTransform canvasRectTfm; 9 [SerializeField] 10 private Transform targetTfm; 11 12 private RectTransform myRectTfm; 13 //private Vector3 offset = new Vector3(0, 1.5f, 0); 14 15 void Start() { 16 myRectTfm = GetComponent<RectTransform>(); 17 Vector2 pos; 18 19 Vector2 screenPos = RectTransformUtility.WorldToScreenPoint(Camera.main, targetTfm.position); 20 21 RectTransformUtility.ScreenPointToLocalPointInRectangle(canvasRectTfm, screenPos, Camera.main, out pos); 22 23 myRectTfm.position = pos; 24 Debug.Log ("position" + myRectTfm.position); 25 26 } 27 28 void Update() { 29 } 30}
canvasRectTfmとtargetTfmにはそれぞれCanvasとQuadをアタッチしました。
プログラム実行時のUIのRectTransformの値がおかしくなってしまします。
しかし、実際にLogに表示してみると正しい値がでているように見えます。
原因が何か教えていただけないでしょうか。
参考にしたサイト
screenspacecameraの場合の部分

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/07/31 12:15