クリックゲーム開発

#2.ドラゴンを動的に生成する方法

Unityでprefabから動的に生成する

前回、ただ配置していたドラゴンですが、
今回は、スクリプト上からドラゴンを生成する方法について解説します。

prefab の静的配置

Unity AssetStore に、ドラゴンのモデルやアニメ が一緒になった Prefab があるのでそれを使って説明します。

これを動的生成ではなく、単にゲーム画面に出すには、Hierarchy に直接ドラッグ&ドロップするだけ。
これがかんたんな静的配置のやり方です。

ただ、クリックしたときのスクリプトから、
ドラゴンにダメージを与えるなど直接触りたいのでスクリプト側から生成して管理したいです。

prefab から動的生成

スクリプトでprefab を読み込んで動的生成するには、Instantiate() を使います。

prefab さえ読み込めれば、あとは Instantiate() するだけでゲーム上に生成することができます。
読み込み方法はいくつかあります。

一番かんたんな読み込み方法

prefab など、ファイルを一番簡単に読み込むには
Resources という特別な名前のフォルダ以下に置く方法があります。

Resource 以下においたファイルは、
Resource.Load() でロードできるようになります。

なお、Resources フォルダは ROMビルドで ROM の中に入るので、Editor と Android/iOS でも挙動が同じとなります。

Resource.Load() にわたすパスは、Resource からの相対パスかつ、拡張子は省いた文字列です。
Unity のパスは / で区切ります。Windows で開発していてもバックスラッシュではないので注意。

ドラゴンの prefab を Load して Instantiate を行うとゲーム内にドラゴンが生成され瞬間動き出します。

次回は、画面をクリックしたときに、このドラゴンにダメージを与えます。

つづきます。