どうも音無サノトです。
週末はゲームプログラマにでもなろうかと、Unity でのゲーム制作を行っています。
公式の基本チュートリアルにある玉転がしゲームを作成しつつ、やり方を思い出しているところです。
前回までは、ボールを動かすところまでやったので、今回からはボールが床から落ちない様にエリアの範囲を設定します。ただキューブを配置するだけなのでとても簡単です。
空のゲームオブジェクトを作成
Unity には Trasform のパラメータしかないゲームオブジェクトを作成することができます。複数のオブジェクトをひとまとめにする際に便利です。
ツールバーの GameObject から Create Empty を選択します。
名前を「Walls」に変更して、Position をリセットします。
Inspector ウィンドウの Transform 欄の右上にある歯車を選択し、Reset をクリックするとポジションをリセットできます。
これで原点を中心に子オブジェクトを管理することができます。
壁を作ってのエリアの設定
ツールバーの GameObject > 3D Object > Cube を選択し、正方形を設置します。
名前を「West Wall」に変更し、Hierarchy ウィンドウで Walls のところにドラック&ドロップして子オブジェクトにします。Scale と Position を以下のように変更します。
ゲームシーンの左側に壁ができました。
同じ要領で「East Wall」、「North Wall」、「South Wall」を作成していきます。
West Wall を複製すれば数値を変えるだけで作成できます。
複製するにはツールバーの Edit から Duplicate を選択するか、Ctrl + D でできます。
Walls の子オブジェクトにします。
こうすることで、Walls の Transform を変更するだけで、壁の関係せいを保ったまま動かすことができます。
それぞれの Transform は以下の通りです。
「West Wall」の値を中心に反転していくだけなので、複製すれば手間が省けます。
これで、壁が作成できました。
実際にゲームシーンで再生してみると、ボールは壁にぶつかってエリアから出ないようになります。
本日は以上となります。最後まで読んでいただきありがとうございました!