↔️
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.min
is 自分のローカル座標系での左下隅の座標 -
rect.max
is 自分のローカル座標系での右上隅の座標 -
rect.size
is 自分のサイズ
座標の数値は自分の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