UnityのUtilityにあるTimedObjectActivatorを使ってみる

記事内に広告が含まれています。

今回はUnityのスタンダードアセットのUtilityにあるTimedObjectActivatorを使ってみます。

TimedObjectActivatorはあらかじめ登録しておいたゲームオブジェクトを指定した秒数の後にアクティブに、非アクティブ、削除をする事が出来ます。

ゲーム中に固定の敵キャラクターを置いておいて、時間経過とともに登場させたいといった時に使えそうです。

スポンサーリンク

TimedObjectActivatorを取り付ける

TimedObjectActivatorはAssets→StandardAssets→Utilityにあります。

これを何らかのゲームオブジェクトに取り付け、他のゲームオブジェクトの設定をします。

今回は空のゲームオブジェクトを作成し、TimedObjectActivatorという名前にして、これにTimedObjectActivatorスクリプトを取り付けて確認してみたいと思います。

TimedObjectActivatorを取り付けたインスペクタ

Addボタンを押すとゲームオブジェクトを登録する項目が表示されるので、そこに操作したいゲームオブジェクトを設定します。

TimedObjectActivatorの項目の説明

赤い枠はモードを選択し、Activateはゲームオブジェクトをアクティブに、Deactivateは非アクティブに、Destroyは削除、Reload Levelはシーンを最初から実行するのだと思うんですが、うまく動作しない為、今回は使いません。Callは使っていないと思われます。

青い枠はゲームオブジェクトを設定します。

黄色い枠は何秒後に実行するかという秒数を指定します。

紫の枠のボタンを押すと項目自体が削除されます。

黒の枠のSortボタンを押すと黄色い枠で指定した秒数を元に、ソートを行い実行順序で並べ替えられます。

TimedObjectActivatorゲームオブジェクトの子要素にCubeを作成し、それを複製して横に並べます。

Cubeを複製して並べる

Cubeを複製して横に並べる

これでサンプルが完成したので、実行して確認してみます。

↑のようになりました。

最後、秒数を変更してSortしたら選択していた項目の秒数も変わっているような・・・・・(;一_一)

と思ったんですが、選択中の場合は値が切り替わっていないだけで、フォーカスを外すとちゃんと変更されていました。(^^)/

タイトルとURLをコピーしました