記事の目次

    今回は夜空に咲く華やかな「打ち上げ花火」を制作します。400年以上の歴史をもち、膨大な種類がありながら今なお進化を続ける花火のスケール感をFumeFXを用いて再現してみました。

    ※本記事は月刊「CGWORLD + digital video」vol. 201(2015年5月号)からの転載となります

    TEXT_近藤啓太(ジェットスタジオ
    EDIT_小村仁美 / Hitomi Komura(CGWORLD) 、山田桃子 / Momoko Yamada

    400年以上の歴史をもつ夏の風物詩

    読者のみなさまこんにちは。今回取り扱うテーマは「打ち上げ花火」です。打ち上げ花火と言えば夏の風物詩。確認できる限りでは、日本で花火を楽しむようになって400年以上経つそうです。そんな長い歴史をもつとあって、花火には実に多くの種類があることがわかりました。今回使用したリファレンス動画では定番である球状の打ち上げ花火だけではなく様々な種類の花火が登場していますので、時間の許す限り再現に挑みました。今まで何気なく花火を見ていたという人にも「こんなに色々な花火があるんだ」と、本稿を読んで興味をもってもらえたら幸いです。

    そんな驚くほどの種類がある打ち上げ花火ですが、やはりその理由は職人の方たちが時を超えて連綿と積み上げてきた技術と創作への熱意があったからにほかなりません。人がひとりでできることは些細ですが、同じ志をもった人たちが集まれば人数以上の素晴らしい作品ができるのは3DCGでも同じだと思います。日本の3DCG業界も打ち上げ花火の歴史のように、切磋琢磨しながら永く続いていけばと感じた次第です。

    主要な制作アプリケーション
    ・Autodesk 3ds Max 2013
    ・Adobe After Effects CS5.5
    ・FumeFX 3.5.3

    STEP1:「打ち上げ花火」を考える ~花火のしくみと種類を調べてみた~

    400年以上続く日本の花火のしくみと種類の多さ

    今回のテーマである「打ち上げ花火」について説明しますと、特殊な火薬を球状に包んだ「花火玉」と呼ばれる紙製の玉を打ち上げることによって上空で引火し、その燃焼や音を楽しむものを言うそうです。内部には主に「星」と言われる金属粉を混ぜ合わせた火薬が敷き詰められており、星の配置を変えたり燃焼による「炎色反応」を起こすことで様々な形や色の花火を楽しむことができます。お祭りのときに幾度も見ている花火ですが、実は今でも毎年各地域で新作が発表されており、数えきれないほどの種類が存在します。大きく分けると「割物」、「小(半)割物」、「ポカ物」、「型物」という名称に分類でき、花火玉の中身や割れ方が主な分類の理由となっているようです。職人に受け継がれ改良されてきた日本の打ち上げ花火は世界でも屈指の美しさを誇ります。次に見るときは、ひとつひとつ形や色の変化に注目するといっそう花火が楽しめるかと思います。


    STEP2:「花火の煙」を考える ~煙は花火と同じくらい大切だった~

    煙によって花火のスケールや空間の奥行きを表現する

    STEP 02では「花火の煙」を再現してみます。筆者は花火の煙はメインである花火と同じくらい大切な要素だと考えています。花火の照り返しによって上空で浮かび上がる煙はスケールの大きさや空間の奥行きを感じさせるので、より花火の魅力を伝えてくれていると思います。そのため、花火が開花するたびに思わず煙にばかり注目してしまう人も多くいるのではないでしょうか。さて、花火の煙を再現するためには本連載ではお馴染みのプラグインFumeFXを使用します。今回は煙の要素別にシミュレーションを行うことにしました。❶地上に滞留する煙、❷スターマインによる煙、❸上空の煙の3種類です。各パーティクルが用意できたらさっそくシミュレーションを行います。花火となるとどうしてもグリッドの規模が大きくなるので、普段より煙の立ち昇りが遅く、望んだ煙の質感や動きの再現に手間どってしまいます。そのような場合はParticle SrcのTemperatureの数値を上げるなどしてグリッド内の温度を上げ、煙の上昇する力を調整します。それでも上がりにくい場合は、Gravityの数値を変更して全体の上がりを調整するのもひとつの方法です。


    今回煙を3つの要素に分けてシミュレーションしました


    ❶は動画を参考に煙の発生する量に合わせるため、フレームごとにイベントをつくりパーティクル数を調整します


    ❷と❸についてはSTEP 03で後述する花火のパーティクルをベースに、シミュレーション用に調整したものを使用します


    煙の立ち昇りが遅い場合はParticle SrcのTemperatureやGravityの数値を変更して上がる力を調整します

    次ページ:
    STEP3:「花火」を考える ~種類に合わせた形や動きが大切だった~

    [[SplitPage]]

    STEP3:「花火」を考える ~種類に合わせた形や動きが大切だった~

    Spawnを活用して様々な花火の形や動きを再現する

    STEP03では花火を再現していきます。元の動画を再現するために必要な花火はざっと調べて15種類ほどありますが、全てパーティクルフローを用いて制作していきます。その中で、各花火を作る際に最も重要な働きをするのが[Spawn]テストです。Spawnは適用したパーティクルを発生源にして、新たなパーティクルを発生させることができるアクションです。これにより打ち上げた花火玉の役割となるパーティクルから適量のパーティクルを発生させることができるので、実際の花火のように上空で燃焼した星が飛び散ったような表現が可能になります。

    Spawnの説明の前にまずは打ち上げ花火のベースとなるパーティクルフローを紹介します。[Emitter_Start_Source]イベントではイベントの膨大化を防ぐために、衝突判定によって花火玉となるパーティクルの発生ができるよう設定しています。次に[Emitter_p]イベントで花火玉となるパーティクルの大きさやマテリアル、動きを指定し、さらに花火の役割となる[Spawn_p]イベントに移行させるためのアクション[AgeTest]を適用します。移行するタイミングは「玉の座りが良い」と言われる、花火が綺麗に開花するための適した瞬間に、花火玉の上昇から落下に力が移るタイミングを見極めて移行時間を決定します。パーティクルで作った花火の形に影響することはないのですが、実際の花火と同じように大切なポイントを意識して制作することは「花火らしさ」を出すために必要になります。末端にはSpawn_pイベントを用意し、今回の制作方法で最も大切なアクションSpawnを使用して花火を再現します。パーティクルの発生条件については、同アクション内の[Spawn Rate And Amount]で変更することができるので各花火によって設定を切り替え対応していきます。花火の定番である「牡丹」では一度の発生を行う[Once]。線状に大量の花火を発生させる「スターマイン」や「椰子」などには秒単位でパーティクル量を指定できる[Per Second]や、距離に応じて発生する[By Travel Distance]などを使い分けることで花火の基本的な特徴を再現していきます。これらのイベントを組み合わせることで「菊」や「千輪」、「芯入り」などといった花火も再現することができます。

    各花火の動きと形ができたら、次にマテリアルを適用していきます。花火の中には「掛け星」と言われる時間が経つと変色する星があるため、[Particle Age]のマップを適用したマテリアルを用意します。このマップはパーティクルイベント内にある[Delete]で指定した寿命に連動して、パーティクルの質に変化を加えることができるようになります。


    花火の作成に最も重要な働きをするのが[Spawn]テストです。パーティクルを発生源にして新たなパーティクルを発生させることができるため、実際の花火のように上空で燃焼した星が飛び散ったような表現が可能になります



    • 打ち上げ花火のベースとなるパーティクルフロー。[Emitter_Start_Source]イベントから花火玉のイベント[Emitter_p]に移行、その後花火のイベント[Spawn_p]に移行させています



    • 花火の種類によってパーティクルの発生条件を切り替えます。「牡丹」では[Once]



    「椰子」や「スターマイン」には[Per Second]や[By Travel Distance]【画像4】のほか、様々に組み合わせて「菊」や「千輪」なども表現します【画像5】


    花火の色と不透明度のコントロール例。紫から赤に変化し消える場合は、画像のスロットの方向に各マテリアルを適用します。この設定では発生から消失の間の70%は紫色のパーティクルが飛び、以降の70~100%では徐々に赤色のパーティクルに変化していく、という条件を与えることができます。こうしたParticle Ageの特性を利用して[Opacity]では花火の消える推移にグラデーションを施すなどして、より現実の花火に近い挙動を目指します

    STEP4:「照り返し」を考える ~発光現象には照り返しが付きもの~

    オムニライトを配置して照り返しを作る

    煙と花火が用意できましたので、最後のSTEPでは「花火の照り返し」を制作します。当たり前ですが花火は火と同じ発光現象なので、周囲の環境に照り返しの影響を与えます。花火の照り返しを煙に再現するためにはライトが必要になりますので、あまりオススメしたい方法ではありませんが今回オムニライトを花火のタイミングと色に合わせて時間の許す限り配置することにしました。

    配置の方法は各花火によって発生場所や規模が異なることを考慮して、花火の種類ごとに必要と思われる数のライトを準備していきます。必要分のライトを配置できたら、次に花火の発生から消えるまでの場所に応じてライトの[Multiplier]にアニメーションを適用します。色の変化する花火にはカラーにもアニメーションを適用していきます。大変ではありますが、丁寧に制作することで花火と連動した照り返しを作ることができました。これで煙への照り返しも完成になります。


    花火の種類ごとに照り返しを表現するためのオムニライトを配置します



    • ライトの配置ができたら、各ライトの[Multiplier]にキーを打ちます



    • 色が変化する花火には、カラーにもアニメーションを付けます



    完成した花火の照り返し

    完成

    花火エフェクトは実務でもたまに制作する機会があるのですが花火単体での制作要望が多いので、今回のテーマでは前からやってみたかった煙や照り返し、水面の反射も再現できる動画をチョイスしました。花火だけでも綺麗ですが、周囲に与える影響を含めた画はメインエフェクトを引き立ててくれるのでより花火が綺麗に見えるのではと思います。




    Profile.

    • 近藤啓太(ジェットスタジオ)
      エフェクトを中心に映像制作をしております


    • JET STUDIO
      ゲーム、映画、遊技機映像など幅広く制作を行う、3ds MaxをメインツールとするCGプロダクション。ベトナムにも支社を構え、大規模な制作体制を採っている
      www.jetstudio.co.jp


    • イラストでわかる物理現象 CGエフェクトLab.
    • イラストでわかる物理現象 CGエフェクトLab.


      定価:3,000円+税
      サイズ:B5変型/フルカラー
      総ページ数:288
      ISBN:978-4-86246-395-1