Unityのパーティクルで背景を描いてみた話
Unityのパーティクルで遊んでいたら、麦畑っぽい背景ができた。
せっかくなので、いつか使えるようにメモっておく。
20x20のクアッドに描画してるイメージで。
準備
プロジェクトを作成後、Main Cameraに付いてるCameraコンポーネントの設定を以下のように変えます。
- Clear Flags : Solid Color
- Background : 192,160,0
次にパーティクルシステムを生成。
Position(0,0,0), Rotation(0,0,0), Scale(1,1,1)にします
パーティクルの詳細設定
Particle Systemコンポーネントを設定。
- Looping : ON
- Prewarm : ON
- Start Lifetime : 2
- Start Speed : 0
- 3D Start Size : ON, (0.2, 2, 0.2)
- MaxParticle : 2000
- Emission
- Rate over Time : 1000
- Shape
- Shape : Box
- Scale : (20,20,0)
- Color over Lifetime
- Color :
- Alpha(上側)
- Location 0%:0
- Location 50%:255
- Location100%:0
- Color(下側)
- Location 0%:(255,224,0)
- Location100%:(224,160,0)
- Alpha(上側)
- Color :
- Rotation over Lifetime
- SeparateAxes : ON
- Rotation over Lifetime
- x : 0
- y : 0
- z : CurveでCos波のように設定
雑に解説とか
パーティクルだけど速度を0にして動かさず、その場でフェードイン~フェードアウトで消えるようにすることで、エフェクトというよりも背景に使えそうなものにもできます。パフォーマンスに注意ですが。
3D Start Sizeでパーティクルを縦長にすることで麦にしていますが、麦っぽさの表現としては、やはり揺れを表現するRotation over Lifetimeがポイント。パーティクル生存時間のちょうど半分を過ぎたタイミングで揺り戻し始めるよう、回転力を掛けています。
Start Lifetimeで変化速度、EmissionのRate over Timeで麦パーティクル量を調整できます。 多くすると豪華ですが、パフォーマンスとの兼ね合いになるところ。 変更する場合、合わせてMaxParticleを変更する必要があります。
海にもアレンジしてみた
これ、いろいろ応用できそうじゃない?
横長にして青系に変えたら、海の波とかも描けそうじゃない?
よしやってみよう。さっきの設定を崩さずに、
- 3D Start Size : ON, (2, 0.2, 0.2)
横長にして、
- Color over Lifetime
- Color :
- Color(下側)
- Location 0%:(64,64,255)
- Location100%:(128,64,255)
- Color(下側)
- Color :
- CameraコンポーネントのBackground : (64,64,255)
青系。こうなった
海だー!うーみー!
パーティクルさんと遊ぶといつも楽しい…!