なぜつくるのか
焚火をぼんやり眺めるのが好きなので。
あと、Unityのパーティクルの勉強もかねて。
初手Standard Asset
火ってStandard Assetにありそうよね。
とおもってインポートしてみたら、本当にあった。
FIreMobile
松明っぽい。
FIreComplex
火の魔法みたい。
んー、素晴らしいクオリティ。
これを使ってもいいけどお勉強のために自分でも作ってみよう。
火の表現
火というか、エフェクトはパーティクルを使って作るらしい。
Unityのパーティクルでエフェクトを演出 - Qiita
ありがとう、先人の方
Unity パーティクル(2) 炎のエフェクト 松明風と某悪魔風 - LemonteaのUnity部屋
パーティクルを追加して
Create -> Effects -> Particle System火っぽい色にして
Inspector -> Start Colorたくさん粒子を出すようにする
一度に出る粒子数を指定できる。
Inspector -> Emission -> Rate over Time粒子をもやっとした画像にする
RendererのMaterialに任意のテクスチャが設定できる。
Inspector -> Renderer -> Material
ここまでの途中経過。
火事だこれ。
粒子の消えるまでの期間を短く、初速を遅くする
Inspector -> Start Lifetime
Inspector -> Start Speed粒子を時間が経つごとに小さくする
このグラフの縦軸が粒子の大きさ、横軸が時間の経過。
Inspector -> Size over Lifetime -> Size
粒子がゆらゆら動くようにする
Noiseを設定することで、今まで放射状に出ていた粒子が不規則に動くようになる。
Unity5.5 パーティクルシステム | ギャップロ
Inspector -> Noise
- 最後にちょっと調整
最初の粒子の大きさがちょっと小さくて燃えてる感がないので調整。
Inspector -> Start size
できた(1回目)
だいぶ火っぽい。
(焚火とはいいがたい燃え方に目をそらしつつ)
風にゆらめく感を出したい
風にゆらめく火は良いものだ。
さすがに、これは自分でスクリプト書かないとないでしょ。
WindZone。あるね。うん、何でもあるね。
Wind Zone - Unity マニュアル
WindZoneを追加
WIndZoneで任意の方向に風を吹かせることができる。
Modeで吸い込むか吐き出すかを指定できる。
Directional-> 一方向の風/Spherical-> 球の中心から外側への風
Create -> 3D Object -> Wind Zone
particleがWindZoneの影響を受けるようにする
External Forcesにチェックを受けると外部からの影響を受けるようになるようだ。
Multiplierの数値を調整することで影響を受ける度合いを変えることができる。
Inspector -> Multiplier
できた(2回目)
すごいきょうふうだ。
よし、焚火をつくろう
パーティクルを""""完全に理解した""""ので、アセットを組み合わせて焚火を作ろう。
使ったもの
- Camfire Pack(modelBonfire)
- Standard Asset(FIreComplex)
いろいろ試したんだけど結局、Sandard Asset最高ってやつです。
できた(3回目)
変えたのは、FIreComplexの中のSparksFallingの個数を2に変更したぐらい。
火の粉がぱちぱち飛んで危なそうだったので。
次回やることと課題
今回パーティクルで作ったんだけれども、この焚火上から見ると平面なのよね。
火のテクスチャをアニメーションさせて表示しているので、側面からなら常に正面の絵を表示すればよいけど、
真上から見たときの絵がないのよね。
次回は実際にHMDで見えるようにして、確認してみる。
あと、マシュマロ焼けるようにする。