【Unity】ゲーム制作メモ-GizmoDisplayToggleの動作について

Unity-GizmoDisplayToggle
上記画像の赤枠で囲ってある、「Center/Pivot」、「Local/Global」が切り替わるボタンの機能が初めて触った時に分からなかったのでメモ。

公式マニュアルだと以下に説明がある。
https://docs.unity3d.com/ja/current/Manual/PositioningGameObjects.html

名称は「Gizmo Display Toggle」で、Gizmo(以下ギズモ)という物の表示を切り替えるというのは名前から分かったが、そもそもギズモとは何で、「Gizmo Display Toggle」はどこに作用するのか。

ギズモはざっくりと言うと「モデルの情報を表示するもの」らしい。
シーンビュー右上に表示されている物もギズモで、ゲームワールドの向きをXYZで表す役割となっている。

今回のテーマである「Gizmo Display Toggle」は公式マニュアルには「トランスフォームギズモの位置を定義」と記載があり、「トランスフォームギズモ」はシーンビュー内でオブジェクトを変形させる際に出現するガイドの事(以前の投稿参照)なので、「Gizmo Display Toggle」が何に作用するかは分かった。

Center/Pivot

GizmoDisplayToggleの左側は「Center/Pivot」の切り替え。
オブジェクトの変形をオブジェクト自体の中心で行うか、ピボット(軸)中心に行うかの切り替え。
「Center」の拡大・縮小ギズモ表示
「Pivot」の拡大・縮小ギズモ表示
上記2枚の画像は、Center/Pivotそれぞれで拡大・縮小ギズモを表示したもの。
Center選択時はオブジェクトの中心にギズモが表示されているのに対し、Pivot選択時はこのオブジェクトの軸である角にギズモが表示されている。

上記では中心と軸が異なる位置となっているオブジェクトを使用したが、中心と軸が同じ位置となっているオブジェクトの場合はギズモの見た目に差は無い。

ただ中心と軸が同じでも、以下のような複数オブジェクトに対する挙動は異なる。
Center」で複数オブジェクトを回転
「Pivot」で複数オブジェクト回転
上記2枚の画像は、複数オブジェクト(3つのキューブ)に対しCenter/PivotそれぞれでY軸を45度ほど回転させてみた例。
一目瞭然だが、Centerでの回転時は全オブジェクトの中心を軸に回転しているのに対して、Pivotでの回転時は各オブジェクトがそれぞれの軸で回転している。

Local/Global

 GizmoDisplayToggleの左側は「Local/Globalの切り替え。
「Local」の拡大・縮小ギズモ表示
「Global」の拡大・縮小ギズモ表示
上記2枚の画像は、Y軸を135度回転させたオブジェクトに対してLocal/Globalそれぞれで拡大・縮小ギズモを表示したもの。
Local表示の場合はオブジェクトの向きでギズモが表示されているためシーンビュー右上のギズモとは向きが異なっている。
Global表示の場合はオブジェクトの向きが無視され、ゲーム上の空間(ワールド空間)に固定されたギズモが表示されており、シーンビュー右上のギズモと向きが一致する。