はじめに
こんにちは、ねこさんです。
この記事では、Unityをこれから始める方向けに、オブジェクトの配置方法についてまとめています。
また、これは私が所属している徳島大学ゲームクリエイトプロジェクトの勉強会で使用するものです。
興味がありましたら、UnityroomとX公式アカウントなども見に行ってください!
この記事の目標
- オブジェクトの配置・複製・整列ができる
- Transformを使ってオブジェクトの位置・角度・大きさを変更できる
- マテリアルで色変更ができる
オブジェクトとは?
Unityでは、ゲーム内に存在するものを オブジェクト(GameObject) と呼びます。
例えば、
- キャラクター
- 地面
- 壁
- アイテム
など、ゲーム内のすべての要素はオブジェクトとして配置されます。
今回はその中でも、Unityに最初から用意されている 基本オブジェクト を使って操作を確認していきます。
オブジェクトを配置する
代表的なオブジェクトは次の3つです。
Cube
立方体のオブジェクトです。ブロックや建物などに使えます。
Sphere
球体のオブジェクトです。弾などに使えます。
Plane
平面のオブジェクトです。地面として使うことが多いです。
オブジェクトは次の手順で配置できます。
Hierarchy を右クリック > 3D Object > Cube / Sphere / Plane
今回は練習として、 Cube を配置してみましょう。
配置できました。
オブジェクトを複製する
同じオブジェクトを複数配置したいときは、オブジェクトを複製すると便利です。
複製する方法はいくつかありますが、今回は次の2つを紹介します。
- ショートカットキーで複製する方法
- Prefab を使って複製する方法
ショートカットキーで複製する方法
一番簡単な方法は、ショートカットキーを使う方法です。
複製したいオブジェクトを選択した状態で、次の操作を行います。
Windows の場合: Ctrl + D
Mac の場合: Command + D
すると、選択していたオブジェクトと同じものが Hierarchy に追加されます。
ただし、複製した直後は元のオブジェクトと同じ位置に重なっているため、Sceneビューでは増えたように見えないことがあります。
その場合は、Move Tool を使って少し横に動かしてみましょう。
Move Tool を選択すると、Sceneビューに赤・緑・青の矢印が表示されます。
この矢印をドラッグすると、オブジェクトを移動できます。
Prefab を使って複製する方法
Unityでは、 Prefab を使ってオブジェクトを複製することもできます。
Prefab とは、オブジェクトを再利用しやすい形で保存したものです。
同じ敵、アイテム、ブロックなどを何度も使いたいときに便利です。
ゲームを開発する上で、よく使う方法です。
Prefab の作り方
まずはPrefabの作り方から紹介します。
Project ウィンドウで、 「Prefab」 という名前のフォルダを作ってみましょう。
Assets を右クリック > Create > Folder
で、新しいフォルダを作ることができます。
Prefab化したいオブジェクトを Hierarchy に作り、それを Prefab フォルダにドラッグ&ドロップしてみてください。
正しく Prefab 化されると、Hierarchy にあるオブジェクトの名前やアイコンが通常とは違う表示になります。
また、Project ウィンドウには青いアイコンの Prefab が作成されます。
今回は、すでに用意してある Cube を Prefab 化してみてください。
Prefab を使って複製する
さて、 Prefab が作れたので、今度は複製してみましょう!
作成した Prefab を Sceneビュー、または Hierarchy にドラッグ&ドロップすると、同じオブジェクトを配置できます。
Prefab から作られたオブジェクトは、見た目や設定を元の Prefab から引き継いでいます。
そのため、同じ形のオブジェクトを何個も配置したいときに便利です。
オブジェクトを整列する
複数のオブジェクトをきれいに並べたいときは、Inspector にある Transform の Position の値を使うと便利です。
Transform については後ほど詳しく説明しますが、ここでは「オブジェクトの位置を決める数値」だと思っておけば大丈夫です。
例えば Cube を横一列に並べたい場合、Position の X の値を変えます。
例:
| オブジェクト | X | Y | Z |
|---|---|---|---|
| Cube 1 | 0 | 0 | 0 |
| Cube 2 | 2 | 0 | 0 |
| Cube 3 | 4 | 0 | 0 |
このように X の値を一定間隔で変えると、横方向にきれいに並べることができます。
また、縦方向に積み上げたい場合は Y の値、奥行き方向に並べたい場合は Z の値を変更します。
Unityでは、Sceneビューで直接ドラッグして配置することもできますが、正確に配置したいときは Inspector の数値を入力する方法がおすすめです。
Transformを使う
Unityのオブジェクトには、基本的に Transform というコンポーネントが付いています。
コンポーネントとは?
Unity の **コンポーネント** とは、オブジェクトに機能を追加するための部品のようなもの。例えば、Transform は「位置・回転・大きさ」を管理するコンポーネントである。
Unityでは、GameObject にいろいろなコンポーネントを追加することで、見た目を変えたり、当たり判定を付けたり、スクリプトで動かしたりできる。
つまり、GameObject は入れ物、Component はその中に付ける機能 だと考えると分かりやすい。
Transform では、オブジェクトの
- 位置
- 回転
- 大きさ
を変更できます。
Inspector を見ると、Transform の中に次の3つの項目があります。
- Position
- Rotation
- Scale
それぞれ詳しく見ていきましょう。
Position
Position は、オブジェクトの位置を表します。
X、Y、Z の3つの値で指定します。
- X:左右方向
- Y:上下方向
- Z:前後方向
例えば、Position の Y を 1 にすると、オブジェクトが少し上に移動します。
今回はわかりやすいように、(X, Y, Z) = (0, 0, 0) と設定してみましょう。
Rotation
Rotation は、オブジェクトの回転を表します。
こちらも X、Y、Z の3つの値で指定します。
例えば、Rotation の Y を 45 にすると、オブジェクトが Y 軸を中心に 45度回転します。
Cube を回転させると、斜めを向いたブロックのように見せることができます。
Scale
Scale は、オブジェクトの大きさを表します。
初期状態では X、Y、Z がすべて 1 になっています。
例えば、Scale を次のように変更すると、横に長いオブジェクトになります。
| X | Y | Z |
|---|---|---|
| 3 | 1 | 1 |
Cube の Scale を変更すれば、壁や床、柱のような形を作ることもできます。
ただし、Scale を極端に大きくしたり小さくしたりすると、見た目や当たり判定が分かりにくくなることがあります。
最初のうちは、少しずつ値を変えて確認してみましょう。
マテリアルで色を変える
まず、 Project ウィンドウで右クリックします。
Create > Material
を選択すると、新しい マテリアル が作成されます。
作成したマテリアルには、分かりやすい名前を付けておきましょう。
例:
- PlayerMaterial
- GroundMaterial
こちらも Prefab と同じように、 「Material」 というフォルダを作ってその中に入れておくと、後から管理がしやすいです。
色を変更する
作成したマテリアルを選択すると、 Inspector に設定項目が表示されます。
その中にある Base Map の色を変更すると、マテリアルの色を変えることができます。
赤色にしたい場合は赤、青色にしたい場合は青を選びます。
例として、木材のような色にしてみました。
オブジェクトにマテリアルを付ける
マテリアルをオブジェクトに反映するには、作成したマテリアルを Sceneビュー、または Hierarchy 上のオブジェクトにドラッグ&ドロップします。
見えにくいですが、Hierarchy の Cube の文字の上に、ドラッグしている「CubeMaterial」が表示されています。
すると、オブジェクトの色が変更されます。
例えば、Cube に赤色のマテリアルを付けると、赤いブロックになります。
Plane に緑色のマテリアルを付けると、草の地面のように見せることもできます!
木材の色味をした立方体になりました。木箱に見える...かも?
補足:Prefabにマテリアルをつける時
先ほど、
あとから Prefab の色や大きさを変更すると、その Prefab から作られたオブジェクトにも変更を反映できます。
と紹介しました。
ただし、Sceneビューにある Cube にマテリアルをドラッグ&ドロップした場合、その Cube だけにマテリアルが設定されることがあります。
Prefab そのものにマテリアルを設定したい場合は、Project ウィンドウから Prefab を開き、Inspector の Mesh Renderer にある Materials にマテリアルを設定しましょう。
ドラッグ&ドロップで大丈夫です。
このように、Project ウィンドウから Prefab を開いた状態で、Inspector の Mesh Renderer > Materials にマテリアルが設定されていれば、Prefab から作られるオブジェクトにも同じマテリアルが反映されます。
すでにSceneに配置しているPrefabにも反映されますが、個別に変更しているものには反映されない場合があります。
練習してみよう
最後に、今回学んだ内容を使って簡単なステージを作ってみましょう。
以下のものを作って、練習してみましょう!
- Plane を配置して地面を作る
- Plane の Scale を変更して、大きな地面にしてみる
- Cube を複製して重ねてみる
- Sphere を配置してアイテムのようにする
- それぞれの Position を変えてみる
- マテリアルを作成して、それぞれに色を付ける
完成イメージはこんな感じです!
最初はきれいに作れなくても大丈夫です。
Sceneビューで動かしたり、Inspector の数値を変えたりしながら、少しずつ Unity の操作に慣れていきましょう!
まとめ
この記事では、オブジェクトについて紹介しました。
今回学んだ内容は次の通りです。
- Cube、Sphere、Plane などの基本オブジェクトを配置する
- オブジェクトを複製する
- Transform を使って位置・回転・大きさを変更する
- 複数のオブジェクトを整列する
- マテリアルを使って色を変更する
オブジェクトの配置や Transform の操作は、Unityでゲームを作るときに何度も使う基本操作です。
まずは色々なオブジェクトを置いたり、動かしたりして、操作に慣れていきましょう。
次回から、いよいよプログラムを書く工程に入ります!
お疲れさまでした!











