MRが楽しい

MRやVRについて学習したことを書き残す

clusterの自作ワールドを作成してアップロードする その12(パーティクルの活用)

本日は cluster の技術調査枠です。
cluster の自作ワールドを作成してアップロードする手順を記事にします。
f:id:bluebirdofoz:20201226231411j:plain

今回はパーティクルを使って世界に蛍火のような光を漂わせる手順を記事にします。

前提条件

前回記事の続きになります。
bluebirdofoz.hatenablog.com

パーティクル

Unityのパーティクル(粒子)は小さなオブジェクトをたくさん発生させて動かすシステムです。
光や炎など、様々な効果を作成するのに役立ちます。
docs.unity3d.com

今回はこのパーティクルを使って蛍火のような光を背景に漂わせてみます。

パーティクルの追加

Hierarchy 上で右クリックから[Effects -> Particle System]でパーティクルのオブジェクトを追加できます。
f:id:bluebirdofoz:20201226231437j:plain

パーティクルを追加すると、オブジェクトを選択中は[Scene]画面でどのようなパーティクルが発生するかを確認することができます。
f:id:bluebirdofoz:20201226231446j:plain

この表示は[Scene]画面の右下に表示されるプレビューパネルで停止したり、リセットしたりすることができます。
f:id:bluebirdofoz:20201226231457j:plain

Pause アニメーションの一時停止
Restart アニメーションのリスタート
Stop アニメーションの非表示
Playback Speed アニメーションの表示速度
Playback Time アニメーションの経過時間

今回はワールドの外に蛍火を飛ばしたいので、オブジェクトのトランスフォームを調整して部屋の外に配置しました。
f:id:bluebirdofoz:20201226231505j:plain

パーティクルの設定調整

次にパーティクルの設定値を調整して、蛍火のような見た目にします。
例えば、パーティクルには以下の設定項目があります。

プロパティー 機能
Duration システムが実行する時間の長さ
Looping 有効にすると、システムが継続時間の終了時に再び開始し、そのサイクルを継続的に繰り返します
Prewarm 有効にすると、システムはまるで、すでにサイクルを 1 回完了したかのように初期化されます ( Looping が有効であるときにのみ動作します)
Start Delay 有効にすると、システムがパーティクルの放出を始める前に数秒遅延します。
Start Lifetime パーティクルの最初の生存期間
Start Speed 任意の方向への各パーティクルの初速
3D Start Size 各軸のサイズを別々に制御したい場合は、これを有効にします。
Start Size 各パーティクルの最初のサイズ
3D Start Rotation 各軸の回転を別々に制御したい場合は、これを有効にします。
Start Rotation 各パーティクルの最初の回転角度
Randomize Rotation Direction いくつかのパーティクルを反対方向にスピンさせます。
Start Color 各パーティクルの最初の色

f:id:bluebirdofoz:20201226231515j:plain
docs.unity3d.com

更に幾つかの設定項目はプルダウンを開くことで設定の入力型を切り替えることができます。
例えば Start Color には以下の入力型があります。

プロパティー 機能
Color 全てのパーティクルは存続期間を通じてこのカラーで放出されます
Gradient グラデーションの最初の色で始まり、グラデーションの最後の色で終わるパーティクルを放出します
Random Between Two Colors 指定された2つの色の間のランダム線形補間に基づくパーティクルカラーを放出します
Random Between Two Gradients 選択した2つの色の間のランダム線形補間でカラーを放出します
Random Color 選択した2つの色の間からランダムにカラーを放出します

f:id:bluebirdofoz:20201226231537j:plain
docs.unity3d.com

今回は蛍火を表現するため、以下のようにデフォルト値から設定を変更しました。

Start Lifetime: 1 ~ 20
Start Speed: 0.5 ~ 1
Start Size: 0.3
Start Rotation: 5
Start Color: Random Color

f:id:bluebirdofoz:20201226231557j:plain
f:id:bluebirdofoz:20201226231607j:plain

更にパーティクルを広がるように漂わせてみます。
パーティクルの散布の設定は[Shape]項目を開いて、変更します。
以下のようにデフォルト値から設定を変更しました。

Shape: Hemisphere
Radius: 3

f:id:bluebirdofoz:20201226231616j:plain

シーンを再生して動作を確認します。
外の風景を見てみると、蛍火がフワフワと漂っていれば成功です。
f:id:bluebirdofoz:20201226231624j:plain

ワールドの更新と確認

前回と同じ手順で再びワールドを更新して確認しました。
f:id:bluebirdofoz:20201226231636j:plain