うにty生活

UnityChanを生活させたい

パーティクルで雨と雪を降らせる #12

 

どうも、

Fortniteで忙しいラブヘイトです

 

今回は雨とか雪とか降らせてみます

 

 

 

◆雪を降らせる

雪は簡単です

GameObjecct>Efect>Particle Systemを選択するとすぐにパーティクルがプレビューされます

f:id:tubakihimeLoveHate:20181106110152p:plain

 

Instectorで設定項目がかなりありますが設定するのは2つだけ

 

・ParticleSystemの「Gravity Modifier」の値を0.5に

・Shapeの項目をBoxにして平べったく広げます

 

そうすると雪はあっという間に完成です!

f:id:tubakihimeLoveHate:20181106110347g:plain

 

◆雨を降らせる

 

雪より早いスピードにして細くすれば雨の完成なのですが

どうやって細くすればいいのかわからなかったので、有名ブログを参考にさせていただきました

tsubakit1.hateblo.jp

f:id:tubakihimeLoveHate:20181106110717g:plain

ちゃんとできました!ありがとうございます

 

基本の雨の降らせかたはこちらに書いてあるとおりなので、ちょっと補足

StartLifetimeはパーティクルが消えるまでの寿命なので降らせる場所が高くなるほど値を高くしないと地上までたどり着きません

 

あとは自分好みにカスタマイズ!

 

 

◆応用編1『最初はポツポツとゆっくり降る雨にしたい』

ゲリラ豪雨でもない限り、急に雨が降ってくることはありませんよね

降り始めはポツポツと少しずつ降ると思います

 

パーティクルのカーブという機能を使いまくってこれを再現していきたい

f:id:tubakihimeLoveHate:20181106112158p:plain

 

カーブは時間経過とともに、その時間におけるStart LifeTime(寿命)やらRate over Time(1秒間のパーティクル量)を変化させていきます

 

x軸は必ずDurationが基準となっていて

y軸が各項目です

f:id:tubakihimeLoveHate:20181106111337p:plain

例えば上の画像ではStart SpeedがDurationの75を超えるあたりまでほぼ0で100にかけて一気に高くなり、雨の勢いが強くなります

 

例えばと言いましたがこちらは必要な項目ですので同じように設定してください

カーブには基本的にテンプレートがありますが自分でいじることもできます

動かしたい場所に合わせて右クリック>Add Kyeでグラフに点ができます

f:id:tubakihimeLoveHate:20181106111759p:plain

 

こんな感じでEmissionのRate over Timeもカーブで変化させていきます

f:id:tubakihimeLoveHate:20181106112239p:plain

f:id:tubakihimeLoveHate:20181106113513g:plain

これで完成しましたが、なんかgif画像じゃ伝わりにくいですね・・・

工夫しなければ

youtubeにチャンネルでも作ろうかな

 

LoopingはDurationを繰り返しているので、途中で雨が再度ポツポツなります

外しておきましょう

代わりにDurationを降らせたい時間分増やせば解決

 

 

◆応用編2『ゆらゆら揺れる雪にしたい』

揺れる雪を作成するには「Velocity over LifeTime」を使用します

Linear項目の右端の▼からRandom Between Two Constantsを選択します

x,y,z全て -1~1にします

f:id:tubakihimeLoveHate:20181106114333p:plain

 

完成!

f:id:tubakihimeLoveHate:20181106115147g:plain

うん、やっぱりgif画じゃわかりにくい

 

◆応用編3『結晶のマテリアルを設定した雪』

先ほどの揺れる雪にプラスしてマテリアルを雪の結晶にしていきます

フリーで雪の結晶(試すだけならなんの画像でも良い)を探したらUnityにインポートします

f:id:tubakihimeLoveHate:20181106115530p:plain

 

次にマテリアルを作成してsnowとでも名付けて

Shaderは「Unlit/Transparent」にしましょう

さっきインポートした画像をTextureに設定たら私の場合はこんな感じのマテリアルになりました

f:id:tubakihimeLoveHate:20181106115631p:plain

f:id:tubakihimeLoveHate:20181106115549p:plain

 

これをRendererの項目に設定します

f:id:tubakihimeLoveHate:20181106120144p:plain

 

サイズが少し大きいのでParticleSystemの「Start Size」項目を0.3くらいにします

f:id:tubakihimeLoveHate:20181106115923p:plain

 

そのままだと紙みたいに降ってきてしょぼいので、Textureをくるくる回転させましょう

Rotation over LifetimeでY軸だけを変えていきます

さっきRandom Bettween Two Constants使ったので今度はRandom Between Two Curveで回転させます

f:id:tubakihimeLoveHate:20181106120805p:plain

AddKyeとかで、こんな感じで適当にぐねぐねさせたら完成!

 

f:id:tubakihimeLoveHate:20181106121006p:plain

Textureが様々な方向に向いてます

 

Unityちゃんの世界でも降らせたよ!

最近RedDead Redemptionもやり始めたのでシネマチックに撮ってみました笑

f:id:tubakihimeLoveHate:20181106125339p:plain

 

初めてパーティクルを触りましたが、割と直感的に扱えるのと、

カーブの使い方さえ理解できれば最初は十分な表現ができると感じました

 

それではまた