チュートリアル / 3ds Max:プラグイン活用で表現の幅を拡げよう!
第14回:Flow Studioから3ds MaxでtyFlowエフェクト制作!

  • 3ds Max
  • Flow Studio
  • Maya
  • アニメーション
  • エフェクト
  • コラム
  • チュートリアル
  • 学生・初心者
  • 映画・TV
タイトルバナー

こんにちは!

株式会社DEFT、代表取締役の子安と申します。

今回は3ds Max以外にも、AUTODESKのFlow Studio(Free版)を活用しつつ、tyFlowのZENITHソルバーを用いたInfernoを絡めて画作りしていければと思っております!

サムネイルで使用した完成動画を先に貼り付けておきます。

今回、キャラクターアニメーションに絡めたエフェクトを乗せたかった為、フルCGアニメーション作成からエフェクト制作をしようかな?
あるいはダンサーを撮影してからトラッキングしてエフェクト制作かな?
などと、フローをどのように構築するか悩んでいた際に、
AIで動画生成をした上で、生成された動画をアニメーション解析させるのも面白いのでは?と思い以下のフローを取らせて頂きました。

Step01 AI動画生成!
Step02 Flow Studioで解析しMayaデータへ!
Step03 Mayaから3ds Maxへ!
Step04 tyFlow Infernoでエフェクトを付けてみよう!
Step05 エフェクトの書き出しとレンダリングをしてみよう!(tyFlow PRO)
Step06 完成!

以上のようなフローとしました。

※Flow StudioはUSD書き出しにも対応しているため、書き出したデータを直接3ds Maxに読み込むこともできます。
今回使用するFlow Studio Freeは機能が制限されており、USD書き出しに対応していないため今回はMayaを経由したフローで作業していきます。
また、Mayaを経由したFBXのデータも公開しておりますのでStep04からスタートする際はこちらのデータをご使用くださいませ。

- memo -
USD( Universal Scene Description) とは
Pixarが開発した、3Dシーンの記述・交換・共同編集のためのフォーマットです。

今回は以下のツールとバージョンで進めさせて頂きます。

3ds Max 2027.1 Update
V-Ray7 update 3 hotfix 1 DR2
tyFlow PRO v2.010

それでは行程に沿って説明させて頂きます!

Step01 AI動画生成!

AI動画生成はSeedance 2.0のAPIを組み込んだサービスで動画生成を致しました。

プロンプトは以下のような内容としました。

「後ろ回し蹴りを取り入れたダンスをお願いします。カメラは全身が入るような固定されたカメラでお願いします。」

以上のような内容にてAI動画生成を致しました。

生成された動画はこのような動画となります。
このあと、動画をFlow Studioで3D解析して3ds Maxに変換していくのですが、私もこのフローは初めてなので非常に楽しそうです。

Step02 Flow Studioで解析しMayaデータへ!

Step01で生成した動画を3D解析します。

今回はFlow StudioのFree版で進めました。

製品のプランや比較は下記ページで確認可能です。
https://www.autodesk.com/jp/products/flow-studio/compare

私のFlow Studioへのアクセス手順としましては、下記手順となります。

1.AUTODESKサイトにブラウザでログイン
2.製品とサービスのページに移動
3.Flow Studioへアクセス
 ※Flow Studioはブラウザベースで進めて行きます。

Flow Studioへのアクセス手順

Media & Entertainmentプランなどを利用しているとPro版にアクセス可能です。

Flow Studioのトップページ

アクセスが無事に終わるとトップページが表示されます。
※今回はFree版でアクセス

Pro版のプラン表示

参考までにPro版の場合は右上のプラン表示がこのようになります。

Create New Projectをクリックします。

Create New Projectをクリックした後の画面

Create New Projectをクリックするとこのような画面に切り替わります。
Live Action EasyはFree版でアクセス可能な為、Live Action EasyのContinueをクリックします。

プロジェクトウィンドウへのドラッグ&ドロップ

プロジェクトウィンドウが開きますので、赤枠のブランクエリアにStep01で生成した動画をFlow Studioのウィンドウにドラッグ&ドロップします。
左のUpload Videosにドラッグすることも出来ますが、今回は一本の短い動画を解析するだけですので、直接ウィンドウにドロップする方が手数が少なかった為そのように致しました。

Nextをクリック

Nextをクリックします。

Choose Actorポップアップ

Nextを押すとActorを選択するフェーズに移ります。
画像のような「Choose Actor」ポップアップが表示されます。
①Scan frame for actorsボタンをクリックします

