>   >  JET STUDIO Effect Lab.:復刻・第23回:クルマの水跳ね
復刻・第23回:クルマの水跳ね

復刻・第23回:クルマの水跳ね

今回は、クルマが水溜まりの上を走る際に水を跳ね上げる現象に注目してみました。理想的な水のせり上がりを表現するため衝突用オブジェクトなどに少し工夫をしています。

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

TEXT_近藤啓太(ジェットスタジオ
EDIT_小村仁美 / Hitomi Komura(CGWORLD)

水がもつ表情の多様さとその魅力

さて、今回のテーマは「クルマの水跳ね」です。普段あまりお目にかかりたくない現象のひとつですが、どんなしくみで水が跳ね上がるほど変化するのか興味が湧きましたので挑戦することにしました。

水は火や破壊同様、自然現象のなかでも代表的なエフェクトであり、シミュレーションやレンダリングコストの高さから難易度の高いテーマとしても知られています。魅力は何といっても表情の多様さです。「三態」という固体、液体、気体の状態変化がもたらす様々な見た目のバリエーションの多さは想像にかたくありません。

このように、水単体の変化だけでも十分エフェクト制作にとって魅力的な題材なのですが、外部からの干渉によって起きる水の変化、つまり今回のテーマでいうところの"クルマが接触することで生じる水の変化"もまた大きな魅力をもっています。これは先ほど説明した三態とはまたちがった水の魅力を垣間みることができます。前回紹介した「滝」も地面の高低差という干渉があることで生まれた水の魅力的な変化のひとつです。水跳ねもそうした干渉を受けてできた独特な水の表情であり、この現象が生まれるしくみを調べてみようと思ったことが先述の模写挑戦の理由となっています。

特定のかたちをもたないからこそ無数の表情を見せてくれる水。これから先の連載でも何度か取り上げるときが来るはずです。いや、来ます。今回のテーマでもそんな水の魅力が少しでも伝われば幸いです。

主要な制作アプリケーション
・Autodesk 3ds Max 2015
・Adobe After Effects CS 6.0
・Krakatoa MX 2.4.3
・PhoenixFD 2.2

STEP 01:「水がせり上がる原因」を考える~水跳ねのメカニズムを調べてみた~

水跳ねは「タイヤの回転」ではなく「クルマの押し出し」が主な原因

クルマの水跳ねとは、路面の水溜まりをクルマが通過した際、水がクルマの前面や側面に飛散する現象です。周囲に水を飛散させるため近くの歩行者や対向車にはちょっとやっかいな現象でもあります。歩道を歩いていたら横切ったクルマから水を引っかけられた、という経験のある方も多いのではないでしょうか。そんなちょっと迷惑な水跳ね発生のメカニズムですが、そもそも水跳ねを研究した文献が少なく、これと言った結論にはまだたどり着いていないようです。

そうした数少ない文献から導き出した主な発生原因は「クルマの移動による水の押し出し」です。タイヤの回転が原因じゃないの? と考えた方も多いと思いますが、少なからず関わってはいるものの下図を見ていただいてわかるように回転で起きる現象は後方に飛散する水の吹き上がりであって、主に前方やサイドに飛び散る水跳ねとは厳密にはちがう現象と考えてよいようです。どちらも困った現象には変わりありませんけどね。以降のSTEPでは水跳ね再現に加えて雨や波紋の制作にも言及していきたいと思います。


STEP 02:「雨とレンダリング」を考える ~雨着水時の飛沫を制作する~

Spawnによる雨システムの構築とアニメーションテクスチャの活用

STEP 02では雨の飛沫を制作します。はじめにParticle Flowのオペレータ[Spawn]を中心に下図のように簡単なイベントフローを構築します。このフローでは地面と同じ位置にある[Defrector]に衝突することで[Spawn]のあるイベントへ移行し、雨が地面に着水した際の振る舞いを再現しています。


雨の飛沫を制作するために、Particle Flowでイベントフローを構築します

さて、このパーティクルシステムをレンダリングするとカメラブラーを使用していることもあり、レンダリングがなかなか返ってきてくれません。そこで今回はパーティクルのままでのレンダリングを諦め、雨の飛沫はアニメーションテクスチャを利用してレンダリングコストを軽減することにします。


このパーティクルシステムでレンダリングをスタートすると、レンダリングウインドウがフリーズしてしまい、レンダリングが進みません

先ほど用意した雨の飛沫パーティクルのAmountを1にして1回だけ飛沫が起きるように設定します。下図のように飛沫が一度だけ[Spawn]イベントに送られるので、飛沫のスタートからパーティクルが消えるまでレンダリングを行います。


パーティクルでのレンダリングは諦めてアニメーションテクスチャを活用することにします。パーティクルのAmountを1にして1回だけ飛沫を起こしてレンダリングし、連番画像を作成します

この連番画像をはじめに作成したParticle Flowで発生させるために[Spawn Splash]イベント内に[Shape Instance]を適用し、飛沫の連番画像を貼った平面を指定します。アニメーションテクスチャを使用すれば、パーティクルのままレンダリングするより圧倒的に素早いレンダリングが可能になります。


[Spawn Splash]イベント内に[Shape Instance]を適用し、【3】の連番画像を貼った平面を指定します

次ページ:
STEP 03:「水跳ね」を考える ~水跳ねが起きるしくみを応用した制作~

その他の連載