音無サノトの空想録

4コマ漫画と創作日記

【ゲーム制作】イチから Unity の学びなおし ⑤玉転がしゲーム その4 エリアの設定

どうも音無サノトです。

週末はゲームプログラマにでもなろうかと、Unity でのゲーム制作を行っています。

公式の基本チュートリアルにある玉転がしゲームを作成しつつ、やり方を思い出しているところです。

前回までは、ボールを動かすところまでやったので、今回からはボールが床から落ちない様にエリアの範囲を設定します。ただキューブを配置するだけなのでとても簡単です。

 

 

空のゲームオブジェクトを作成

Unity には Trasform のパラメータしかないゲームオブジェクトを作成することができます。複数のオブジェクトをひとまとめにする際に便利です。

ツールバーの GameObject から Create Empty を選択します。

f:id:otonasisanoto:20190407104438p:plain

 

名前を「Walls」に変更して、Position をリセットします。

Inspector ウィンドウの Transform 欄の右上にある歯車を選択し、Reset をクリックするとポジションをリセットできます。

f:id:otonasisanoto:20190407104817p:plain

これで原点を中心に子オブジェクトを管理することができます。

 

壁を作ってのエリアの設定

ツールバーの GameObject > 3D Object > Cube を選択し、正方形を設置します。 

f:id:otonasisanoto:20190407105012p:plain

 

名前を「West Wall」に変更し、Hierarchy ウィンドウで Walls のところにドラック&ドロップして子オブジェクトにします。Scale と Position を以下のように変更します。

f:id:otonasisanoto:20190407105637p:plain

 

ゲームシーンの左側に壁ができました。

f:id:otonasisanoto:20190407105737p:plain

 

同じ要領で「East Wall」、「North Wall」、「South Wall」を作成していきます。

West Wall を複製すれば数値を変えるだけで作成できます。

複製するにはツールバーの Edit から Duplicate を選択するか、Ctrl + D でできます。

f:id:otonasisanoto:20190407110134p:plain

 

Walls の子オブジェクトにします。

こうすることで、Walls の Transform を変更するだけで、壁の関係せいを保ったまま動かすことができます。

f:id:otonasisanoto:20190407111049p:plain

f:id:otonasisanoto:20190407111407p:plain

 

それぞれの Transform は以下の通りです。

「West Wall」の値を中心に反転していくだけなので、複製すれば手間が省けます。

f:id:otonasisanoto:20190407110838p:plain

 

これで、壁が作成できました。

実際にゲームシーンで再生してみると、ボールは壁にぶつかってエリアから出ないようになります。

 

本日は以上となります。最後まで読んでいただきありがとうございました!