【blender】カメラに追従するパーティクルエフェクトの再現
※この記事は筆者の備忘録です。
【アイドルタイムプリパラ】華園しゅうか ライブシーンをヌルヌルにしてみた!@60FPS
こちらはアニメ”アイドルタイムプリパラ"のライブシーンです。こちらのシーンで使われている画面端のエフェクトをblender上で再現していきます。
こんな感じになります。
用意するもの
カメラ :カメラはエンプティを親に設定しています。(個人的にはこうすると劇的にカメラが使いやすくなる気がします) エンプティは[0,0,0]、カメラは[0,-2,0][90°,0°,0°]に置いてあります。
テクスチャ:とても見ずらいですが下の画像のようなものを三種類用意しました。(アルファを含んでいます。)
パーティクル発生用オブジェクト:このようにカメラ視点にしたときにちょうどカメラのふちを覆うようなメッシュを作成します。位置や回転は適用しておきます。
パーティクルの作成
発生用オブジェクトにパーティクルを設定します。タイプはエミッタで、レンダーをハロー、重力や速度の値を0にします。レンダーのマテリアルには以下のようなマテリアルを設定します。
マテリアルの設定
パーティクルのハローに設定するマテリアルを作ります。(パーティクルのレンダータブで指定したマテリアルを設定します。)
マテリアルのタイプは[ハロー]、ハロータブの[オプション:テクスチャ]をONにします。また、サイズは0.01くらいに設定しました。
次に、マテリアルに三種類のテクスチャを設定していきます。
メインのテクスチャです。カラーとアルファを影響に持っています。
サイズ調整用のテクスチャです。テクスチャのタイプは[ブレンド]を使用しています。
また、マッピングを[ストランド/パーティクル]に設定することで、それぞれのパーティクルの発生時間から消える時間まで、画像の左端から右端へと移動するテクスチャを作成できます。
パーティクル発生時→黒、アルファ0
↓
消える時間(パーティクルの寿命で設定)→白、アルファ1
これをサイズにのみ影響を与えるようにすれば、ハローパーティクルのサイズがだんだん大きくなるアニメーションになります。(アルファの値をサイズにしているようです。)
また、このままではハローのサイズが多く過ぎるので、影響:ブレンド値を低めに設定します。
同じように、はろーのアルファ値を時間変化させるテクスチャを用意します。このテクスチャによって、ハローパーティクルがフェードアウトするようになります。[影響:アルファ]にのみチェックを入れます。
これらの作業を行うと、以下の画像のようなエフェクトが出来上がります。
カメラ追従設定
このままでは、カメラが移動すると、ハローパーティクルは取り残されてしまいます。
ここで、パーティクルの設定から、[レンダー>親]をカメラの親にしているエンプティに設定します。(工夫すればカメラを親に設定しても実現できます。)
こうすることで、パーティクルはカメラの方向に合わせて移動します。
ただ、現段階の実装では、カメラの親エンプティのサイズを変更すると、パーティクルのサイズが相対的に小さくなるという問題があります。
これによって、最初の動画のようなシーンになります。