キューブ作成を通してゲームオブジェクトについて学ぼう【チュートリアル】

Unityで何かを作る際、必ず使うのがゲームオブジェクト(GameObject)です。

では、そもそもゲームオブジェクトとは何でしょうか?
今回はそんな、メタで素朴な疑問に答える記事を書きます。
最初に断っておきますが、この記事の内容は知らなくてもゲームは作れますので、
「知らなくてもいいや」って言う人は見なくても良いです。
(例のごとく知ったか振り混じりなので「いやそれは違うやろ!?」みたいな意見を待ってます)

まずは最初に、ネタバレ、というか答えです。
ゲームオブジェクトというのは、 Unityでシーンに存在するもの全てです。
例えば以下の画像はブロック崩しのゲーム画面です。
obj0
では、この中にあるゲームオブジェクトを抜き出してみましょう。
obj1
とまあ、一杯あります。
目に見えようと見えまいと、シーン上にあるものはゲームオブジェクトということですね。

次は実際に自分で手を動かして、ゲームオブジェクトを自分で弄ってみましょう!
「GameObjectSample」とでも名付けて新規プロジェクトを立ち上げて下さい。
空のゲームオブジェクトを作成しましょう。
・Ctrl + Shift + N キーを押す
・Unity実行画面、上の方からGameObject -> CreateEmpty をクリック
・Hierarchy タブ、上の方からCreate -> CreateEmpty をクリック
いずれかの方法で空のゲームオブジェクトオブジェクトを作成します。
作成できましたらInspectorタブを見て下さい。
このように表示されているはずです。
gameObject01
ここに表示されているものはコンポーネントというものです。今回はTransformだけがあります。
Transformというのは、位置情報などを持つコンポーネントです。
そうなると「コンポーネントって何?」という疑問も沸くことでしょう。
ですが、そちらを掘り下げると記事がとても長くなってしまいますので、後日取り上げます。
今日のところは、ゲームオブジェクトに様々な機能を足すパーツ、とだけ理解しておいてください。

では次に、キューブを作ってみましょう。
・Unity実行画面、上の方からGameObject -> Cube をクリック
・Hierarchy タブ、上の方からCreate -> Cube をクリック
いずれかの方法でキューブを作成できます。
今回もInspectorタブを見て下さい。
このように表示されているはずです。
gameObject02
先ほどとは違って色々なコンポーネントが表示されていますね。
では、このキューブを自分で組み立ててみましょう。
キューブを消去し、先ほど作成したゲームオブジェクトを選択してください。
キューブを作るのに必要なパーツ(コンポーネント)は何でしょうか?
まずは「キューブの見た目パーツ」があれば良さそうですね。
ゲームオブジェクトを選択するとInspectorの下の方に「Add Component」というボタンがあると思います。
そちらをクリックして、Mesh -> MeshFilter をクリックしてください。
メッシュフィルター(MeshFilter)が3Dのオブジェクトの「見た目」に当たるパーツです。
ですが、メッシュフィルターを追加してSceneタブなどの実行画面を見ても、
先ほどと何も変わらず何も表示されていない画面が映るだけです。
InspectorタブのMeshFilterの部分を見て下さい。
MeshFilter : None と表示されていますね。
これは、「どんな形を表示するのかを登録されてないよ!」という意味です。
ということで、早速どんな形を表示するかを登録してあげましょう。
図で示されている部分をクリックして下さい。
表示されたウィンドウに「Select Mesh」と書いてあるように、このウィンドウでは
メッシュ、すなわち3Dオブジェクトの形をどうするかを選択できます。
今回はキューブを作成しますので、Cubeを選択してください。
 gameObject04
ところが、再び実行画面を見ても、何も表示されません。
これは、「画面に表示する」パーツがないためです。
言ってみれば、DVDプレーヤーはあるけど、それを再生するテレビがない、という状態ですね。
再び「Add Component」をクリックし、Mesh -> MeshRenderer をクリックして下さい。
メッシュレンダラー(MeshRenderer)が「3Dオブジェクトを画面に表示する」パーツを担当します。
今回は「どぎついピンク色の四角いもの」が表示されました。
Unityでピンク色が表示された時は「どのように画面に表示するか情報がないよ!」ということを表しています。
gameObject05
↑表示情報が無い、というエラーを知らせるためのものだから色がきついのかな
「画面にどのように表示するかパーツ」はMesh Rendererコンポーネントから選択できます。
メッシュを選んだ時のようにウィンドウを表示しましょう
gameObject06
今回はDefault-Diffuseを選択してください。
gameObject07
実行画面に戻ると、最初に作ったものと同じ見た目のキューブができていることを確認できるかと思います。
厳密には、このキューブには当たり判定がないので、同じものをちゃんと作ろうと思ったら後は
AddComponent -> Physics -> Box Collider
を選択する必要があります。
これでキューブの完成です!
キューブを表示するに当たって、
・キューブ見た目を設定する機能
・キューブを画面に表示する機能
が必要でしたね。
ゲームオブジェクトはこのように、
様々な機能を入れるためのいれもの
として存在しているのです。
機能の中には、得点を管理する、というように見た目には分からないものもあります。
しかし、実際に実行画面で使おうと思ったら何らかの形でゲームオブジェクトに付けておく必要がある、と言う訳です。
ちなみに、このいれもの(ゲームオブジェクト)に入れられるものはコンポ―ネントに限定されます
コンポ―ネントについては追々触れていくとして、今回はこれで終わりたいと思います。
では、また。
質問も待ってますよー!

Comments

comments

スポンサーリンク
336*280px