【学習】GameObject と Transform(オブジェクトの配置と操作)

広告

これまでの学習では、

  • Unity エディタの画面構成を学んだ
  • Scene、Hierarchy、Inspector の役割を理解した

という形でエディタの使い方を押さえてきました。

しかし、ゲームの世界を構成する「オブジェクト」がどのように作られ、配置されるかを学んでいません。

GameObject と Transform

という Unity の基本概念を押さえましょう。

今回は GameObject の作成と Transform コンポーネントを使った配置・操作を学びます。

今日学ぶこと

  • GameObject … シーン内のオブジェクト。ゲームの構成要素
  • Transform … 位置(Position)、回転(Rotation)、拡大縮小(Scale)
  • 親子関係 … オブジェクトの階層と相対座標

GameObject とは

GameObject は、Unity のシーンに配置されるオブジェクトです。

  • 空のオブジェクト、Sprite、UI、カメラなど、すべて GameObject
  • コンポーネントを追加することで役割が決まる
  • Hierarchy に表示され、Scene ビューで編集できる

GameObject を作成する

Hierarchy で右クリックし、メニューから作成できます。

メニュー作成されるもの
Create Empty空の GameObject
2D Object → Sprite画像を表示するオブジェクト
2D Object → Tilemapタイルマップ(背景など)
UI → ButtonUI ボタン
Cameraカメラ

例:2D Object → Sprite を選ぶと、白い四角(デフォルトの Sprite)がシーンに追加されます。


ちなみに:コードからも GameObject を作れる

エディタのメニューで作ったオブジェクトも、C# から new で新しく作ることもできます(WinForms で new Button() としたのと同じく、型のインスタンスを作るイメージです)。

var obj = new GameObject("MyObject");

Unity のシーンは、このような GameObject の集まり でできています。いまは Hierarchy で置いて Transform を触る ことに慣れるのが先で、コードでの生成の詳細は、スクリプトやプレハブの回で扱います。


Transform とは

Transform は、すべての GameObject が持つコンポーネントです。位置・向き・大きさを制御します。

プロパティ説明2D での主な用途
Positionオブジェクトの位置(X, Y, Z)X, Y で平面上の位置を指定
Rotation回転角度向きを変える
Scale拡大縮小大きさを変える

2D ゲームでは、Z 軸は奥行きなので、多くの場合 Position の Z は 0 のままにします。


Position で配置する

Inspector の Transform で Position を変更すると、オブジェクトの位置が変わります。

意味
X = 0中央
X > 0右方向
X < 0左方向
Y = 0中央
Y > 0上方向
Y < 0下方向

例:Position を (3, 2, 0) にすると、中央から右に 3、上に 2 の位置に配置されます。


Scale で大きさを変える

Scale を変更すると、オブジェクトの表示サイズが変わります。

意味
(1, 1, 1)等倍(デフォルト)
(2, 2, 1)横・縦 2 倍
(0.5, 0.5, 1)半分の大きさ

2D では Scale の Z は 1 のままにすることが多いです。


親子関係

GameObject を別の GameObject の上にドラッグすると、 として配置されます。

  • 親を動かすと、子も一緒に動く
  • 子の Position は、親からの相対位置になる
  • キャラクターの「体」と「腕」のように、まとめて動かしたいときに使う

操作の流れ

Hierarchy で右クリック
        ↓
2D Object → Sprite などで GameObject を作成
        ↓
Scene ビューでドラッグして位置を調整
        ↓
Inspector の Transform で Position / Scale を数値入力

重要ポイント

GameObject はシーン内のオブジェクト、Transform はその位置・向き・大きさを決めるコンポーネントです。

  • GameObject = ゲームの構成要素。コンポーネントで役割が決まる(必要ならコードからも new GameObject(...) で作れる)
  • Transform = Position(位置)、Rotation(回転)、Scale(拡大縮小)
  • 2D では Position の X, Y と Scale を主に使う
  • 親子関係でオブジェクトをまとめて動かせる

発展アイデア

GameObject と Transform が分かったら、次のステップです。

  • C# スクリプトの作成とアタッチ … スクリプトで動きを制御する
  • 変数と Inspector での編集 … スクリプトから Transform を操作する

GameObject と Transform は Unity の基本中の基本 です。次はスクリプトで動きを付けましょう。

訪問数 3 回, 今日の訪問数 3回

広告

Unity

Posted by hidepon