【技術共有】Unity4.6で追加されたRectTransformの基本

こんにちは、開発ブログです。

今回の技術共有は、Unity4.6で追加されたRectTransformについて
ご紹介します。

RectTransformとは、Unity4.6で新しく追加されたUIの
表示位置や大きさを調整するものです。
簡単に言えば、従来のオブジェクトのTransformをUI向けに
変えたものになります。

RectTransformを使う際は大きく以下の4つを設定します。

・Anchors
 →親オブジェクトから相対的に見た、子オブジェクトの基準座標

・Pivot
 →位置や回転の基準点

・Rotation
 →各軸に対する回転の度合い

・Scale
 →各軸方向の大きさ(倍率)

RotationやScaleについては馴染みがありますが、AnchorsやPivotは
従来のTransformで設定する項目にはありませんでした。
この2つについて、詳しく見てみましょう。
 
 
【Anchors】
Anchorsでは、親オブジェクトから見て、子オブジェクトの基準となる
座標を設定します。
この値によって、表示領域の指定方法が変わります。

文章にするとイメージしにくいですが、多くの場合は標準で用意された
プリセットを使うと思いますので、具体例を見てみましょう。

(A)Stretch
Stretchでは、表示領域を親オブジェクトの端からの距離で指定します。
そのため、RectTransformの位置指定はTop、Bottom、Left、Rightを
指定します。

表示物のサイズは、上記4つの値に合うよう自動で計算されます。

AnchorsをStretchに設定

AnchorsをStretchに設定

(B)Stretch以外
Stretch以外の場合は、表示位置と表示サイズで指定します。
そのため、RectTransformはPosX、PosY、Width、Heightを
指定します。

従来のTransformによる、PositionとScaleを設定する方法と
似ています。

AnchorsにStretch以外を設定

AnchorsにStretch以外を設定

今回は縦方向、横方向共にStretchかStretch以外かで紹介しましたが、
実際には縦方向にStretch、横方向にStretch以外というように別々の
設定を適用することも可能です。
 
 
【Pivot】
Pivotには、回転や位置指定の基準を指定します。
表示物の左下が(0,  0)、右上が(1,  1)になります。

下図では、Pivotに(0.5,  1.0)が指定されているため、回転や位置指定の
基準点が上端の中央となります。

Pivotの設定

Pivotの設定


従来のTransformでは、位置とサイズしか調整できませんでしたが、
Unityの新UI機能に適用されたRectTransformでは、Anchorsや
Pivotにより柔軟な設定ができるようになりました。

これからUIを実装する方は、一度Unityの新しいUI機能に触れてみては
いかがでしょうか。

以上、技術共有でした。

This entry was posted in 技術共有. Bookmark the permalink.