[Blender] Global coordinatesとLocal coordinates

軸について考える。
「オブジェクトをX軸に沿って移動させる」という操作を考えたとき、そもそもX軸は何に対してX方向なのか?というところを理解していないと、正しくオブジェクトを操作できない。
今回は、軸の基本となるGlobal coordinatesとLocal coordinatesについてメモる。

平面で考える

画像はMesh → Planeで生成した平面を、Y軸を起点に45度傾けた状態である。この平面を動かしながら、軸について考えてみる。

Global coordinates

直感的に分かるかもしれないが、Global coordinatesはBlenderの世界の中の軸である。
ためしに:
  1. オブジェクトを選択
  2. Gを押す
  3. Xを押す
  4. マウスを動かしてみる
すると、画面に表示されているグリッドのX軸に沿っているような形で、オブジェクトが動く。
なんとなく、オブジェクトの裏に表示されているグリッドに沿っているのが分かるだろうか。
動かしているときに画面の左上を見てみると、 "along global X" と出ているのがわかる。これはGlobal coordinatesに基づき、オブジェクトを動かしている、ということである。


上記手順の3. を変えると、Y軸やZ軸でも同様の動きをする。

Local coordinates

ではLocal coordinatesにするとどうなるだろうか。
見たほうが早いと思うので、Transform OrientationsをGlobalからLocalにして、先程の手順と同じことをしてみる。
Transform OrientationsをLocalに

X軸に動かしてみる

見て分かる通り、オブジェクトのX軸に対して、オブジェクトが動いている。
これは、平面が45度右上に向いているので、X軸も右上に傾いているからである。

また、動かしているときに画面の左上を見てみると、先ほどと異なり "along local X" と出ており、Local coordinatesを元にオブジェクトが動いているのがわかる。

このように、Local coordinatesではオブジェクトをベースにX、Y、Z軸が決められる。

このLocal coordinatesは、Transform OrientationsをGlobal に設定したままでも、Gで移動モードにしている状態でXを2回押すと、Localモードでの移動になる。

Rotationを適用する

理屈はわかったものの、特定のオブジェクトの軸がずれたままだと色々不都合が出てくるケースがある。
Global coordinatesと合わせたい時は、Object ModeでObject > Apply > Rotationを選択し、回転を適用してあげるとよい。
こうすることで、右側のObjectで、Rotationが0になっている、つまり今の角度がニュートラルの状態になる。


まとめ
いかがだったでしょうか。
って書いてみたかったので書きました。
今日も楽しいモデリングライフを。

コメント