Unity事例ノート

UNITY

エフェクト発生の後にテキスト表示

エフェクト発生がはじまり、n秒経過してから、Textオブジェクトが表示されるしくみを作りましょう。

クリックでCubeを壊すと、爆発のエフェクトが発生。

1秒経ってから、テキストが表示されます。

関連記事:
発生させたパーティクルをn秒後に削除
Invokeを使ってn秒後に関数を実行する
数秒後にオブジェクトを出現させる
コルーチンを使って1秒後にテキストを消す
触れた相手をn秒後に削除する
乗ったオブジェクトをn秒後に消す
出現してから1秒後に落下する
ゴールすれば花火を打ち上げる

エフェクトから1秒後にオブジェクト表示

今回のUnityバージョンは、Unity2019.4.27 を使用しています。

パーティクルは、Procedural fire というフリーアセットをインポートさせていただきました。

インポートが終われば、Hovl Studioというフォルダが追加されています。

Cubeオブジェクトを作成します。

今回テキストは、TextMeshProで作成します。

テキストの色や配置を変更し、GameClearの文字を入れました。

ゲームビューではこのように見えています。

テキストはいったん非表示にします。

プレハブデータは、Assets > Hovl Studio > Procedural fire > Prefabs > Explosion を使います。

Explosionのパーティクルをループさせないようにします。

Explosionを選択し、プレハブを開くをクリック。

Explosionの階層すべてに対して、ループのチェックを外します。

ヒエラルキーの←を押し、元のシーンビューに戻ります。

空のオブジェクトを作成します。

ObjDestroy.csを作成し、GameObject(空のオブジェクト)に追加します。

ObjDestroy.csを記述します。

GameObjectのインスペクターを確認します。

ClearTextのフィールドにTextオブジェクトを入れ、ExplosionPrefabのフィールドには、Explosionのプレハブを入れます。

ゲームプレイして、Cubeをクリックしましょう。

クリックでRayを飛ばし、Cubeに当たれば爆発のエフェクトを生成。

Invokeを使用して、生成のあと1秒経過してから、テキストを表示しています。

関連記事:
発生させたパーティクルをn秒後に削除
Invokeを使ってn秒後に関数を実行する
数秒後にオブジェクトを出現させる
コルーチンを使って1秒後にテキストを消す
触れた相手をn秒後に削除する
乗ったオブジェクトをn秒後に消す
出現してから1秒後に落下する
ゴールすれば花火を打ち上げる