タイムラインの人物アイコンとビューポートの人物枠

暫く待つと、タイムラインに①の人物アイコンが表示され、ビューポートの人物に水色の枠②が表示されます。

キャラクターの選択

続いて、先ほど表示された人物枠の中を①の場所でクリックをすると、枠がハイライト表示になります。
右のパネルに表示されているキャラクターの中から好きなキャラクターを選びます。
今回は②のキャラクターを選択しました。

キャラクターがアサインされた状態

人物枠の①にキャラクターがアサインされました。
②のNextボタンをクリックします。

Export Optionの設定

①Resolutionはデフォルトの720Pにします(Free版にて使用可能)
②Maya SceneのスイッチをONにします
③Camera TrackのスイッチをONにします(興味本位で入れました)
④Start Processingボタンをクリックします

My Projects画面での計算Progress

My Projects画面に切り替わり、計算が始まります。
Progressバーが100%になるのを待ちましょう!
この処理に関しては約20分程待機しました。

計算完了後のサムネイル

100パーセントになるとサムネイルに再生ボタンが表示されます。

Export Scene画面

再生ボタンを押すと画面が切り替わります。
なんとキャラクターがちゃんと置き換わっているではありませんか!!

Export Sceneのボタンもアクティブになっているのでボタンをクリックしてダウンロードしてみましょう!

ちなみにアニメーションを解析して入れ替わったキャラクターの動画はこちらです!
凄いですね...。

生成されたMayaシーンファイルを公開しておきます。

以上でFlow Studioの作業は終わりとなります。

Step03 Mayaから3ds Maxへ!

早速Flow Studioで解析されたMayaデータを確認してみましょう!

見事に解析されたものがシーンデータとなっております。

3ds Maxで使用する為、FBXエクスポートいたします。

Mayaの書き出し時のFBXオプションは下記の設定に致しました。

MayaのFBXエクスポート設定

MayaからのFBXエクスポート設定は下記に注意して頂ければと思います。
・アニメーションにチェック
・カメラにチェック
・変形したモデル項目
 変形したモデル、スキン、ブレンドシェイプ全てチェック
・単位に関して、必要な場合は手動でcmに設定の上エクスポート
 ※今回は自動設定でcmエクスポート出来ました。

エクスポートしたFBXデータも公開致します。
※Maya環境が無い方はこちらのデータをご使用ください。

Mayaのデータは24FPSに設定されておりました。
インポートする前に3ds Maxで下記の設定にしておきます。
・3ds Maxも24FPSに合わせる
・Unit Size、System ScaleもCentimeterに合わせる

3ds MaxにFBXインポートをしたところ、Bind Pose系のエラーが表示されました。

MayaビューポートのBind Pose

こちらはMayaのビューポートになります。
「Bind Poseに移動」を施した際に、Bind Pose自体が通常のものでは無いデータだった為、Flow Studioから生成されたデータ自体の影響かもしれません。

今回は気にせず進めて参ります。

FBXインポート後の3ds Maxビューポート

インポートが完了した際の3ds Maxビューポートです。
しっかりインポートされましたね。

無事3ds Maxまで取り込む事が出来ました。

Step04 tyFlowでエフェクトを付けてみよう!

ようやくこの段階まで来ました!

早速tyFlowでセットアップしていきます。こちらのステップはtyFlow Free版でも制作可能です。

tyFlowをシーンにセット

シーンにtyFlowをセットします。①のtyFlowをクリックアクティブにし、②のビューポートでクリックして配置します。

Open EditorからEditorを開く

配置したtyFlowアイコンを選択したまま①のOpen Editorをクリックして②のEditorを開きます。

Birth Infernoオペレーターの配置

ビューポートをFlow Studioにて生成されたカメラに切り替え、Editor内のオペレーターリストから①のBirth Infernoを選択しウィンドウにドラッグ&ドロップすると②のようなオペレーターセットとしてEvent_001が作成されます。

Inferno Emitterで左足をPick

Event_001内の①Inferno Emitterを選択します。
②のObjectsリストのPickをクリックします。
キャラクターの足をエミッターにしたいので③の左足を選択します。

右足を追加でPick

さらに右足もエミッターにしたいので、続けて①のPickをクリックして②の右足を選択します。
③のObjectsリストに右足と左足のオブジェクト名がリストアップされました。
そしてすぐに燃え始めてしまいます(笑)

タイムスライダで結果を確認

タイムスライダを動かしてみると即結果が反映されるので大変有難いですね!

画面中に煙が充満した状態

さらにタイムスライダを動かすと画面中に煙が充満してしまいました。

