Unity と 3D モデリングソフトウェアのインテグレーション
Unity Integration ツールを使用すると、Unity と Autodesk® Maya®、Autodesk® Maya LT™、または Autodesk® 3ds Max® との間で、簡単にアセットを交換できます。
Unity Integration ツールを使用すると、ファイル名を指定したりオブジェクトを選択したり、FBX のインポーターやエクスポーターを設定したりしなくても、Unity との間で FBX ファイルのインポートとエクスポートを行うことができます。
Autodesk® Maya® または Autodesk® Maya LT™ で FBX Importer/Exporter の設定をカスタマイズするには、unityFbxImportSettings.mel
および unityFbxExportSettings.mel
ファイルを使用します。どちらのファイルも、Integrations/Autodesk/maya/scripts
フォルダーにあります。
Autodesk® 3ds Max® の場合は、Integrations/Autodesk/max/scripts
フォルダーにある unityFbxImportSettings.ms
および unityFbxExportSettings.ms
ファイルを使用します。
Integration のインストール
Autodesk® Maya®、Autodesk® Maya LT™、Autodesk® 3ds Max® 向けの Unity Integration をインストールする手順は以下のとおりです。
Unity で、Unity エディターのメインメニューから Edit > Project Settings > Fbx Export を選択し、Fbx Export 設定を開きます。
3D Application プロパティを使用して、Unity Integration をインストールする 3D モデリングソフトウェアとそのバージョンを選択します。
デフォルトの場所以外にインストールされている Autodesk® Maya®、Autodesk® Maya LT™、Autodesk® 3ds Max® のバージョンを選択する場合は、[...] (参照) ボタンをクリックします。
Unity Integration をインストールする前に、指定したバージョンに一致する選択済みの 3D モデリングソフトウェアのインスタンスをすべて閉じてください。
Install Unity Integration を選択して、選択した 3D モデリングソフトウェア向けの Unity Integration をインストールします。
ノート: 選択したフォルダー内に以前の Integration がすでに解凍されている場合は、既存の Integration を使用するか、それを新しいバージョンに上書きするかを確認するメッセージが表示されます。
Unity Integration は、複数の zip ファイルにパッケージ化されています (サポート対象のアプリケーションごとに zip ファイルが 1 つずつ)。メッセージが表示されたら、Unity Integration の解凍先のフォルダーを選択します。
ノート: 解凍先のフォルダーには、現在のプロジェクト以外の場所も指定できます。Autodesk® Maya® と Autodesk® Maya LT™ は、同じ zip フォルダーを使用します。
アプリケーションが起動し、プラグインが設定され、自動的に終了します。インストールが成功したかどうかを示すメッセージが表示されます。
起動時にエラーが発生すると、Autodesk® Maya® または Autodesk® Maya LT™ が終了しない場合があります。その場合は、Autodesk® Maya® または Autodesk® Maya LT™ のコンソールで、問題を修正できるか確認してから、手動で Autodesk® Maya® または Autodesk® Maya LT™ を閉じます。
Fbx Export 設定ウィンドウで、Keep Open オプションを有効にしている場合は、Autodesk® Maya® または Autodesk® Maya LT™ は、インストール完了後も開いたままになります。
Autodesk® Maya®
または Autodesk® Maya LT™ 向けの Integration の手動インストール
場合によっては、Integration を手動でインストールする必要があります。例えば、Autodesk® Maya® または Autodesk® Maya LT™ のサポート対象外のバージョンを使用している場合などです。
Autodesk® Maya® または Autodesk® Maya LT™ Integration を手動でインストールする手順は以下のとおりです。
UnityFbxForMaya.zip
ファイルを探します。このファイルは Unity のプロジェクトウィンドウのPackages/FBX Exporter/Editor/Integrations
フォルダーにあります。書き込み権限があるフォルダーにアーカイブを解凍します。Unity プロジェクト以外の場所も指定できます。
Integrations/Autodesk/maya/UnityFbxForMaya.txt
のコンテンツを、解凍したフォルダーから次のファイルにコピーします。- Windows の場合:
C:\Users\\{username}\Documents\maya\modules\UnityFbxForMaya.mod
- Mac の場合:
$HOME/Library/Preferences/Autodesk/Maya/modules/UnityFbxForMaya.mod
- Windows の場合:
UnityFbxForMaya.mod
で、以下の行を修正します (mel コード)。UnityFbxForMaya {Version} {UnityIntegrationsPath}/Integrations/Autodesk/maya
ノート: コードを以下のように置き換える必要があります。
{Version}
を、使用する FBX Exporter パッケージのバージョン番号に置き換えます (4.0.1 など)。{UnityIntegrationsPath}
を、最初の手順でUnityFbxForMaya.zip
を解凍した場所に置き換えます。
以下のファイルを探します (ファイルがない場合は作成します)。
- Windows の場合:
C:\Users\{username}\Documents\maya\scripts\userSetup.mel
- Mac の場合:
$HOME/Library/Preferences/Autodesk/Maya/scripts/userSetup.mel
- Windows の場合:
次の行を追加します (mel コード)。
if(`exists unitySetupUI`){ unitySetupUI; }
Autodesk® Maya® または Autodesk® Maya LT™ を開き、スクリプトエディターを開きます。
以下のコードを実行します (mel コード)。
unityConfigure "{UnityProjectPath}" "{ExportSettingsPath}" "{ImportSettingsPath}" 0 0;
ノート: コードを以下のように置き換える必要があります。
{UnityProjectPath}
を Unity プロジェクトのパスに置き換えます{ExportSettingsPath}
を、Integrations/Autodesk/maya/scripts/unityFbxExportSettings.mel
のパスに置き換えます{ImportSettingsPath}
を、Integrations/Autodesk/maya/scripts/unityFbxImportSettings.mel
のパスに置き換えます
Autodesk® Maya® 2017 以降
と Autodesk® Maya LT™ 2017 以降での操作
Unity からのインポート
FBX モデルをインポートすると、エクスポート用のプラグインが自動的に設定されます。このプラグインが Unity プロジェクト、モデルおよびアニメーションのエクスポートファイル名、ファイルごとのエクスポート対象オブジェクトを記憶します。
現在の Unity プロジェクトでファイルブラウザーを直接開き、File > Unity > Import を選択します。
ファイルブラウザーを使用して、インポートする FBX ファイルを選択します。
ノート: Shift または Ctrl を押しながら選択することで、複数のファイルをまとめて選択できます。
結果
FBX Exporter は、インポートされた各ファイルのコンテンツを、インポートされた FBX ファイルに基づく名前が付けられたエクスポートのセットに追加します。例えば、model.fbx
をインポートした場合は、model_UnityExportSet
という名前のエクスポートのセット内で、コンテンツを確認できます。
また、ファイルのコンテンツは、ファイル名に基づく名前空間に配置されます。model.fbx
の場合は、コンテンツは model:
名前空間に配置されます。
@
表記
@
表記を使用するアニメーションファイル (modelname@animation.fbx
) は、model.fbx
に含まれるモデルに属するアニメーションファイルとして認識されます。
例えば、model@anim.fbx
という名前のファイルをインポートした場合は、エクスポートのセットと名前空間の名前は、@
記号の前の名前に基づきます。そのため、model.fbx
と同じセットと名前空間が使用されます。
これにより、アニメーションファイルを簡単にインポートし、シーン内の適切なオブジェクトに適用できます。Autodesk® Maya® と Autodesk® Maya LT™ は、簡単にエクスポートできるようにアニメーションファイルの名前とパスを保存します。モデルファイルごとに 1 つのアニメーションファイルのみがサポートされます。新しいアニメーションをインポートすると、シーン内の既存のアニメーションが上書きされます。
Unity へのエクスポート
Autodesk® Maya® と Autodesk® Maya LT™ では、以下の 3 つのエクスポートオプションを利用できます。
- Export
- Export Model Only
- Export Animation Only
オプション | 説明 |
---|---|
File > Unity > Export | エクスポート設定で選択されたエクスポートのセットに含まれるモデルとアニメーションの両方をエクスポートします。 |
File > Unity > Export Model Only | 選択されたエクスポートのセットに含まれるモデルがすべてエクスポートされますが、アニメーションはエクスポートされません。 |
File > Unity > Export Animation Only | エクスポートのセット内のオブジェクトに適用されるアニメーションと、そのアニメーションに必要な最小限のコンポーネント (トランスフォームなど) のみをエクスポートします。 |
特定のエクスポートのセットからオブジェクトをエクスポートする場合は、そのセット内のオブジェクトを 1 つ以上選択するか、セット自体を選択します。どちらの場合でも、FBX Exporter はセット内のコンテンツ全体をエクスポートします。
複数のセット、または複数のセットのオブジェクトを選択した場合、FBX Exporter は、各セットを、対象のセットの属性で定義された対応するファイルにエクスポートします。
Maya での新しいエクスポートのセットの作成
既存のエクスポートのセットに含まれていないオブジェクトをエクスポートする場合は、新しいエクスポートのセットを用意する必要があります。そのためには、以下の手順を実行します。
エクスポートするオブジェクトを選択します。
File > Unity を選択してから、以下のいずれかのメニュー項目を選択します。
- アニメーションとモデルの FBX ファイルをエクスポートする設定でエクスポートのセットを作成するには、Create Export Set または Export を選択します。
または - モデルまたはアニメーションファイルのいずれかをエクスポートする設定でエクスポートのセットを作成するには、Export Model Only または Export Animation Only を選択します。
- アニメーションとモデルの FBX ファイルをエクスポートする設定でエクスポートのセットを作成するには、Create Export Set または Export を選択します。
表示されるウィンドウで、エクスポートのセットのオプションを設定します。
プロパティ 機能 Model File Path File > Unity > Export または File > Unity > Export Model Only を選択した場合のエクスポート先のファイルパス。 Model File Name File > Unity > Export または File > Unity > Export Model Only を選択した場合のエクスポート先のファイルの名前。 Anim File Path File > Unity > Export Animation Only を選択した場合のエクスポート先のファイルパス。 Anim File Name File > Unity > Export Animation Only を選択した場合のエクスポート先のファイルの名前。 Strip Namespaces on Export このオプションを有効にすると、エクスポート時にセット内で最も多く使用されている名前空間が自動的に削除されます。
例えば、このオプションを有効にして、ほとんどのオブジェクトがmodel:
という名前空間に属している場合は、エクスポート後にmodel:
が削除されます。操作ボタン 機能 Create Set And Export セットを作成し、選択したものを即座にエクスポートします。 Create Set セットを作成し、エクスポートは行いません。 Cancel セットの作成をキャンセルし、ウィンドウを閉じます。
エクスポートのセットに関する属性の編集
エクスポートのセットを作成 (File > Unity > Import、File > Unity > Create Export Set、またはいずれかのエクスポートオプションを使用) した後に、セットのエクスポートオプションを 編集できます。
その場合は、セットを選択し、Attribute Editor の Extra Attributes セクションで Unity の属性を変更します。
ノート: Arnold がインストールされていると、この属性が Arnold > Extra Attributes セクションに表示される場合があります。
プロパティ | 機能 |
---|---|
Unity Fbx Model File Path | File > Unity > Export または File > Unity > Export Model Only を選択した場合のエクスポート先のファイルパス。 |
Unity Fbx Model File Name | File > Unity > Export または File > Unity > Export Model Only を選択した場合のエクスポート先のファイルの名前。 |
Unity Fbx Anim File Path | File > Unity > Export Animation Only を選択した場合のエクスポート先のファイルパス。 |
Unity Fbx Anim File Name | File > Unity > Export Animation Only を選択した場合のエクスポート先のファイルの名前。 |
Unity Fbx Strip Namespace | このオプションを有効にすると、エクスポート時にセット内で最も多く使用されている名前空間が自動的に削除されます。 例えば、このオプションを有効にして、ほとんどのオブジェクトが model: という名前空間に属している場合は、エクスポート時に model: が削除されます。最も多く使用されているものとは別の名前空間を削除したい場合は、Strip Specific Namespace フィールドに入力できます。 |
Strip Specific Namespace | (任意) このプロパティを使用すると、Unity Fbx Strip Namespace を有効にしている場合に、エクスポート時に削除する名前空間を指定できます (最も多く使用されているもの以外の名前空間を指定できます)。 このフィールドを空白にすると、Unity Fbx Strip Namespace オプションでは、デフォルトでセット内の最も多く使用されている名前空間が削除されます。 |
Autodesk® 3ds Max® 2017 以降の操作
Unity からのインポート
FBX モデルをインポートすると、エクスポート用のプラグインが自動的に設定されます。このプラグインが Unity プロジェクト、エクスポートファイル名、エクスポート対象のオブジェクトを記憶します。
Import を選択し、現在の Unity プロジェクトでファイルブラウザーを直接開きます。
Autodesk® 3ds Max® 2018 以降で、File > Import > Import from Unity を選択します。
Autodesk® 3ds Max® 2017 で、Unity > Import を選択します。
ファイルブラウザーを使用して、インポートするモデルを選択します。
ノート: Shift または Ctrl を押しながら選択することで、複数のファイルをまとめて選択できます。
結果
FBX Exporter は、インポートされた各ファイルのコンテンツを、インポートされた FBX ファイルに基づく名前が付けられた選択対象のセットに自動的に追加します。例えば、model.fbx
をインポートした場合は、model_UnityExportSet
という名前の選択対象のセット内で、コンテンツを確認できます。
FBX Exporter は、インポートされたファイルごとに同じ名前 (model_UnityExportSet
) のダミーも作成し、UnityFbxExportSets
という名前の別のダミーオブジェクトの配下に置きます。
このダミーには、インポートされたファイルのパスとファイル名がカスタム属性として格納されます。これらは FBX Exporter がエクスポート時にも使用します。
@
表記
@
表記 (modelname@animation.fbx
) は、model.fbx
に含まれるモデルに属するアニメーションファイルであることを示します。
例えば、model@anim.fbx
という名前のファイルをインポートした場合は、エクスポートのセットは、@
記号の前の名前に基づきます。そのため、model.fbx
と同じセットが使用されます。
これにより、アニメーションファイルを簡単にインポートし、シーン内の適切なオブジェクトに適用できます。モデルファイルごとに 1 つのアニメーションファイルのみがサポートされます。新しいアニメーションをインポートすると、シーン内の既存のアニメーションが上書きされます。
制限事項
Autodesk® 3ds Max® から、アニメーションのみエクスポートすることはできません。
システム単位
Autodesk® 3ds Max® では、単位系がセンチメートルに設定されていない場合、単位を変更するよう促すメッセージが表示されます。
Yes をクリックすると、単位系をセンチメートルに変更できます (推奨)。これにより、エクスポート時にスケーリングが維持されます。
または
No をクリックすると、現在の単位系を使用します (非推奨)。このメッセージは、Autodesk® 3ds Max® の以降のセッションで再度表示されることはありません。また、
.max
ファイルの場合は再度表示されません。
Unity へのエクスポート
Autodesk® 3ds Max® では、以下の 2 つのオプションをエクスポートに利用できます。
オプション | 説明 |
---|---|
Export | エクスポート設定で選択されたエクスポートのセットに含まれるモデルとアニメーションの両方をエクスポートします。 |
Export Model Only | 選択されたエクスポートのセットに含まれるモデルがすべてエクスポートされますが、アニメーションはエクスポートされません。 |
どちらのオプションでも、インポート時に構成した設定とモデルを使用してファイルが自動的にエクスポートされます。このオプションを使用する手順は以下のとおりです。
Autodesk® 3ds Max® 2018 以降の場合は、メニューから File > Export を選択し、Export to Unity または Export to Unity (Model Only) を選択します。
Autodesk® 3ds Max® 2017 の場合は、メニューから Unity を選択し、Export または Export Model Only を選択します。
特定のエクスポートのセットからオブジェクトをエクスポートする場合は、そのセット内のオブジェクト (複数可)、セット自体、または対応するダミーオブジェクトを選択できます。どちらの場合でも、FBX Exporter はセット内のコンテンツ全体をエクスポートします。
セットに対応する複数のダミーオブジェクト、または複数のセットのオブジェクトを選択した場合、FBX Exporter は、各セットを、セットのダミーオブジェクトのカスタム属性で定義された対応するファイルにエクスポートします。
それぞれのケースで、Export オプションによって、現在のモデルが Unity に自動的にエクスポートされます。Unity に戻ると、シーンが更新済みになっています。
エクスポートするセットとオブジェクト
Unity のエクスポートでは、インポート時に作成された選択対象のセットに基づいて、エクスポートするオブジェクトが決まります。モデルに新しいオブジェクトを追加する場合は、その新しいオブジェクトをモデルの UnityExportSet セットにも追加する必要があります。
UnityExportSet セットを編集するには、Manage Selection Sets を選択します。
オブジェクトをセットに追加するには、セットとオブジェクトを選択し、Add Selected Objects を選択します。
オブジェクトをセットから削除するには、セット内のオブジェクトを選択し、Subtract Selected Objects を選択します。
ヒント: UnityExportSets を右クリックし、コンテキストメニューからオブジェクトの追加と削除を行うこともできます。
Autodesk® 3ds Max® では、Add Selected Objects ボタン (赤い枠線) を使用して、Wolf_UnityExportSet セットにオブジェクトを追加します。