チュートリアル / 3ds Max:プラグイン活用で表現の幅を拡げよう!
第1回:もう怖くない!無料で始めるtyFlowと仕組みを公開!
- 3ds Max
- アニメ
- ゲーム
- コラム
- シミュレーション
- チュートリアル
- 上級者
- 中級者
- 映画・TV
みなさま、初めまして!
株式会社DEFT、代表取締役の子安と申します。
TVCM、TVドラマ、MV、ゲームプリレンダームービー、プロジェクションマッピング、遊技機など、CG/VFX全般に日々関わらせて頂いております。
株式会社DEFT:deft.to
X:https://x.com/HajimeKoyasu
業界には20年以上関わっており、映画やテレビシリーズのVFXスーパーバイザーやチーフディレクター経験も多数御座います。
メインツールは3ds Max、案件によってはMayaを使用する事もあります。
ワンストップ制作の際は手に馴染む3ds Maxを選択する事が多いです。
昨年行われた、AUTODESK DAY2024やCREATIVE CONFERENCEの登壇にて、3ds MaxのプラグインtyFlowを多用した経緯から、今回本コラムを執筆させて頂く事になりました。tyFlow、カラーマネージメント、PhoenixFD、Midi接続やDeadlineに関するTipsなど多岐にわたる話題をお届けする予定です。
はじめにーーtyFlowとは
tyFlowとはどういったプラグインなのか。
3ds Max標準のParticle Flowを進化させた様なプラグインで、UIも似ているのでご存じの方は導入しやすいかと思います。
進化とは何か?
PhysXを活用した物理演算や各Bind(束縛するや拘束する)が充実しており、組み合わせによって様々な表現が可能となっております。
tyFlowを使用して作成した弊社のR&Dリールをご覧ください。
ご覧の様々な表現を可能にするtyFlowですが、上記はまだほんの一部の機能を使用したに過ぎません。
複雑に見える表現も実は簡単なセットアップで表現可能です。
tyFlownをインストールする
まずはインストールから始めてみましょう。
今回は最新の3ds Max 2025にtyFlowをインストールしてみます。
こちらにアクセスをし、下にスクロールをするとtyFlow FREEがありますので、無料版のtyFlow FREEのダウンロードをクリックします。
FREE版の主な制限としては
・マルチスレッドに対応していない
・GPUを使用出来ない(PhysXは使用できます)。
・tyFlowのシミュレーション後のキャッシュを書き出せない。
この様な制限付きとなっております。
弊社はtyFlowPROを使用しておりますが、記事を書く際はDeActivateをしてtyFlowFREEに切り替えて執筆させて頂きます。
・tyflow v1.120(2024/11/22時点最新)
・tyflow RENDER v1.120 (2024/11/22時点最新) ※1
・tyflow CUDA DLLs[CUDA 11.8/PhysX 5.3.1 (2024/2/26時点最新) ※2
以上3つのダウンロードが可能です。
スタート時に必要なダウンロードはtyflow v1.120、こちらになります。
※1tyflow RENDER v1.120はレンダーサーバー用。
※2tyflow CUDA DLLsはCUDAやPhysXの記載バージョンを使用したい場合必要となります。
tyflow v1.120をダウンロード後、3ds Maxの各バージョン用.dloがあります。
今回はtyFlow_2025.dloをC:\Program Files\Autodesk\3ds Max 2025\Plugins
こちらに配置します。
以上でインストール終了です。
キューブで形成された人物を作成して、アニメーションに追従させる方法
今回は手始めに先ほどのR&Dリールの冒頭にある、キューブで形成された人物を作成して、アニメーションに追従する手法を紹介します。
3ds Maxを開くと早速堂々とtyFlowボタンが鎮座しているのでtyFlowをクリック→ビューポート上でクリックし配置。
ここから様々なtyFlow表現を可能にします。
右のEditorパネル内 GUIの下にあるOpen EditorをクリックするとGUIが開きます。
GUIパネルの上にtyFlowのバージョンが記載されております。
弊社はtyFlow PROを使用しておりますが、一度ライセンスを外して今回はtyFlow FREEで構築していきます。
一度tyFlow GUIを閉じます。
今回のSystem Unit SetupはCentimetersに設定しておきます。
アニメーションデータはどの様な物でも構わないのですが、今回は標準機能のPopulateを使用します。
動画の様にPopulateを使用して、簡単に人物アニメーションを生成します。
歩く人物を生成する手順としては下記の手順となります。
①Populateタブ→Define Flows→Create Flowを選択します。
②ビューポート内でクリック&ドラッグしてレーンを生成します。
③Populateタブ→Simulate→Simulateをクリックします。
立ち止まって複数名のコミュニケーションやアイドリングをしている生成手順としては下記の手順となります。
①Populateタブ→Define Idol Areas→Create Idle Areaを選択します。
②ビューポート内でクリック&ドラッグしてエリアを生成します。
③Populateタブ→Simulate→Simulateをクリックします。
続いてtyFlow化したい人物アニメーションをBekeします。
Bakeの手順としては、対象の人物を選択→Edit Selected→Bake Seleceted
動画の様に対象人物にSkinモデファイヤとボーンが自動生成されております。
再度tyFlowを選択し右のEditorパネルからOpenEditorをクリックしてGUIを表示します。
下のオペレーターからBirth Voxelsを選択し、ビュー内にドラッグ。
ドラッグするとBirth VoxelsとDisplayが表示され、このリストを『イベント』と呼びます。
一番最初に表示したものの緑色のタブ部にEvent_001と記載されております。
メモ
Birth Voxelsオペレーターはシーン内のオブジェクトのボリュームまたはサーフェス内に均一な空間間隔でパーティクルを生成できるオペレーターです。
Birth Voxelsオペレーターを選択したまま、GUI内の右パネル「Birth voxels」のリストの下のPickボタンをクリック→対象の人物を選択します。
Event_001のBirth_Voxelsの下にShapeオペレーターを追加します。
今回は3DのCubeを選択します。
このオペレーターはパーティクルをShape化するもので、リスト内の物やモデリングしたシーン内のオブジェクト、vrayproxyなどを取り込む事が出来ます。
Event_001の一番下にあるDisplayを選択し、GUI内の右のパネルのDisplay modeをsmall dotsからGeometryに変更します。
ビューポートの人物にキューブが生成されているのが分かります。
紫色のキューブの色はEvent_001のDisplayオペレーターの右の〇のカラーが表示されます。
ヒント
このカラーを知ることで、表示されているパーティクルがどのイベントに居るか一目で分かるようになっております。
次にMeshオペレーターをDisplayの上に追加します。
メモ
Meshオペレーターを入れないとレンダリング出来ないので忘れずに入れておきます。
次にObject Bindオペレーターを追加します。
続けて、GUIの右のパネルのObjectsリストのPickボタンをクリックして、対象の人物を選択します。
同じくObjectリストの下のBind modeをLock to objectからLock to surfaceに変更します。
この時点でアニメーションに追従するキューブの人体(以降PIXEL MAN)の完成です。
Bind Objectオペレーターはパーティクルをオブジェクトとその表面にバインドできます。
次は大きなアニメーションがある所からキューブを気持ちよく落下させる仕組みを作ってみましょう。
Surface TestオペレーターをObject Bindの下に入れます。
続けてオペレーターを選択したままGUIの右のパネル内にて
Surface test modeをDistanceからVelocityに変更します。
同じくSurface TestオペレーターのObjectリストから人物をピックします。
このままでは何も変わりませんがこのオペレーターの右に接続出来るConnection pointが存在しております。
これらは重要な役割を担っており、条件を入れることで条件に沿ったパーティクルが次のイベントに継承される仕組みになっております。
条件に合わなかったパーティクルはEvent_001の紫のカラーを保持することになります。
PhysX Shapeを空いているスペースにドラッグ&ドロップします。
これがEvent_002となり、カラーは黄緑にしております。
Surface Testオペレーターのconnection pointをクリックしてEvent_002のConnection PointにドラッグしていくとConnectionが完了します。
ヒント
PhysX Shapeオペレーターの活躍は大変素晴らしいものです。
PhysX ShapeはPhysX (物理)リジッドボディ(剛体)に変化する為、衝突や落下などを起こしても形が変化しない物理的な剛体となります。
Event_002に入ると見た目にも気持ちいい自然な落下や衝突など様々な表現が可能となります。
動画の様に0フレームから緑色のキューブになっており、再生するとすぐに落下していくので狙いとは異なります。
これはSurface TestオペレーターのVelocity Testの条件設定がデフォルトでValue未満(Less than))の数値で合格とする設定です。
つまりはVelocityが10cm未満なので、止まっていても合格判定になってしまう設定となっております。
Less than(未満)をGreater than(より大きい)に変更してVelocity Valueが10cm以上なら合格としてみました。
手や足先の様にスピードがあるところからキューブが落下するのが分かります。
以上で基本構成は完成です。
最後にPixelmanはカラフルなパーティクルに仕上げたので、作品と同じようにマテリアルIDに関しても触れさせて頂きます。
動画内の手順説明は下記の手順となります。
①Multi/Sub Objectマテリアルを読み込みます。
②今回は配布用も含めArnoldでもレンダリング出来る様にPhysical Materialを選択しました。
③Base Colorを色相20度ずつずらして12色のパターンを作成しました。
④Multi/Sub Objectマテリアルの12スロットに各色入れていきます。
⑤Multi/Sub Objectが完成したらtyFlowのアイコンを選択→マテリアルをアサインします。
⑥tyFlowのEvent_001にMaterial IDオペレーターをドラッグ&ドロップします。
⑦MaterialIDオペレーターのGUI右パネルのMaterialIDをStaticからRandomに変更します。
⑧Random設定はDefaultがMin:1 Max:5なのでMax:12に変更します。
⑨Event_002も同じMaterialIDを設定します。
こちらのデータを配布致しますので今後の制作にご活用くださいませ。また、次回は工場などの生産工程をビジュアライズするテクニックを解説します。楽しみにお待ち下さい!