はじめに
えにあです。 前回はプレイヤー(球体)の動きにカメラが付いてくるようになりました。 前回の状態では、地面らしきものは表示されていますが、色の塗られた範囲を超えてボールが転がって行ってしまいますね。 今回はプレイフィールドを壁で覆い、プレイヤーがフィールドの外に出ていけないようにします。
目次
Wallオブジェクトの作成
まず、空のオブジェクトを一つ追加します。
トップメニューから「ゲームオブジェクト」->「空のオブジェクトを作成」を選択します。
このオブジェクトの名前をWallに変更しましょう。
オブジェクトの名前はインスペクターで設定できます。
Unityでは、空のオブジェクトはゲームオブジェクトのフォルダとして利用することができます。 この後の手順で、Wallオブジェクトの下に東西南北4つの壁オブジェクトを作成していきますが、その前にWallオブジェクトをリセットします。
Wallオブジェクトを選択し、インスペクターのTransfomrの右側にある「︙」をクリックし、リセットを押します。これにより、Wallオブジェクトの位置が原点(0, 0, 0)になります。
この手順は重要です。子オブジェクトを持つオブジェクトは原点に位置する必要があります。
さあ、Wallオブジェクトの下に、実際の壁を追加していきます。
ヒエラルキービューでWallオブジェクトを右クリックし、「3Dオブジェクト」->「キューブ」を選択します。
このオブジェクトの名前を「West Wall」に変更しましょう。
West WallがWallの内側に入ったのが分かりますね。
シーンビューを見ると、ボールに重なって立方体が重なっているのが分かります。
立方体のサイズを変更し、位置を変えることで西側の壁として配置していきます。 その前に、地面のサイズをそろえましょう。
Groundオブジェクトを選択し、インスペクターで拡大/縮小(Scale)を(2, 1, 2)に設定します。
この地面のサイズにWest Wallのサイズも合わせていきます。
West Wallを選択し、インスペクターで拡大/縮小(Scale)の値を(0.5, 2, 20.5)に設定します。
シーンビューを見ると、なんとなくいい感じのサイズに見えますね。
それでは、位置を変えて西側に配置しましょう。
西側なのでX軸の値はマイナスになりますね。-10に設定してみましょう。
シーンビューを見てみましょう。西側に壁が配置されました!
四方を壁で囲もう
同様に、東、北、南の壁を作っていきます。
ヒエラルキービューでWest Wallを選択し、コピー(ctrl + c) & ペースト(ctrl + v)しましょう。
West Wallがコピーされたのが分かります。
同様の手順でもう2つWest Wallをコピーし、それぞれ、East Wall、North Wall、South Wallに名前を変えましょう。
East Wallを選択しインスペクターを見てみましょう。
拡大/縮小(scale)にWest Wallで設定した値がすでに入っていますね。
オブジェクトをコピーすると、このように値が引き継がれます。
サイズは同じでよいですが、位置は東側に変更する必要があります。
X軸の値を+10に変更すればよいですね。
これで西と東が壁で覆われました。
北側も同様に設定していきます。
北側は位置をどのように設定すればよいでしょうか。試しに(0, 0, 10)にしてみます。
すると、位置は悪くなさそうですが、壁の方向がおかしいですね。
これを修正するために、拡大/縮小(scale)のXとXの値を入れ替えて、(20.5, 2, 0.5)に変更しましょう。
シーンビューを見ると、北側にも壁が設置されたのがわかります。
では最後に南側の壁も設定しましょう。
位置は(0, 0, -10)、拡大/縮小は(20.5, 2, 0.5)に設定すればよいですね。
これで四方が壁に囲まれました。
実際に動かしてみよう
プレイモードにして実際に動かしてみましょう。
ボールが壁の外には出ていけないようになっていますね!
今回はここまで!