感想練習帳

色んな物の感想とか、勉強、プログラム関係の備忘録とか(感想は基本ネタバレあり)

【Corgi Engine】ゲームオブジェクト発生ポイントの作成

豊富にサンプルの入っているCorgi Engineだけど敵が最初から配置されているタイプのサンプルシーンが大部分なせいか、ゲームオブジェクトの発生例があまりなかったのでメモ。
砲弾の発生だが以下のサンプルが参考になる。
CorgiEngine\Common\Scripts\Agents\AI\PathedProjectileSpawner.cs

最小限の構成としては
発生させたいPrefabをInstantiateするスクリプトを空のゲームオブジェクトにaddするだけ。
Instantiateに親オブジェクトのtransformのpositionとrotationを渡せば、その位置に発生します。
後はお好みでタイマーやカウンター、発生エフェクトなどを付けて出来上がり。 発生させるPrefabのコンポーネントに値を設定したい場合はInstantiateしたオブジェクトを設定したいコンポーネント型にキャストしてフィールドなり、メソッドなりに値を渡せば良い。

2018/4/28追記

Assets\CorgiEngine\Common\Scripts\Agents\AIにTimedSpawner.csが追加されていた。こちらを参考にすれば普通に作れる。
考えてみれば当たり前だが上記とは違いObjectPoolerを使用した仕組みになってた。こちらのソースはObjectPoolerでオブジェクトを発生させる時の作法なども参考になる。