【Unity基礎】Transformとは?位置・向き・大きさを管理する基本

前回の記事では、Sceneビューの中を見回したり、視点を移動したりする基本操作を確認しました。

今回は、Sceneビューの中にあるGameObjectそのものを動かしてみましょう。

Cubeを右に移動する。
ドアの向きを変える。
机を少し大きくする。

Unityでは、こうしたGameObjectの位置・向き・大きさを、TransformというComponentで管理しています。

Transformは、ワールド制作で何度も触ることになる、とても基本的なComponentです。

この記事では、Transformの3つの要素であるPosition・Rotation・Scaleについて、Inspectorから数値を入力する方法と、Sceneビュー上で直接操作する方法の両方を見ていきます。

この記事を読むと、GameObjectの位置・向き・大きさを、InspectorやSceneビューから変更できるようになります。

Transformとは?

HierarchyでCubeなどのGameObjectを選択すると、Inspectorの上部にTransformというComponentが表示されます。

UnityのTransformコンポーネント

Transformには、次の3つの項目があります。

  • Position:位置
  • Rotation:向き・回転
  • Scale:大きさ

たとえば、同じCubeでも、

  • どこに置かれているか
  • どちらを向いているか
  • どれくらいの大きさか

によって、Sceneの中での見え方は大きく変わります。

Transformは、こうしたUnity空間の中でGameObjectがどのように存在しているかを管理するComponentだと考えるとわかりやすいでしょう。

リンカ先生
リンカ先生

Cubeだけでなく、LightやCameraなど、Unityで扱うほとんどのGameObjectはTransformを持っているんだよ!

それでは、3つの項目を順番に見ていきましょう。

Position ― GameObjectの位置

TransformのPosition

Positionは、GameObjectがどこに置かれているかを表します。

Positionには、X・Y・Zという3つの値があります。

  • X:左右
  • Y:上下
  • Z:前後

Unityの3D空間では、この3つの軸を使って位置を表します。
Positionが「X:0 Y:0 Z:0」となっているとき、この位置を原点と呼びます。

Inspectorから位置を変更する

まずは、InspectorからPositionを変更してみましょう。

HierarchyでCubeを選択し、InspectorのTransformを確認します。
PositionのYを0から2に変更してみてください。すると、CubeがY方向(上方向)へ移動します。

TransformのPositionをInspectorで変更

今度はXやZの値も変更してみましょう。数値を変えるたびに、Cubeの位置も変化することが確認できます。

このように、InspectorではTransformの値を直接入力して、GameObjectの位置を正確に指定できます。

Move Toolで位置を変更する

GameObjectは、Sceneビュー上で直接動かすこともできます。

HierarchyまたはSceneビューでCubeを選択し、Move Toolに切り替えます。Move ToolのショートカットキーはWです。すると、Cubeの上に、赤・緑・青の矢印が表示されます。
それぞれ、赤:X軸 緑:Y軸 青:Z軸 を表しています。

UnityのMove Tool

矢印をドラッグすると、その軸に沿ってCubeを移動できます。
Cubeを動かしながらInspectorのPositionを見てみてください。SceneビューでCubeを動かすと、Positionの数値も変化します。

Move ToolとInspectorの数値は連動する

つまり、Inspectorに数値を入力する方法も、Move Toolで動かす方法も、どちらもTransformのPositionを変更しているということです。

ゆかり
ゆかり

操作方法が違うだけで、変更している情報は同じなんですね

リンカ先生
リンカ先生

そういうこと!

Rotation ― GameObjectの向き

TransformのRotation

Rotationは、GameObjectの向きや回転を表します。

RotationにもX・Y・Zの3つの値があり、これらの値は、それぞれの軸を中心として、GameObjectが何度回転しているかを表しています。
たとえば、RotationのYを45にすると、GameObjectはY軸を中心に45度回転します。

ワールド制作では、

  • 壁の向きを変える
  • 家具を反対側へ向ける
  • ドアを90度回転させる
  • 小物を少し傾ける

といった場面でよく使います。

Inspectorから回転させる

Cubeを選択し、TransformのRotationを確認します。
Yの値を45に変更してみましょう。Cubeの向きが変化します。

TransformのRotationをInspectorで変更

180にすればさらに回転し、0に戻せば元の向きになります。

このように、Inspectorから操作すると、90度や180度といった正確な角度を指定できます。

Rotate Toolで回転させる

Sceneビュー上で直接回転させる場合は、Rotate Toolを使います。ショートカットキーはEです。

