プロジェクションマッピングを軸に、世界各地で作品を制作するクリエイターチームFLIGHTGRAF Co., Ltd。本連載では、日頃からThinking Particlesを使い続けている同社代表の冨吉剣人氏が、Cinema 4D 2024.4.0 から登場した新パーティクルシステムの実力をThinking Particlesユーザーの目線から紐解いていきます。
冨吉剣人 / Kento Tomiyoshi(FLIGHTGRAF)
FLIGHTGRAFは東京をベースにしたオーディオビジュアルユニット。2013年より、主に映像、音、光などを駆使したインスタレーションの制作に携わり、観客に刺激的な体験を提供することを目的に創作活動を続けている。2013年に1minute Projection Mappingでグランプリを受賞。その後ロシアのCercle of Light、ドイツのGenius Loci Weimar、ルーマニアのiMAPPといった国際大会などでも数々の賞を受賞
www.flightgraf.com
画像はFLIGHTGRAF制作事例:“ECHO” Signal Festival 2023,Czech Republic,Church of St Cyril and St Methodius
2段階のアニメーションで木の成長を表現
今回は前回に引き続き、新パーティクルシステムを使用した具体的な作品のつくり方をご紹介します。
新パーティクルシステムは、旧パーティクルシステムとは異なり、Thinking Particles のようにより高度なパーティクルシステムとして生まれ変わりました。先日発表された最新バージョン(v2025)では、さらに機能がアップデートされていますので、ぜひMaxon公式の新機能解説もご覧いただければと思います。
新パーティクルシステムは、旧パーティクルシステムとは異なり、今までできなかった2段階以上の動きを実現できるようになりました。
具体的な例としては、木を成長させ、その後大量の葉をアニメーションさせながら生成するような表現が可能です。この制作プロセスを通じて、新パーティクルシステムの新たな可能性を一緒に探っていけたらと思います。
プロジェクトデータも配布しますので、ぜひ制作の参考にしてください。
Particle Groupの内容を確認する
サンプルデータをご覧いただければおわかりかと思いますが、基本的に使用しているエミッタはベーシックなもののみです。まずはParticle Groupの内容を確認してみましょう。
1 :Basic Emitter
このベーシックエミッタが基本の発生源となります。
2 :Particle Group_Gen
始まりとなるパーティクルです。木の高さを決めます。
3 :Particle Group_Branch01
最初の分岐となる枝です。
4 :Particle Group_Branch02
Branch01をさらに分岐する枝となります。
5 :Particle Group_leaf
最後に枝から生える葉となります。
ここで注目していただきたいのは、「Reproduce」というエミッタです。このエミッタはベーシックエミッタの中に含まれているので気になっている方もいるかもしれませんが、非常に特殊です。このエミッタ自体では何も機能しません。「ある一定の条件が加わったときに」パーティクルを発生させるというものです。
Reproduce01
Time Conditionで、60フレームからParticle Group_Branch01を生成する指示を出しています。
Reproduce02
ConditionでReproduce01が生成された後、各パーティクルの継続時間を基準に10フレーム目でReproduce02を生成する指示を出しています。
Reproduce03
ConditionでReproduce01が生成された後、各パーティクルの継続時間を基準に30フレーム目でReproduce03を生成する指示を出しています。Reproduceのライフタイムは、無限にしたいので何も設定していません。
ここでいったん休憩を入れましょう。「どこに何を入れたっけ?」「どこに何を設定したっけ?」といったことを常に覚えておかなければならないため、作業を進めるうちに少し混乱してしまうこともありますよね。
これがオブジェクトツリーの「最初はわかりやすいけど、複雑になると難しくなる」というジレンマです。しかし、MoGraphと同じように、慣れてしまえば問題なく作業を進められるようになるはずです!
使用モディファイア
では、次に各モディファイアの解説に進んでいきましょう。
1 ・ 2 ・ 5 :Turburance
木のうねりを表現するためにTurburanceを加えています。
3 ・ 6 ・ 9 :Math
木が伸びる速度をMathで設定しています。 3 は150cm程度、 6 は2分岐目なので100cm程度で良いでしょう。 9 はConditionで条件を指示し、0に設定しています。
4 ・ 7 :Gravity
木が上に向かって伸びるように、Gravityを-150cm加えています。
8 :Data Mapper
葉の大きさを0から100フレームの間で0〜1の大きさになるよう制御します。
スプラインを生成
ここまでできたら、次はトレーサーをツリーに追加し、Trace Linkにパーティクルグループを追加して、スプラインを生成しましょう。
ここで注意していただきたいのは、トレーサーに追加するのは”Particle Group”であって、エミッタではありません!!
ここは旧パーティクルシステムのユーザーがはまりやすい点なので、要注意です!
トレーサーはSweepの子にして、先端に行くにつれて細くなるように設定します。幹の太さはCircleで設定しているのですが、分岐するごとに直径が小さくなるように設定しています。
ここまでで一度再生してみると、なんとなく木の形が見えてきたのではないでしょうか。ボリュームメッシュは、複数に分割されたSweepを接続して一体化させるために存在していますが、処理が重くなる原因にもなります。そのため、サンプルデータではボリュームメッシュをOFFにしてあります。こちらはあくまで参考として見ていただければと思います。
葉のアニメーション
次に、別ファイルで150フレーム程度の葉のアニメーションを作成してみましょう。
今回は、Bendモディファイアを使って単純に葉を曲げたものですので、詳細な作成手順は割愛します。サンプルとしては、書き出したAlembicデータのみ共有しています。
葉のアニメーションが完成したら、オブジェクトツリーにクローナーを追加し、そのクローナーの子に先ほど書き出したAlembicデータを追加します。クローナーのモードは「オブジェクト」に設定し、オブジェクトには「Particle Group_leaf」を指定してください。
次に[Particle Scale]を100%にします。Particle Scaleの機能はThinking Particlesでよく使用されるものですが、クローナーのスケールをパーティクルの設定に合わせる役割を果たします。今回の設定では、Data Mapperの値が引き継がれています。
最後はクローナーにランダムエフェクターを追加して大きさをランダムにしましょう。これで再生してみると、少し重くなるかもしれませんが木が生えて、葉ができるまでの一連のアニメーションが完成です!
いかがでしたでしょうか?
今まで実現できなかったことが可能になったことで、様々なアイデアが形にできるようになり、ワクワクしますね! クローナーやAlembicと組み合わせることで、さらに複雑なアニメーションを作成することも可能になります。ぜひ今回のサンプルデータを解析して、今後の制作活動の参考にしていただければと思います。
TEXT_冨吉剣人 / Kento Tomiyoshi(FLIGHTGRAF)
EDIT_小村仁美 / Hitomi Komura(CGWORLD)