VRAM使用量のアラート表示

シミュレーションのサイズが大きくなりすぎると、tyFlow Editorパネルの下部にこのような表示が出る事があります。VRAMの使用量がMaxに近付いているアラートとなります。

GridsのVoxel Size設定

VRAMの容量が足りなくなってきた際、GridsのVoxel Sizeを大きくして回避する方法があります。
①のGrids欄にあるvoxel sizeのデフォルト値が0.65cmと小さい為、今回は1.0cmにします。

ConservationのVelocityとCoolingの調整


Birth InfernoオペレーターのConservation(保全)の項目にあるVelocityを下げます。
この項目は数値を上げると、圧力がより遠くまで与えられる数値となりますので、今回は圧力の伝播を抑え気味にします。


Temperature(温度調節)項目のCooling(冷却)を調整します。
段階に応じて温度が放散する速度を0.97に引き上げます。


Cooling Shrinkage(冷却収縮)の数値を30.0に引き上げます。
数値を上げると、②の温度低下に応じて冷却を流体の内側に引き込む事が出来ます。

これらの設定を行う事で、炎が広く拡散するのを抑えるような効果を引き出します。

Emission項目の変更

次にInferno EmitterのEmission(排出量)項目を変更します。


Emit fromをTriangleからVolumeに切り替えます。
選択したEmitterのオブジェクトソースからVoxel化をする際のタイプを点、三角形、体積に切り替える事が出来ます。今回は体積を選んでみました。
※Emit from下部のEmission QualityはデフォルトのFastにしております。
 Accurateを選択するとテクスチャマップなどからより高精細な放出を行う事が出来ます。


Emission thicknessを1.0cmから0.1cmに変更します。
放射の厚みを調整します。
オブジェクトソースから厚みのある炎をコントロール出来ます。


Emission ChannelのFuelにチェックを入れます。
燃料の数値を指定すると、指定した燃料が放出されます。


Velocity(速度)項目のMotionの数値を調整します。
これはエミッターの表面運動の速度が流体に注入される為、今回のような動きが激しいものは特に拡散が大きくなる為、数値を0.2に下げる事で拡散を抑える事が出来ます。

Inferno Displayの設定

Inferno Displayのセッティング項目の数値を引き上げております。

特にボクセルがシーンジオメトリと交差する部分に関して、値が小さいほど出力品質は向上します。
ただしレンダリング速度は低下する為、レンダリングした際に交差したポイントでクオリティが低いと感じた場合は徐々に下げていくのが良いかと思っております。

デフォルト設定時の炎と煙

デフォルト設定時の炎と煙のニュアンスはこのような状態でした。

調整後の炎と煙

今回設定した内容でニュアンスはこのようになりました。

更にオペレーターを追加してニュアンスを調整してみます。

Inferno Forceの追加

Inferno Forceを追加します。
このオペレーターはtyFlowのパーティクルを扱うForceオペレーターと同じような調整となります。
今回はNoiseに値を少し入れてタービュランスのような効果を与えてみました。
Strengthを10.0cmにして、Scaleを20にしました。

Inferno Mesh Forceの追加

もう1つオペレーターを追加します。


Inferno Mesh Forceオペレーターを追加します。
メッシュ表面上の最も近い点からの距離/減衰範囲内のボクセルにその効果を発揮するオペレーターです。


MeshesリストのPickをクリックします。


脚のメッシュを選択します。


リストに登録されます。


炎と煙に関してこのようなニュアンスが表現出来ました
今回、各パラメータに関してはデフォルトのままとなります。

こちらでシミュレーションのセットアップは完了となります!

Step05 エフェクトの書き出しとレンダリングをしてみよう!

いよいよVDBの書き出しとレンダリング工程になります。

ここからはtyFlowのPRO版が必要となります。

Inferno Exportで素材レンダリング

tyFlowから素材レンダリングをする手順を説明させて頂きます。


Inferno Exportオペレーターを追加します。


Export Image Sequenceに切り替えます。


書き出し先を設定し、ファイル名を任意で命名します。


レンダリングするカメラを選択します。


キャラクターのジオメトリを全て選択して⑤のAdd Selectedをクリックします。


Matte Objectsリストに全てのジオメトリが登録されます。
※これでキャラクターオブジェクトがマットオブジェクトになったので、キャラクターに纏う炎や煙をレンダリングしてコンポジットに使用できます。


Set to Timelineをクリックすると、レンダリングフレームをタイムラインに合わせる事が出来ます。


解像度を任意で設定します。


