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で表示していないオブジェクトでも使用できません。