パーティクルライブ作るときに最近よくやってること
Twitterに流したやつをTips的にまとめておこうかと思ったので書きました。
随時追加するような気がする。
- 歌詞の動きの余韻を残す方法
- チープな演出を曲のリズムに合わせてマシにする
- Bursts制御はLoopさせない
- 空間に発生させた粒子を最後まで生かす
- Simulation Speedをアニメーションで弄る
- 環境的なパーティクルを特定タイミングでフェードイン(フェードアウト)させる
歌詞の動きの余韻を残す方法
良い感じに展開した歌詞がピタッと止まるのがダサいから、動きの余韻を持たせるのに楽な方法。
動画制作とかタイポグラフィにおいては(多分)常識的なイージングを低コストでやるにはどうしたらいいか。
Animationのカーブで座標を全て制御して加減速をかけるのは手間なので、恒常的な移動に加速を加える方式で構想。
歌詞をメッシュパーティクルで出す→余韻分の恒常的な移動をParticle systemで行う→出現(及び消失)の時の早い移動だけアニメーションで制御という形で低コスト実装。
パーティクルシステムの粒子移動とTransformのオブジェクト移動組み合わせてイージングをいい感じにするのが最近楽
— ちゅんフレ/フレイ (@_FLEY_) May 13, 2020
Force over〜とかVelocity over〜とかで恒常的にn軸に動かしつつ、Transformでn軸の移動を制御するといい感じに余韻が残っていい感じになる。
— ちゅんフレ/フレイ (@_FLEY_) May 13, 2020
チープな演出を曲のリズムに合わせてマシにする
最近は曲のテンポ(あるいはBPM)に合わせて演出を入れるようにしている。
例えばパーティクルの発生をBurstsで制御している場合、その発生タイミング(Interval)をBPMから逆算した1ビート間の秒数に設定したりします。(BPM120なら0.5秒ごとに発生する)
オーディオビジュアライザーのもっと簡易版みたいな感じ。
どっちかというとメトロノームの方が近いかもしれない。
漠然と出ているより見てて気持ちよくなるような気がする。
あえて発生頻度を2倍(Intervalを半分)にしたり、発生頻度を半分(Intervalを倍)にしたりしてもよさげ。
テンポの速い曲だと入りが少しズレていてもリズムが保たれていればあまり違和感はない。
パーティクルを音ハメするのにいいツールとかないです?
— 煉獄丸 (@rengokmaru) May 14, 2020
1.気合い
— ちゅんフレ/フレイ (@_FLEY_) May 14, 2020
2.BPMから算出
3.波形見る
4.Bit Animaterライクなツール使う
波形見ても秒数メモリ出るわけじゃないから、BPMからビート間の秒数計算して適当に一時停止したとこから開始かけていい感じにコピペするみたいなやつやってる。
— ちゅんフレ/フレイ (@_FLEY_) May 14, 2020
Bursts制御はLoopさせない
BurstsでリズムをとっているParticleはLoopさせるとそのタイミングで微妙にズレが生じる。
Loopingを切ってメインモジュールのDurationを十分に長くした方がいい。
空間に発生させた粒子を最後まで生かす
Particle Systemのついたオブジェクトを非表示にするとそれまで出ていた粒子が一斉に消える。
高速な場面転換を行わない場合にはEmissionのチェックをAnimationで制御して粒子が個別に息絶えるのを待つべき。
発生を止めてから粒子の最長LifeTime分待ってParticle Systemを非表示にする。
Simulation Speedをアニメーションで弄る
最近は普通にやってるけど、作り始めた当初は思いつかなかったヤツ。
Particle SystemのSimulation Speedをアニメーションで制御することでスピード感を意識した演出ができる。
曲に合わせて徐々にSpeedを大きくさせたり、0に値をとばすことで時間が止まったように見えたりする。
割と海外勢の演出パクリ参考
環境的なパーティクルを特定タイミングでフェードイン(フェードアウト)させる
炎や煙などの出ては消える環境的なパーティクル(中でも粒子の生存時間が長いもの)を特定のタイミングで綺麗に空間に被せたい。
1粒子ずつ発生を待つほど余裕があるわけではないときに使う。
パーティクルのPrewormにチェックを入れ、アニメーションでMaterialのアルファ値を弄りに行く。
パーティクルONと同時に粒子は発生する、アニメーションでアルファ値を0にしておくことで透明な状態から任意のタイミングで出たり消えたりするものをフェードさせられる。