Generate Image Sequenceをクリックしてレンダリングします。

レンダリング結果はこのような感じです。
コンポジット素材としてすぐに書き出せるのも大変魅力です。

今回は炎の光の影響も作りたいので、VDBに書き出してレンダリングしてみましょう。

Inferno ExportでVDB書き出し

VDBの書き出し手順を説明させて頂きます。


Inferno Exportオペレーターを追加します。


Export Volume Dataに設定します。
※デフォルトがExport Volume Data


VDBの書き出し先を任意で指定します。


Volume Gridの座標や格納する各チャンネル設定となります。
デフォルト設定のままで進めます。


Set to Timelineをクリックして、タイムラインと同じフレーム数に合わせます。


Generate VDB FilesをクリックしてVDBシーケンスを出力します。

それでは書き出したVDBをシーンに取り込んでみましょう!

- memo -
VDBを取り込む前にレンダラーをVRayに切り替えておきます。
加えて、MayaからインポートしたカメラにPhysical CameraかVRay Physical Cameraをペアレントしておくとレンダリング時に確認しやすくなります。

VRayVolumeGridの作成


作成パネルからVRayを選択します。


VRayVolumeGridをクリックします。

ビューポートでシーン内をクリックするとVDBシーケンスを読み込む画面が出てきますので、先ほどのVDBエクスポート工程の③で指定したディレクトリから書き出された.vdbファイルを読み込みます。

VDBプリセットの選択

読み込みが終わるとVDBのプリセットを選ぶ画面が出てきます。

右端のNo presetを選択します。

Volume Gridを原点に移動

Worldの0,0,0にVolume Gridを移動すると、シミュレーションを行っていた場所にピッタリフィットします。

炎がレンダリングされていない状態

VRay Lightをいくつか配置し、レンダリングをすると炎がレンダリングされていない事が分かります。

Volumetric Optionsをクリック

Volume Gridを選択した状態で修正パネルからRenderingの項目を展開して、Volumetric Options…
をクリックします。

TemperatureをFuelに切り替え

Volumetric Render Settingsパネルが表示されます。
Fireの項目を展開し、TemperatureをFuelに切り替えます。

Simple Smoke Opacityの変更

Smoke Opacity項目を展開し、Simple Smoke Opacityの数値を0.9に変更し、煙の透明度を変更します。

炎が出現したレンダリング結果

レンダリングをすると炎が出現し、同時にライティングもされております。
説得力が上がりますね!

Light Powerの数値を下げる

炎の明かりが強すぎたので、Volumetric Render SettingsパネルのLight Power on selfとLight Power on Sceneの数値を下げます。

調整後のレンダリング結果

良い感じになりましたね!
ただし、このような調整はカメラの露出設定などに深く関わりを持つ為、上記の設定で全て賄える内容ではありませんのでご注意くださいませ。

Step06 完成!

今回は少し長くなってしまいましたが、オペレーション時間としてはそこまで長いものではありません。

完成前に火の粉もあった方が雰囲気があがると思い、tyFlowで少しおかずを足しております。

火の粉のパーティクル作成

右足、左足でステップを踏んだり、脚を大きく振り回した時に、Velocityの数値を上げるパーティクルも作成しております。

①BirthオペレーターをPer Frameに変更し、オートキーモードにて放出したいタイミングにキーを入れて行きます。
②のようにタイムラインにキーが打たれているのが分かります。
③水色の粒が火の粉のパーティクルです。

細かなパーティクルの放出のさせ方などは、以前のコラムなどで説明をしておりますのでご参考頂ければ幸いです。
第3回:3Dスキャンとエフェクトを絡めて遊ぼう
https://area.autodesk.jp/column/tutorial/3ds-max-plugin/03-3d-scans-effects/

火の粉を入れたレンダリング結果

火の粉が入ることでより説得力が増して行きますね!
最後に連番レンダリングをして、冒頭にもお見せした動画となりました。
もう一度同じ動画を貼っておきます。

今回のセットアップデータ(VDBの書き出しと入れ込み前)を公開しておりますので、ご興味ありましたら下記よりダウンロード頂ければと存じます。

使用バージョンはこちらとなります。
3ds Max 2027.1 Update
V-Ray7 update 3 hotfix 1 DR2
tyFlow PRO v2.010

次回の内容は今の所決定しておりませんが、3ds Maxに纏わるテクニックをお伝えさせて頂ければと思っております。

製品購入に関するお問い合わせ
オートデスク メディア&エンターテインメント 製品のご購入に関してご連絡を希望される場合は、こちらからお問い合わせください。