Developer

【Unity実践】#19 アセット編 ~ ゴールの作成 ~【Boxゲーム】
2021.05.23
Lv2

【Unity実践】#19 アセット編 ~ ゴールの作成 ~【Boxゲーム】

今回の内容

今回はゴールのアセットをダウンロードして適用していきます。
ゴールには宝箱を配置することにします。

※初めての方はこちらから
【第1回記事】この連載について

宝箱のアセットをインポートする

ゴールとして使う宝箱のアセットは以下を使用します。

検索は「Animated Cartoon Treasure Chest」で検索すると見つかります。

※アセットのダウンロード・インポートは第15回の記事で説明しています。

宝箱を配置する

シーン「GameScene1」を使って、トラップのアセットを配置・編集していきます。

↓ GameScene1の現状

まずは左下に置いていたゴール(Goal)を削除しましょう。
代わりに、インポートしたアセットを配置します。
FS Loot Boxes > Assets > Prefabs > TreasureChestPrefab をシーンに配置してください。

名前を「Goal_Treasure」に変更しておきます。

さらに 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 の場合

↓ GameScene3 の場合

いずれの場合も特に問題は無さそうなので、これで完了と言えそうです。

GameScene2 のようなケースで上からではなく横からしか開けれないようにしたい、
とかであればもう少し調整が必要だったりしますが、細かい点なのでスルーします。

おわりに

ゴール(宝箱)の作成はこれで完了とします。
今回はアニメーションやスクリプトが実装されているアセットを利用したので、
比較的簡単に実装ができましたが、その辺がアセットに含まれていない場合は自前で実装することになります。

次回は背景にアセットを適用したいと思います!

 
 

連載目次リンク

実践Unityゲームプログラミング 連載目次
 

関連する連載リンク

「初心者のための」Unityゲーム制作 目次
 

© Unity Technologies Japan/UCL