3ds MaxでモデリングしたデータをUnityで動かす――この流れ、いざやってみると「意外とクセがあるな」と感じた人、多いのではないでしょうか。
わたしも最初は、FBXで書き出して読み込むだけのはずが、カメラの角度が合わなかったり、スケールがズレたりと、ちょっとした違和感の連続でした。
この記事では、実際に3ds MaxとUnityを行き来しながら試した手順と、ハマりやすいポイント、そして「こうすれば安定する」設定をまとめます。
3ds MaxとUnityを連携させるための基本準備
まず最初にやっておくべきなのが「単位設定の統一」です。
Unityでは1ユニット=1メートルですが、3ds Maxの既定はインチだったりセンチメートルだったりします。
ここを合わせないと、Unityにインポートしたモデルが“豆粒サイズ”になったり“巨大オブジェクト”になったりするんですよね。
- 3ds Maxのメニューから「Customize」→「Units Setup」を開く
- 「Display Unit Scale」を「Metric(メートル)」に設定
- 「System Unit Setup」を開いて「1 Unit = 1.0 Meters」に設定
この状態で作業を進めると、Unity側でスケールが1のままでも自然な大きさで表示されます。
個人的には、最初に単位をきっちり合わせておくだけで、後のトラブルの半分は防げると感じました。
FBX形式でエクスポートする設定(3ds Max側)
Unityとのやり取りにはFBX形式が定番です。
とはいえ、FBXにも細かい設定が多く、どれをON/OFFにするかで挙動が変わります。
わたしが安定して使えている設定を以下にまとめます。
- 「File」→「Export」→「Export Selected」でFBX形式を選択
- バージョンは「FBX 2018」以降を推奨(Unityの互換性が高い)
- 「Geometry」→「Smoothing Groups」「Tangent and Binormals」をON
- 「Animation」をON(アニメーションがある場合)
- 「Bake Animation」も必要に応じてONにする
- 「Units」項目で「Automatic」をOFF、「Meters」に固定
ちなみに、FBX Exporter(Unity公式アセット)を使えば、Max内から直接Unityに送ることも可能です。
メニューバーに「Unity」タブが追加され、「Import」「Export」が並ぶので、手動でファイルを移す手間が減ります。
わたしは細かい調整が必要なときだけ手動エクスポート、それ以外はこの機能を使うようにしています。
Unityへのインポートとスケール設定
Unity側にFBXをドラッグ&ドロップするだけで、モデルがインポートされます。
ここで見落としがちなポイントが「InspectorのScale Factor」。
FBXのスケール情報をどう扱うかで、モデルの大きさが変わることがあります。
- FBXを選択し、「Model」タブを開く
- 「Use File Scale」をONにする
- 「Scale Factor」は1.0に設定する
これで、3ds Maxで1mのオブジェクトがUnityでも1ユニットとして扱われます。
もし「Unityで物理挙動を付けたらおかしい動きになった」場合、まずこの設定を疑うのがおすすめです。
カメラ設定をUnityと一致させる方法
カメラの視野が一致しない問題、わたしもここでかなり悩みました。
数値をコピペしても、MaxとUnityでは見た目がズレます。
その理由は「視野角(FOV)」の基準軸が違うから。
UnityはY軸基準、3ds MaxはX軸基準なんです。
解決策はシンプルで、3ds Maxのカメラ設定でFOVの基準をY軸に変更すること。
カメラ設定の「↔」アイコンをクリックして「↕」に切り替えればOKです。
さらに、UnityのMain Cameraの「Field of View」と「Clipping Plane(Near/Far)」をMax側の値に合わせると、両者でほぼ同じ見た目になります。
この状態で背景やエフェクトを含めたレンダリングを確認すると、「Unity上でもMaxと同じ見え方」で調整が進められるようになりました。
ゲーム中のカットシーンなど、カメラ精度が重要なシーンでは必須の調整です。
3ds MaxアニメーションをUnityで動かす
3ds Maxで作成したボーンアニメーションをUnityに持ち込むには、FBXの「Bake Animation」設定がポイントです。
これをONにしておかないと、Unityでアニメーションが再生されません。
Bakeはキーをフレームごとに“焼き付ける”作業で、リグを持たないUnity側でも正しく動かすために必要です。
Unity側ではFBXを選択して「Animation」タブを開き、インポートされたクリップを確認します。
Take名がMaxでのアニメーション名と一致していれば成功です。
また、スキニングやモーションのブレを防ぐには、Max側で「Reset XForm」をかけてからエクスポートするのがおすすめ。
トランスフォーム情報を一度リセットしておくことで、Unity上での回転やスケーリングのズレを防げます。
これは地味に効きます。
FBX Exporterで実現する“ラウンドトリップ”
Unity公式の「FBX Exporter」を使うと、Unity→Max→Unityという往復(ラウンドトリップ)が可能になります。
たとえばUnity上で配置したオブジェクトをMaxで微調整したいとき、右クリックで「Export Model」を選ぶとFBXファイルが生成され、それをMaxで開くだけです。
修正後、Maxのメニュー「Unity」→「Export」で上書きすれば、Unityのシーンが即座に更新されます。
地味に感動した瞬間でした。
モデルの微修正を反映させるたびに再インポートしていた頃とは雲泥の差です。
ただし注意点として、ラウンドトリップ時にはファイルの保存先がプロジェクトと連動している必要があります。
別フォルダに置くと、Unity側で更新が反映されないことがあるので、プロジェクト直下に配置しておくのが無難です。
Revitモデルや建築データをUnityに持ち込む場合
3ds Max経由でRevitモデルをUnityに入れるケースも増えています。
Revit→Max→Unityという流れですね。
この場合、RevitのBIMデータはそのままだと重く、Unity上で扱うには最適化が必要です。
- 3ds MaxでRevitデータを読み込み、不要な要素(家具・構造部材など)を削除
- 「ProOptimizer」などでポリゴン数を削減
- FBX書き出し時に「Embed Media」をONにしてテクスチャを同梱
この手順を挟むことで、Unity上でも軽くて見た目の良い建築モデルとして扱えます。
特に建築VRやシミュレーション案件では、Maxを「中間変換ツール」として使うのが一番安定します。
よくあるトラブルと対策メモ
最後に、わたしが何度もハマった&助かったトラブルシューティングをまとめておきます。
- マテリアルが真っ白になる:FBX内にテクスチャパスが含まれていない。Maxで「Embed Media」をONにして再エクスポート。
- アニメーションが動かない:「Bake Animation」をOFFのまま書き出している。ONにして全フレームベイク。
- スケールがズレる:Unity側の「Use File Scale」設定を確認。Maxの単位設定も要チェック。
- ライト・カメラが反映されない:UnityのFBX Import設定で「Import Lights」「Import Cameras」をONにする。
特にマテリアル問題は、プロジェクトを移動したときに再発しがち。
FBXに埋め込むか、Unity内でマテリアルを再構成してPrefab化しておくと安心です。
まとめ:3ds MaxとUnityの“相性”は慣れれば快適
最初は単位やカメラのズレなどで苦戦しましたが、設定を理解すれば、3ds MaxとUnityの連携はかなり快適です。
特にFBX Exporterによるラウンドトリップは、反復作業のストレスを減らしてくれます。
アニメーション付きのキャラモデルや、建築ビジュアライゼーションでも安定して動作するので、DCCツールを問わず試してみる価値ありです。
もしこれからUnityを本格的に学びたい人は、わたしも参考にしたUnity入門の森ショップもチェックしてみてください。
基礎から実制作レベルまで体系的に学べる内容でした。