チュートリアル / DML~CG制作 いろはにほへと~
第7回:CG制作いろはにほへと エフェクト編
- 3ds Max
- おすすめ
- エフェクト
- コラム
- チュートリアル
- デジタル・メディア・ラボ
- 中級者
- 学生・初心者
- 映画・TV
はじめまして!
弊社でエフェクト担当をしている近藤と申します。主に僕の場合はフルCG映像で爆発とかビームとかを見かけると思いますが、アレらを日々作ってます。
入社したての頃はモデリング・アニメーション等幅広く作業していたのに、気付けばエフェクト専門になって記事を書く機会を頂いたなんて不思議なもんです(笑い
では気を取り直して第7回「CG制作いろはにほへと」エフェクト編はAutodesk 3ds Maxを使用し、「実写映像に焚火エフェクトを合成する」行程を通して”気をつける事” ”もっとこうしたらリアルになる事”を掘り下げていこうと思います。
Step01【シーンの下地作り】
今回はこの動画に焚火エフェクトを追加していこうと思います。
ちなみにトラッキングはAutodesk社「MatchMover」を使用しています。
MatchMover は簡単にマッチムーブさせる事が出来て、しかも「Autodesk app store」で無料で提供されているのでオススメです☆
・Autodesk® MatchMover™
https://apps.autodesk.com/MAYA/ja/Detail/Index?id=appstore.exchange.autodesk.com%3aautodeskmatchmover_windows64%3aen
「Load Sequence」で連番素材を読み込んで「Automatic traking」でマッチムーブしていきます。
Track Using を「Colors」にして Sensitivity を高めに、Density を低めに設定してトラッキングしています。
一眼で動画を撮影したのですがエンコードに失敗して画質が汚くなってしまいました(涙
念の為トラッキングマーカーを配置しているんですが、まさかこんなに劣化しているなんてショックです。
ですが、MatchMoverの精度が高いのか問題なくトラッキングさせる事が出来ました。(良かった)
マッチムーブが完了したら.ms ファイルで出力してMaxを起動
「スクリプトを起動」を選んで先ほど出力した .msファイルを実行します。
これでやっと焚火を作れると思ったアナタ!
ちゃんとシーンは実寸で作られてますか?
確認する為にも1m³のボックスを置いて確認してみましょう。
小さ!
え、どこどこ?? ボックスどこ?
あまりにも小さすぎるので、「カスタマイズ」→「単位設定」→「システム単位設定」でシーンが適切か見てみます。
な、なんと1単位が0.1 しかも基準がメートルになっているではありませんか!
これじゃー、ちゃんとしたエフェクトが作れません。
例えば怪獣が暴れているシーンで火等を作る時、実寸でシーンが作られていなかったら動きに不自然さが出てしまいます。
特にシミュレーション系のエフェクトを作るときはこういった細かい気配りが後々エフェクトの出来を左右する場合もあるので、面倒くさいと思いますが、チェックしていきましょう!
どうかな、、、、、 うん、ちゃんと1㎥の立方体が表現出来ましたね。
Point:シーンが実寸で作られているかチェックする(特にシミュレーション系だと重要!)
Step02【焚火エフェクト作り】
お待たせしました!
シーンの下地が整ったので焚火エフェクトを作っていきましょう。
今回は3dsMaxのプラグイン「FumeFX」を使用しています。
焚火を配置したい箇所に「Simple Sorce」を複数配置して、そこから燃料が出るように設定していきます。
FumeFXは「温度」を始め「燃焼開始温度(igunition)」、「燃焼度(burn rate)」、「渦度性(vorticity)」等様々なパラメーターがあります。
エフェクト製作はトライアンドエラーが物を言うので「spacing」の値を軽めにして色々なパターンを作り、リアルさを崩さないように魅力的な動きを付けていきましょう。
最終的に炎の勢いを出す為、Time Scaleを 1.4 、burn rateを5 さらに乱流(turbulence)0.17cmと少し入れています。
うん、良い感じになってきましたね。
最後にspacingの値を高めにして再計算させてディテールを出します。
Point:リアルさを意識しつつ派手なエフェクト制作を心がける
一旦撮影した動画に焚火エフェクトを組み込んでチェックしてみましょう。
うーん、、、
なんか焚火エフェクトが実写動画に対して浮いている様に見えますね。
これは具体的な燃焼物がその場にない為、説得力の欠けた状態になってるからです。
フルCGの場合背景等のオブジェクトが予めあるんですが、実写映像の場合当然無いのでオブジェクトを用意する必要がありますね。
Step03【火元モデル配置】
今回は簡易的に火元の小枝を作ってシーンに合成します。
ここで便利なのが「Autodesk mement」
なんと撮影した写真から3Dモデルを生成する事が出来るんです。(なんと便利な世の中になったんでしょう。。。)
・Autodesk® MEMENT
https://memento.autodesk.com/about
積み上げた小枝を色々な角度から撮影して mement に画像をアップロード
「create model」を押して3Dモデルを生成させます。
以下が作られた3Dモデルです。
左が【テクスチャ表示】で右が【シェーダー表示】
では、生成した小枝モデルをシーンに配置してチェックしてみましょう。
配置する前と比べて「ここから火が出ている感」がして、説得力が増しました。
Point:なぜこのエフェクトが発生しているか考え、説得力のある構成にする
Step04【火の粉エフェクト作り】
賑やかしの為に火の粉エフェクト作ってみましょう。
step02で制作したfumeFXをコピーします。
spacingを低くしてキャッシュの保存先を別パスにし「exporting channels」に速度チャンネル(velocity)を追加してシミュレーションさせます。
次に「パーティクルフロー」を作成して、
パーティクル発生場所として小枝のモデルを選択し、次にイベント「fumeFX Follow」を追加し先程シミュレーションさせたFumeFXを選択します。
こうすることでFumeFXでシミュレーションさせた動きを反映したパーティクルが出来ます。
FumeFXでシミュレーションさせた速度情報を基にパーティクルが動いています。
(橙色:パーティクル 緑色:パーティクルの軌跡)
Point:以前作ったものを活かしつつ、別の要素を作りどんどん盛っていきましょう
チェックしてみましょう。
大分焚火らしくなってきましたね、でも何か足りないような・・・
そうです「照り返し素材」です! (なんか無理やり誘導しているような(汗)
Step05【照り返し素材作り】
火元モデルの位置にライトを配置していきます。
ただ単に配置するだけだと面白くないので、炎の揺らめきを表現する為ライト位置をアニメーションさせます。
ライトを選択してモーションパネルのPositionを選択、Assign Controller から「Position List」を選びます。
するとPositionの項目が一つ増え、上が「Posiont XYZ」下が「Available」の状態になります。
Availableを選んで再びAssign Controllerから今度は「Noise Position」を選びます。
Noise Controllerのダイヤログが表示されるので各軸の強度(Strength)に値を入れ、どの位の頻度で揺れるのか周波数(Frequency)に値を入れます。
背景を再びレンダリングしてチェックしてみましょう。
照り返しを追加した事で一気に焚火エフェクトの存在感が増してきましたね。
Point:エフェクトが及ぼす影響を考えてみよう。(光りもの系だと照り返し素材は必要)
Step05【最後の詰め】
さぁ、より魅力的なものにしていく為に、ショットを詰めていきましょう~
step03で薪以外にも色々な物を撮影したので、MEMENTでモデル化し配置していきます。
・MEMENT でモデル化したオブジェクト
一通り素材が出来たらコンポジットしていきます。
撮影素材のレイヤーにMEMENTのモデルを配置した素材を重ね馴染ませていきます。
次に焚火エフェクトを合成します、レイヤーモードを「加算」にして火の透明感を出させます。
更に空気の揺らめきを表現する為に「調整レイヤー」を加えディストーションエフェクトを適用します。
最後にパラ用素材、更にレンズフレア素材を追加して完成です!!
Point:よりリアル感を出す為に何が出来るか考えよう!
出来ました! うん、大分リアルなルックになってきたと思います^ ^
如何でしたでしょうか?
「最初と全然違うじゃないか!」という事は置いといて(笑
焚き火1つにとっても、リアルにする為には色んな要素が出てきましたね。
時には学術書を読んだり、時には参考資料を探したり、時には実際に燃やしたり(冗談です、、、)
その1つ1つ工程が積み重なってかっちょイイエフェクトに近づいていくんだと思います。
だからこれを機に少しでもエフェクトに興味を持ってもらえれば僕も嬉しいです。
では最後は制作過程のダイジェストをご覧いただいて締めたいと思います。
ご覧頂きありがとうございました。! また会いましょう^^(次は爆発やろうかな)