【Unity実践】#19 アセット編 ~ ゴールの作成 ~【Boxゲーム】
今回の内容
今回はゴールのアセットをダウンロードして適用していきます。
ゴールには宝箱を配置することにします。
※初めての方はこちらから
⇒ 【第1回記事】この連載について
宝箱のアセットをインポートする
検索は「Animated Cartoon Treasure Chest」で検索すると見つかります。
※アセットのダウンロード・インポートは第15回の記事で説明しています。
宝箱を配置する
シーン「GameScene1」を使って、トラップのアセットを配置・編集していきます。
まずは左下に置いていたゴール(Goal)を削除しましょう。
代わりに、インポートしたアセットを配置します。
FS Loot Boxes > Assets > Prefabs > TreasureChestPrefab をシーンに配置してください。
さらに Transform を以下の様に設定して、削除した Goal と同様左下に配置しましょう。
これで配置までが完了となります。
宝箱にスクリプトを適用する
スクリプトでやりたいことは大きく2つです。
1. 宝箱にプレイヤーが触れると開くように
2. 宝箱にプレイヤーが触れるとクリアとなるように
1つ目については、アセットに用意されているスクリプトで簡単に実現可能で、
Goal_Treasure の LootBox の Opening Method を「Open On Collision」に設定します。
2つ目については以前作成した ClearScript を使用します。
ただこのスクリプトは OnTriggerEnter で実装していたので、Goal_Treasure に Trigger のコライダーを設定します。
元々設定されている BoxCollider をコピーして、IsTrigger のチェックだけ変えましょう。
これに ClearScript をアタッチすれば完成です。
再生すると以下の通り、箱が開くのに加えてクリア処理が実行されます。
最後にプレハブ化をしておきましょう。(いつも通り、Prefabs フォルダにドラッグ&ドロップ)
Scene2, Scene3 に適用する
先ほどプレハブ化した Goal_Treasure を GameScene2と3にも配置しましょう。
いずれの場合も特に問題は無さそうなので、これで完了と言えそうです。
GameScene2 のようなケースで上からではなく横からしか開けれないようにしたい、
とかであればもう少し調整が必要だったりしますが、細かい点なのでスルーします。
おわりに
ゴール(宝箱)の作成はこれで完了とします。
今回はアニメーションやスクリプトが実装されているアセットを利用したので、
比較的簡単に実装ができましたが、その辺がアセットに含まれていない場合は自前で実装することになります。
次回は背景にアセットを適用したいと思います!
連載目次リンク
関連する連載リンク
© Unity Technologies Japan/UCL