本日は cluster の技術調査枠です。
cluster の自作ワールドを作成してアップロードする手順を記事にします。
今回はパーティクルを使って世界に蛍火のような光を漂わせる手順を記事にします。
前提条件
前回記事の続きになります。
bluebirdofoz.hatenablog.com
パーティクル
Unityのパーティクル(粒子)は小さなオブジェクトをたくさん発生させて動かすシステムです。
光や炎など、様々な効果を作成するのに役立ちます。
docs.unity3d.com
今回はこのパーティクルを使って蛍火のような光を背景に漂わせてみます。
パーティクルの追加
Hierarchy 上で右クリックから[Effects -> Particle System]でパーティクルのオブジェクトを追加できます。
パーティクルを追加すると、オブジェクトを選択中は[Scene]画面でどのようなパーティクルが発生するかを確認することができます。
この表示は[Scene]画面の右下に表示されるプレビューパネルで停止したり、リセットしたりすることができます。
Pause | アニメーションの一時停止 |
Restart | アニメーションのリスタート |
Stop | アニメーションの非表示 |
Playback Speed | アニメーションの表示速度 |
Playback Time | アニメーションの経過時間 |
今回はワールドの外に蛍火を飛ばしたいので、オブジェクトのトランスフォームを調整して部屋の外に配置しました。
パーティクルの設定調整
次にパーティクルの設定値を調整して、蛍火のような見た目にします。
例えば、パーティクルには以下の設定項目があります。
プロパティー | 機能 |
---|---|
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 | 各パーティクルの最初の色 |
更に幾つかの設定項目はプルダウンを開くことで設定の入力型を切り替えることができます。
例えば Start Color には以下の入力型があります。
プロパティー | 機能 |
---|---|
Color | 全てのパーティクルは存続期間を通じてこのカラーで放出されます |
Gradient | グラデーションの最初の色で始まり、グラデーションの最後の色で終わるパーティクルを放出します |
Random Between Two Colors | 指定された2つの色の間のランダム線形補間に基づくパーティクルカラーを放出します |
Random Between Two Gradients | 選択した2つの色の間のランダム線形補間でカラーを放出します |
Random Color | 選択した2つの色の間からランダムにカラーを放出します |
今回は蛍火を表現するため、以下のようにデフォルト値から設定を変更しました。
Start Lifetime: 1 ~ 20 Start Speed: 0.5 ~ 1 Start Size: 0.3 Start Rotation: 5 Start Color: Random Color
更にパーティクルを広がるように漂わせてみます。
パーティクルの散布の設定は[Shape]項目を開いて、変更します。
以下のようにデフォルト値から設定を変更しました。
Shape: Hemisphere Radius: 3
シーンを再生して動作を確認します。
外の風景を見てみると、蛍火がフワフワと漂っていれば成功です。