Cubeを選択すると、周囲に色の付いたリングが表示されます。リングをドラッグすると、その軸を中心としてCubeを回転できます。

UnityのRotate Tool

Move Toolと同じように、Cubeを回転させながらInspectorを確認してみましょう。Rotate Toolで操作すると、TransformのRotationの値が変化します。

こちらも、Sceneビューから操作しているように見えますが、実際にはTransformのRotationを書き換えています。

Scale ― GameObjectの大きさ

Scaleは、GameObjectの大きさを表します。

通常は、次の値が基準になります。

X:1 Y:1 Z:1

すべてが1の状態が、そのGameObjectの基本的な大きさです。

たとえば、

X:2 Y:2 Z:2

にすると、全体が2倍の大きさになります。

X, Y, Z はそれぞれ独立に変更することもでき、たとえば

X:1 Y:2 Z:1

のようにすると、Y方向だけが2倍になります。

Inspectorから大きさを変更する

CubeのScaleを変更してみましょう。

まずYを2にしてみます。Cubeが上下方向へ伸びます。次にXやZの値も変更すると、縦長にしたり、奥行きを広げたりできます。

TransformのScaleをInspectorで変更

Cubeひとつでも、Scaleを変えるだけで壁や床のような形にすることができます。

Scaleを調整してCubeを壁のように変更

Scale Toolで大きさを変更する

Sceneビュー上で大きさを変更するときは、Scale Toolを使います。ショートカットキーはRです。

Cubeを選択すると、各方向へ伸びたハンドルが表示されます。ハンドルをドラッグすることで、GameObjectを拡大・縮小できます。

UnityのScale Tool

Scale Toolで操作したあとにInspectorを見ると、Scaleの数値も変わっていることが確認できます。PositionやRotationと同じように、ScaleもInspectorとSceneビューのどちらからでも操作できます。

SceneビューとInspector、どちらを使えばいい?

ここまで、Transformを操作する2つの方法を見てきました。

ひとつは、Sceneビュー上でMove Tool・Rotate Tool・Scale Toolを使う方法です。もうひとつは、Inspectorに数値を入力する方法です。

Transformの2種類の変更方法

どちらか一方だけを使わなければならないわけではありません。

リンカ先生
リンカ先生

実際のワールド制作では、両方を使い分けるよ

Sceneビューでの操作が向いている場面

Sceneビューでは、実際の見た目を確認しながらGameObjectを操作できます。

たとえば、

  • 机を少し右へ動かす
  • 小物の角度を見ながら調整する
  • 壁の位置を見ながら合わせる

といった作業に向いています。

感覚的に位置や向きを調整したいときは、Sceneビューから操作する方が便利です。

Inspectorでの操作が向いている場面

Inspectorでは、Transformの値を正確に指定できます。

たとえば、

  • 床の高さをY=0にする
  • 壁を正確に90度回転させる
  • 複数のGameObjectを同じ高さに揃える
  • Scaleをぴったり同じ値にする

といった場面に向いています。


ワールド制作では、

Sceneビューで大まかに配置して、Inspectorで数値を整える

という使い方もよく行います。

リンカ先生
リンカ先生

それぞれの得意なところをうまく使い分けよう!

Transformをリセットする

Transformの値をいろいろ変更しているうちに、「どこに行ったかわからなくなった」「変な向きになってしまった」ということもあります。

そんなときに知っておくと便利なのが、TransformのResetです。

TransformのメニューからResetを実行すると、基本的に次の状態になります。

Transformをリセット
リセット後のTransformの値

つまり、

  • Positionは原点
  • Rotationは回転していない状態
  • Scaleは基本の大きさ

に戻ります。

まとめ

今回は、GameObjectの位置・向き・大きさを管理するTransformについて見てきました。

Transformには、3つの基本的な項目があります。

  • Position:位置
  • Rotation:向き・回転
  • Scale:大きさ

そして、それぞれの値はInspectorから直接入力することも、Sceneビュー上のToolを使って操作することもできます。

  • Move Tool → Position
  • Rotate Tool → Rotation
  • Scale Tool → Scale

Sceneビューは見た目を確認しながら直感的に操作したいときに便利です。一方、Inspectorは正確な数値で位置や角度を揃えたいときに便利です。

ワールド制作では、この2つを行き来しながらGameObjectを配置していきます。

Transformは、この先Unityでワールドを作っていくうえで何度も触ることになる基本Componentです。

まずはCubeをひとつ置いて、Position・Rotation・Scaleをいろいろ変更しながら、それぞれがどのようにGameObjectへ影響するのか試してみてください。

コメント

タイトルとURLをコピーしました