sunarit’s blog

Unity開発の備忘録

【オススメ】Particle Playground

Unityの機能の中で習得が大変なもののひとつと思っているのがパーティクル(Shuriken)です。
ただ単にパーティクルを排出したり、Velocity調整で飛び方を変えるくらいであれば大して難しくないのですが、吹き出す水や火などは試行錯誤が大変で、それらをプリファブ化したアセットも沢山販売されています。
そんなUnityのパーティクル機能ですが、これを劇的に簡単にしてくれるのが「Particle Playground」です。
あらかじめ多くのプリセットが用意されており、水や火などももちろん用意されています。ボタンをポチっと押したら、あとはパラメーターを調整すれば、それっぽいパーティクルがあっと言う間に作れてしまいます。
それくらいであれば、水や火のアセットを購入すればいいんじゃないのか?って言う気もしますが、このParticle PlaygroundではSkinned Meshやテクスチャーも簡単にパーティクルの排出元にしてくれます。
というわけで、走る犬の3Dモデルをパーティクル化したのが下のアニメーションです(普通に黒背景で作っても面白くないので、背景をuGUIのPanelにしてみましたが、ちょっと見づらくなってしまいました。ごめんなさい)。
f:id:sunarit:20150915003950g:plain
慣れれば、こんな表現が10分程度で作れてしまうParticle Playgroundですが、やはり要スクリプトです。
上の走る粒子犬は、5秒後に粒子が吹き飛ぶように指定してあります。これはスクリプトのコルーチンで実現しています。

具体的にはこんな感じです。

	IEnumerator emit() {
		yield return new WaitForSeconds(3.0f);
		particles.emit = true;
		particles.turbulenceStrength = 0f;
		yield return new WaitForSeconds(5.0f);
		while(particles.turbulenceStrength < 30) {
			particles.turbulenceStrength = particles.turbulenceStrength + 25*Time.deltaTime;
			yield return null;
		}
		yield return new WaitForSeconds(1.0f);
		particles.emit = false;
	}

特に説明する必要もないコードですが、ノースクリプトだとただ単に走るだけの粒子犬になってしまいます。
あくまでParticle PlaygroundはShurikenのラッパー + 拡張的なものなので、仕方ないところです。

また、いくらShurikenよりも簡単とは言え、調整のパラメーター項目はそこそこの数がありますので、ある程度思い通りにコントロールできるようになるまでには若干の習得時間が必要になると思います。この辺は、豊富なサンプルシーンとチュートリアル動画でだいぶ軽減されてはいますが。

最後に。
「UnityのShurikenは調整が難しい、でも、やっぱりパーティクルは使いたい」という方には文句なしにオススメです。
ただ、通常価格70USDはその価値はあるとは思いますが、やはり高いですね。
ちょっと調べてみましたが、私が購入したのは昨年の11月のセールの時で21USDでした。
このParticle Playgroundは度々セール対象になっているのを見ているので、セールを待ってみるのもいいかもしれません。

[Unity 5対応]
Asset Store