Pivot操作


投稿日:2020年8月21日 | 最終更新日:2024年5月13日

回転や拡大の中心となるPivotを設定します。

リファレンス

Command 説明 Arg1 Arg2 Arg3 Arg4 Arg5 Arg6
SetPivot Pivotを設定 Pivotを設定するオブジェクト名 PivotのX値。
0~1.0fを設定
Left,Center,Rightのキーワードでも可
PivotのY値。
0~1.0fを設定
Bottom,Center,Topのキーワードでも可
ピボット値をずらすX値
空欄の場合0
ピボット値をずらすY値
空欄の場合0
ピボットタイプ(下記参照)
ResetPivot Pivotを初期値に戻す 対象のオブジェクト名


サンプル

ピボットタイプ

Arg6にタイプを設定することで動作が変わります。
空欄の場合は、SpritePosとなります。

名前 説明
SpritePos Arg4,5で指定した値ぶんだけ2D座標としてピボット点をずらします。
Arg4=100,Arg5=50なら、2D座標で右に100、上に50ユニットずれます。
ずれる値はレイヤーやTweenのスケール値の影響を受けます。
SpritePosLocal Arg4,5で指定した値に
Textureシートなどで設定したスケール値をかけてピボット点をずらします。
元の画像サイズに応じた値を使う際に
SpritePosNoSize Arg4,5で指定した値に
レイヤーやTweenでのスケール値を無視してピボット点をずらします。
つまりエフェクト効果によらず、常に指定した値のぶんピボット点がずれます
WorldSpace 画面全体(宴の描画領域)を基準に、ピボット点を指定します。
Left,Topなら画面左上がピボット点になります。
Direct ピボット値を直接指定します。
Unityのインスペクター上で表示される値そのままです。
Arg4,5は無視されます。

注意点

Pivotを変更しても、見た目の位置は変わらないですが、実際のx、y座標は変わってしまうので注意してください
Pivotは回転やスケールの中心だけではなく配置にも使われるというUnityの仕様のためです。
エディタ上でuGUIのPivot値を編集すると、見た目の場所が変わらなくても座標が代わるのと同じ理由です。
SetPivotコマンドでも、見た目の位置を変化させないように、座標に補正をかけています。
つまり、SetPivotを実行した後だと、位置を直接指定するようなエフェクトは制御がほぼ不可能になります。
AnimationコマンドやTweenのMoveToやMoveFromでは問題が起きるでしょう。
またテクスチャ書き込みを使わない3Dオブジェクトなど、uGUIで表示していないオブジェクトでも使用できません。