↔️
RectTransformの各プロパティis何?まとめ
無限スクロール的な処理を作っているときに、
RectTransformの各プロパティがそれぞれ何を表していて、どのような値になっているのか意外と詳しく把握できていなかったので調査した結果を記事にまとめておきます。
localPosition
| is何? |
|---|
親のpivot座標と自分のpivot座標の 相対距離
|
pivot座標とはエディタに◎で表示されるアレです
つまりlocalPositionをzeroにすると親の◎と自分の◎が重なります

コレ
anchorMin / anchorMax
| is何? |
|---|
親の領域のどの部分を基準とするか |
エディタにバッテンで表示される領域そのものです

コレ
基準の設定なので、コレ単体で語ることはできません
anchoredPositionやsizeDeltaに関わるので、それぞれご確認ください
anchoredPosition
| is何? |
|---|
親の基準とする座標と自分のpivot座標の相対距離
|
親の基準とする座標とは自身のanchorMinとanchorMaxの中心を親領域に適用したもので、
エディタに表示されるバッテン表示のアレの中心です
つまりバッテン表示のアレの中心 + anchoredPosition == 自分のpivot座標 ということです

言い換えるとanchoredPositionをzeroにすると、◎とバッテンの中央が一致します
sizeDelta
| is何? |
|---|
親の基準領域のサイズと自分のサイズの 相対サイズ
|
親の基準領域とは自身のanchorMinとanchorMaxを親領域に適用したもので、
エディタに表示されるバッテン表示の領域そのものです
つまりバッテン領域のサイズからみた自分のサイズの差分ということです
rect
| is何? |
|---|
| 自分のローカル座標系での領域 |
-
rect.minis 自分のローカル座標系での左下隅の座標 -
rect.maxis 自分のローカル座標系での右上隅の座標 -
rect.sizeis 自分のサイズ
座標の数値は自分のpivot座標(=localPosition)からの相対位置です
その他、関連する便利関数など
プロパティではないですが、ついでにRectTransformをプログラムで整列処理するときに手助けとなった関数も紹介しておきます!
RectTransform.GetLocalCorners
| is何? |
|---|
| 自分のローカル座標系での四隅の座標が取得可能 |
rectと同じく座標の数値は自分のpivot座標(=localPosition)からの相対位置です
また、「左下 / 左上 / 右上 / 右下」の順序で配列に格納されます
Rect.NormalizedToPoint
| is何? |
|---|
| 正規化座標を元に領域内の座標を取得する |
- new Vector2(0, 0) を渡すと 左下 の座標
- new Vector2(1, 1) を渡すと 右上 の座標
- new Vector2(0.5f, 0.5f) を渡すと 中心 の座標
Text.GetTextAnchorPivot
| is何? |
|---|
| TextAnchor を 正規化座標に変換する |
以下、対応表です
| TextAnchor | 戻り値 |
|---|---|
| UpperLeft | (0, 1) |
| UpperCenter | (0.5, 1) |
| UpperRight | (1, 1) |
| MiddleLeft | (0, 0.5) |
| MiddleCenter | (0.5, 0.5) |
| MiddleRight | (1, 0.5) |
| LowerLeft | (0, 0) |
| LowerCenter | (0.5, 0) |
| LowerRight | (1, 0) |
Discussion