UI を作成している際に親の RectTransform の Rect を見つつ作業したいが
基本的には選択しているものしか範囲がわからないので UI を作りづらい
これの解決方法として、編集する RectTransform 選択時親の Rect を描画することにする
RectTransform の Rect を取得するには以下のコードで取得ができる
public Rect GetRect() { Vector2 size = rectTransform.rect.size; size.x *= rectTransform.lossyScale.x; size.y *= rectTransform.lossyScale.y; return new Rect { center = (Vector2) rectTransform.position - new Vector2( rectTransform.pivot.x * size.x, rectTransform.pivot.y * size.y ), size = size, }; }
これを Gizmo を使って描画すると以下のようになり、RectTransform の範囲と一致してることが確認できる
これを使って親の RectTransform を描画する拡張を作成する
ツール
このように、 選択したオブジェクトから 親 Canvas までの Rect を色を付けて表示できる
自分より親の Rect は緑色、自分以下の Rect は赤色で表示してある