ParticleSystemで遊ぼう
まえがき
2回目の登場ですコーディング課2回生のko-kiです。遂に12月も23日ということでアドカレも今日を入れて残り3日ですね。早速本題ですが、みなさんはUnityのParticleSystemは使っていますか?僕は今年の夏頃に初めて使い始めました。設定項目が多すぎて手が出しにくいですが触ってみると結構楽しかったりします。ところで明日からはクリスマスですね。
てなわけで今回はParticleSystemで爆発を作っていこうと思います。他意なんてないですよ、えぇ
ちなみにここに書く通りに作るとできるものがこんな感じ
ここから好きなようにいじれるように設定の説明も最低限は入れていく予定です。
書いた設定項目を僕好みにいじるとこんな感じ
それでは作り方を簡単に紹介していきます。
爆破準備
それでは早速爆発を作っていきましょう。まずはHierarchyでEffects→ParticleSystemでparticle systemを生成してください。
作ったParticleSytemを選択すると丸がホワホワでてる何かとインスペクターに大量の設定項目が出てくると思います。
この大量の設定項目を全部説明するのは流石にやってられないので気になる方は公式リファレンスを見てみてください。今回は使う部分だけを軽く説明していきます。
ここからはこの大量の設定項目のこの辺りをそれぞれEmissionモジュール、Shapeモジュール、という風に呼んでいきます。
それではまずはShapeモジュールのShapeをSphereにしてRadiusを0.2にします。
これは文字通りパーティクルの放出する形を変えてます。
次に新しいマテリアルを作って、shaderをAdditiveにしてください(色々ありますがとりあえずsoft以外なら大丈夫だと思います、多分、あまりわかってない)。
そうしたらParticleTextureのところにテクスチャをいれてください。
僕は画像のような感じのぼやけた感じのテクスチャを自作しました。
余談ですがこのテクスチャには唐揚げの写真が使えたりするらしいです、世の中にはいろんな人がいるんですね(?)
テクスチャなんて用意できねぇよって方は唐揚げを用意しましょう。美味しそうですね。唐揚げ、かなり好きです。
Emissionモジュールの設定
かなり横道に逸れましたがここからが大変です。他意は無いですがクリスマスに爆発を準備するためにも頑張りましょう。
まずはEmmisionモジュールのRate over Timeを0にします。そのあとBurstsのcountを100にしましょう。
Rate over Timeは単位時間ごとに放出されるパーティクルの数でcountはBursts内で設定した時間ごとに発生させるパーティクルの数です。
ここ両方数の話やんけ何言っとんじゃワレェって思った人はEmissionモジュールの上のモジュール(メインモジュール)の上から二つ目にあるloopingのチェックを外してPlayしてみるとわかりやすくなると思います。簡単に言うと一気に(爆発的に)パーティクルを放出するかどうかって感じですかね。
メインモジュールの設定
次はメインモジュールの設定をしていきましょう、一番上のモジュールです。
まずはDurationを2にしてください。これは実行時間の長さです。その次にStartLifetimeをRandom between two constantsにして1.5と2にしてください。これはパーティクルの生存期間ですね。同様にStartSizeとStartRotationをそれぞれ0.4と1.5、0と360にしてください。これは名前の通りサイズと回転です。Random between two constantsはここに設定した値からパーティクルがランダムな大きさなどで放出されます。
この設定は僕の好みでやってるだけなのでもちろん皆さんの好きなようにしてみてください。
Color over Lifetimeモジュールの設定
それでは最後に色の設定をしてみましょう。Colorの部分を押すと左のようなウィンドウが出るのでここで色の設定ができます。今回はオレンジから透明になるようにしてみました。
ここまで設定すると次の動画のようになるんじゃないでしょうか
なんとなくは爆発してるように見えなくはないですがまだまだ勢いが足りませんよね、そんな時はメインモジュールのStartSpeedをいじると調整できますのでお好きなように設定を。
最後に
てなわけで軽くParticleSystemを紹介してみましたがどうでしたか?さっきの動画から僕好みに設定をいじってより爆発に近づけようとしたのが次の動画です。ParticleSystemを複製して子オブジェクトにして色を変えたりしてます。ついでに煙も出してみました。少し作業するだけでもこれくらいの見た目には出来るので、もっと凝るともっといい感じにできると思います、頑張ってください。僕は時間が無かったのでこれくらいで
明日はBluckさんの「今回のUnity1weekで作ったものを発表する」です。お楽しみに