
Cubeを回転させているときに、ふと思ったんです…。これって、どこを中心に回っているんですか?

いいところに気づいたね!
GameObjectを移動・回転・拡大縮小するときには、「どこを基準にして操作しているのか」が大事になるよ
前回の記事では、Transform を使ってGameObjectの位置・向き・大きさを調整する方法を見てきました。
GameObjectは、Positionで位置を、Rotationで向きを、Scaleで大きさを変えられます。
では、そのときの基準点はどこにあるのでしょうか。
たとえば、ドアを回転させたいとき。
ドアは真ん中を中心に回るよりも、蝶番のある端を中心に回ってほしいですよね。
このように、GameObjectを扱うときは、どこを基準に動くのか、どこを中心に回るのか が大事になります。
この記事では、UnityでGameObjectを操作するときに出てくる「Pivot」について、初心者向けに整理していきます。
この記事を読むと、Pivotを意識して、GameObjectを思った位置に配置したり、自然な中心で回転させたりできるようになります。
Transformの操作には「基準点」がある
GameObjectをSceneビューで選択すると、移動・回転・拡大縮小のための操作ハンドルが表示されます。その位置が、GameObjectを操作するときの基準になります。
つまり、回転や拡大縮小では、この位置が操作の基準になります。移動するときも、この位置をつかんで動かすようなイメージです。

どこを基準にして操作するかによって、動き方や扱いやすさが変わります。
特にわかりやすいのが、回転です。
Cubeのような単純な形なら、真ん中を中心に回ってもあまり困りません。
でも、ドアのようなものは違います。
ドアを開閉するときは、ドアの真ん中ではなく、蝶番のある端を中心に回ってほしいはずです。

たしかに、ドアが真ん中を中心に回ったらヘンですね……

でしょ?だから、回転の中心がどこにあるかはとても大事なんだ💡
Pivotとは?
Pivotは、SceneビューでGameObjectを操作するときの基準点です。
Unityでは、GameObjectを選択したときに表示される操作ハンドルの位置が、このPivotに関係します。
たとえば、
- Move Toolで移動する
- Rotate Toolで回転する
- Scale Toolで大きさを変える
といった操作をするとき、どこを基準に操作するかが重要になります。
最初は、Pivotを次のように考えるとわかりやすいです。
Pivotは、SceneビューでGameObjectを操作するときの「つかむ場所」や「基準点」
Cubeなら、多くの場合、Cubeの中心あたりにPivotがあります。そのため、Cubeを回転させると、Cubeの中心を基準にくるっと回ります。

UnityのSceneビューでは、操作ハンドルの表示位置を Pivot と Center で切り替えることができます。通常は、この記事で説明しているように Pivot を基準に考えれば大丈夫です。
Centerに切り替えると、選択しているGameObjectの見た目の中心あたりに操作ハンドルが表示されます。そのため、Pivotの位置とは違う場所にハンドルが出ることがあります。

Sceneビューで操作ハンドルの位置が思った場所と違うときは、上部の表示がPivotではなくCenterになっていないか確認してみてください。
Pivotの位置はPrefabの使いやすさに関係する
Pivotの位置は、Prefabの使いやすさにも関係します。
たとえば、ドアで考えてみましょう。
ドアは、本来なら蝶番の位置を中心に回転して開閉します。
そのため、ドアのPivotが蝶番側にあると、回転させたときに自然に開きます。

一方で、ドアのPivotが真ん中にあると、ドアは中心を軸に回転してしまいます。
これでは実際のドアの動きと違って見えるため、扱いにくくなります。

ただし、Prefabを使う側がPivotの位置を簡単に変えられるとは限りません。
Pivotの位置は、そのPrefabや3Dモデルを作った側の設計に依存することが多いからです。

Pivotの位置が使い方に合っていないと、扱いにくいことがあるんですね…

なんとかする方法はあるよ!
次回説明する「親子関係」を使うと、別のGameObjectを回転の基準として使える場合があります。
たとえば、ドア本体のPivotが中央にあっても、蝶番の位置に親GameObjectを置き、その子としてドア本体を配置すれば、親GameObjectを回転させることで蝶番を中心に開くドアを作れます。
この記事ではまず、「思ったように回転しない原因のひとつに、Pivotの位置がある」とわかれば大丈夫です。
Pivotと似た言葉として、原点 という言葉が出てくることがあります。
3Dモデル制作では、モデルの基準位置を「原点」と呼ぶことがあります。
UnityでGameObjectを操作するときに意識する Pivot は、このモデル側の原点と関係していることがあります。ただし、初心者のうちは、細かい違いまで覚える必要はないと思います。
まずは、「UnityでGameObjectを操作するときは、Pivotが基準になる」と考えれば大丈夫です。
まとめ
今回は、UnityでGameObjectを操作するときの基準点である Pivot について見てきました。
GameObjectはTransformで位置・向き・大きさを変更できますが、その操作には「どこを基準にするか」が関係します。
Cubeのような単純な形なら、中心にPivotがあってもあまり困りません。
一方で、ドアのように回転して使うものは、Pivotの位置が重要になります。
まずは、GameObjectが思ったように回転しないとき、Pivotの位置が関係しているかもしれない、と気づければ大丈夫です。

Pivotの位置でGameObjectの使いやすさが変わるんですね💡

その通り!GameObjectは、ただ動かせばいいわけじゃなくて「どこを基準に動くか」も大事なんだ
次回は、Unityの 親子関係 について見ていきます。
Pivotを直接変えるのが難しい場合でも、親子関係を使うことで、回転の基準を作れることがあります。
ドアの開閉ギミックや、アバター小物の装着にもつながる大事な考え方です。




コメント