Unity particleシステムでお金をひらひら舞わせる

Unity particleシステムでお金をひらひら舞わせる過程ではまった点、注意点などを書いていきます。WebGLです。パーティクルが動作しない問題等。

はじめ

hierarchy内で右クリック

Effects→Particle System

を選択

デフォルトでは下の写真みたいな感じになるはずです。

アセットストアへ

次にアセットストアに行き、Money Pack をダウンロード・インポートします。(無料って素敵(*ノωノ))

必要な奴だけインポートするのもいいですが、面倒くさいので全部インポートします。

Renderer設定

・Particle SystemのRenderer(一番下)内にある、Render Mode をMeshに変更。

・その下のMeshをBox002を選択。

・その下のMaterialを100dolを選択。

基本的に選択は右端にある、丸の中に点のある奴から行います。

上の設定をすべて行った場合、パーティクルがデフォルトの光の玉からお札に代わると思います。(下の写真)

今のままでは、お札が垂直に落ちていくシュールなものになるので、いろいろと設定を変えていきます。以下の設定は、自分のタイピングゲームの奴と同じ感じにしていきます。

以下設定変更点

・Start Size 1→6 大きさ変更

・3D Start Rotation チェックを入れる。右端の▽からRandom Between Two Constants を選択し、x,y,zすべてを0~180に変更する。(写真上) お札がランダムな角度で舞う設定

・Gravity Modifier 0→1 重力の設定変更。上から下に落ちてくるようにする。

・Max Particles を適当な値に変更。個々の値によって用意される配列の大きさが決定されるので、あまり大きな値にはしないほうが良いみたいです。

・Stop Action None→Destroyに変更。

Emission設定

・上で触っていた設定の下のEmissionの設定変更。ここではRate Over Time を200に変更。

Renderer設定

・一番下のRenderer設定変更。Enable Mesh GPU Instancing のチェックを外す。Buildの際にかかわってきます

以上、設定の変更をしたら下の写真みたいな感じになります。

これで、龍が如くのワンシーンみたいになりました。

Buildの際の注意点

・一番下のRenderer設定変更。Enable Mesh GPU Instancing のチェックを外す。Buildの際にかかわってきます

について触れていきます。

私がゲームをWebGLでBuildし実際に公開したときに、パーティクルで設定したものが動作せず、真ん中にオブジェクトだけがぽつんと表示される悲しい状態に陥りました。調べても特に解決方法などが乗っていなかったので書いていこうと思います。

あまり正確ではないかもしれませんが、以下調べてわかったこと

・GPUの使用は、ブラウザごとの設定によって変わってきます。

・Google ChromではデフォルトでGPUの使用はしないのでチェックを外していないとパーティクルが動作しません。IEでは確か動作します。

どのブラウザでも動作するようにするにはチェックを外すのが無難ではないでしょうか。

スクリプトから管理を

あとは、パーティクルシステムをスクリプトで動かすコードを一応

からのオブジェクトを作って、そこにスクリプトをアタッチします。そして、

GetComponent<ParticleSystem>().Play();

お好きなタイミングで上のコードを実行します。

細かい挙動もスクリプトから動かせるのでまた調べていきたいです(~_~;)。

感想

アセットストアは神。本当にそう思います。(*´Д`)

パーティクルシステム一つとってもUnityは機能が充実していてゲーム作成が楽にできますね。パラメータをいじるだけでもいろいろ発見があったりと、本当にUnityは神ですね。

当たり判定を付けたりしたい場合はスクリプトのほうで動かすべきなのか、いろいろといじっていきたいです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です