Unity 5で 2Dシューティングのチュートリアルを行う際の注意点(第07回)


Unity公式チュートリアル 2Dシューティング

第07回 Wave型の仕組み作り


上記チュートリアルで、私がつまずいたところ、初心者がつまずきそうなところをピックアップして解説します。

まとめへ戻る≪第06回へ第08回へ≫



7.1 Waveの作成

空のGameObjectを作成し、名前をWaveとしてください。Waveの位置は(0,0,0)とします。

メニューから Game Object -> Create Empty を選択します。
Hierarchyの下に GameObjectが生成されるので、それを選択後、F2キーを押して Waveにリネームします。
Waveをクリックし、表示される Inspectorの Transformにある Positionを X 0, Y 0, Z 0 に編集します(最初から0,0,0ならそのままで構いません)。

次に3つのEnemyを子要素として図7.1のように並べます。

現在の状態で、Hierarchyにひとつ、Enemyがあるはずです。
まずは、これを、Waveにドラッグ&ドロップして、Waveの子要素とします。


次に、3つの Enemyを作成します。
ここではとりあえず、現在ある Enemyの Prefabを更新後、2つ複製して3つの Enemyを作ってみます。


まずは、Hierarchyタブ内の Enemyをクリックし、表示された Inspector内の Prefab横の「Apply」ボタンを押して、Prefabを更新します。


次に、Enemyを複製します。
Hierarchyタブ内の Enemyを右クリックし、Duplicateを選択します。
もう一度同じ操作で Duplicateを行います。
生成された Enemy(1)、Enemy(2)を それぞれ Enemyにリネームします。
これで、Wave下に Enemyが3つできました。


最後に、生成した3つのEnemyの位置をそれぞれ編集します。
Enemyをひとつクリックし、表示される Inspectorの Transformにある Positionを(-1,1,0)に設定します。
残りの2つも同様に(0,0,0)(1,1,0)と設定します。

最後にプレハブにして、ゲームオブジェクトの方は削除しましょう。

Hierarchyタブの Waveを、Projectタブの Prefabs配下にドラッグ&ドロップしてプレハブ化します。
Prefabs配下に、Waveが生成されたら成功です。

その後、Hierarchyタブの Waveをクリックし、Deleteキーを押して削除します。

7.2 Waveを呼び出すEmitter (エミッター)を作成する

Waveプレハブをスクリプトから作成します。
まず、Emitter.csをScriptsフォルダの中に作成します。


ProjectタブのScriptsフォルダを右クリックし、Create -> C# Script を選択後、生成されたスクリプトを Emitterにリネームします。
その後、Emitterをダブルクリックし、MonoDevelopで Emitter.csを編集します。
Emitter.csの内容は、チュートリアルのものに丸ごと置き換えて問題ありません。
Ctrl+Sで保存したら、Unity画面に戻りましょう。


ちなみに、emitとは「〈光・熱・香気などを〉放射する」「〈音・声を〉発する」という意味があります(研究社 新英和中辞典より引用)。
Emitter = 敵をはき出すモノ 的な意味だと思います。

次に空のゲームオブジェクトを作成し、名前をEmitterとしてください。ゲームオブジェクトの位置はX 0 Y 3.5 Z 0とします。

メニューから Game Object -> Create Empty を選択します。
Hierarchyの下に GameObjectが生成されるので、それを選択後、F2キーを押して Emitterにリネームします。
生成した Emitterをクリックし、表示される Inspectorの Transformにある Positionを X 0,Y 3.5,Z 0 に編集します。

EmitterゲームオブジェクトにEmitter.csをアタッチし、Waveプレハブを図7.2のように格納します。

Hierarchyタブの Emitterを選択後、Inspector内の「Add Component」をクリックし、Scripts -> Emitter を選択して、Emitter.csをアタッチします。
Inspectorに Emitter(Script)が追加されるので、Wavesをクリックして開き、Sizeに「1」と入力し、Enter
キーを押します。
すると、その下に Element 0という枠が1つ追加されるので、その枠の中に ProjectタブのPrefabs配下にある Waveをドラッグ&ドロップして格納します。


Wavesは配列変数なので、Sizeを指定すると、その数だけ枠が生成され、値をセットできるようになります。


これで第07回は終了です。
お疲れ様でした。


まとめへ戻る≪第06回へ第08回へ≫