このタブを使用して、モデルをインポートするときに Unity がマテリアルとテクスチャを処理する方法を変更できます。
マテリアルを持たないモデルを Unity にインポートすると、Unity の拡散マテリアルが使用されます。モデルにマテリアルがある場合、Unity はそれらをサブアセットとしてインポートします。
モデルにテクスチャがある場合、Extract Texture (テクスチャの抽出) ボタンを使ってプロジェクトに抽出することもできます。
プロパティ | 機能 | |
---|---|---|
Material Creation Mode | モデルのマテリアルを生成またはインポートする方法を定義します。このドロップダウンメニューから None を選択すると、このタブの残りの設定が非表示になります。 | |
None | このモデルに埋め込まれたマテリアルを使用しません。代わりに Unity のデフォルトのディフューズマテリアルを使用します。 | |
Standard | インポート時に、マテリアルを生成するための一連のデフォルトルールが適用されます。スクリプトを使ってマテリアルを生成する方法をカスタマイズしたい場合は、代わりに Import via MaterialDescription (Experimental) モードを選択してください。 | |
Import via MaterialDescription (Experimental) | インポート時に、FBX ファイルに埋め込まれた Material description を使用してマテリアルを生成します。この方法では、以前のインポート方法よりもより正確な結果が得られ、より幅広いマテリアルタイプをサポートしています。例えば、オートデスクの Arnold やPhysical、Unity の HDRP マテリアル などです。詳細については、後述の Material description を参照してください。 | |
sRGB Albedo Colors | ガンマ空間のアルベドカラーを使用するには、このオプションを有効にします。 リニアの色空間 を使用しているプロジェクトではこれを無効にしてください。 このプロパティは、 Material Creation Mode のドロップダウンから Import via MaterialDescription (Experimental) を選択する場合には使用できません。 |
|
Location | マテリアルとテクスチャへのアクセス方法を定義します。これらのオプションのどれを選択するかによって、設定可能なプロパティが変わります。 | |
Use Embedded Materials | インポートしたマテリアルをインポートしたアセットの内部に維持します。これは Unity2017.2 以降でデフォルトのオプションです。 | |
Use External Materials (Legacy) | インポートしたマテリアルを外部アセットとして抽出します。これはマテリアルを処理する古い非推奨の方法で、2017.1 以前のバージョンの Unity で作られたプロジェクトのためのものです。 |
Location で Use Embedded Materials を選択すると、以下のインポートオプションが表示されます。
(A) ** Extract Materials** と Extract Textures ボタンをクリックすると、インポートしたアセットに埋め込まれているすべてのマテリアルとテクスチャが抽出されます。抽出するサブアセットがない場合はグレーアウトしています。これらのボタンの下には、Unity がインポートプロセスに関するメッセージを表示します。
(B) On Demand Remap セクションでは、Naming とSearch プロパティを提供し、インポートされたマテリアルをモデルにマッピングする方法をカスタマイズすることができます。Search and Remap ボタンをクリックすると、インポートされたマテリアルが既存のマテリアルアセットに再マップされます。Unity が正しい名前のマテリアルを見つけられない場合は何も変わりません。
(C) Unity は、アセット内で見つかったすべてのインポートされたマテリアルを Remapped Materials リストに表示します。各マテリアルをプロジェクト内の既存のマテリアルアセットに自動的に一致させることができない場合は、このリストでマテリアルへの参照を自身で設定することができます。
元のアセットへの新しいインポートまたは変更は、抽出されたマテリアルには影響しません。ソースアセットからマテリアルを再インポートする場合は、Remapped Materials リストで抽出されたマテリアルへの参照を削除する必要があります。リストから項目を削除するには、項目を選択してキーボードの Backspace キーを押します。
マテリアルの命名方法を決定します。
プロパティ | 機能 |
---|---|
By Base Texture Name | インポートされたマテリアルのディフューズテクスチャの名を使って、マテリアルを命名します。ディフューズテクスチャがマテリアルに割り当てられていない場合、Unity はインポートされたマテリアルの名前を使用します。 |
From Model’s Material | インポートされたマテリアルの名前を使って、マテリアルを命名します。 |
Model Name + Model’s Material | モデルファイルとインポートしたマテリアルの名前を組み合わせを使って、マテリアルを命名します。 |
Naming オプションで定義された名前で既存のマテリアルを検索するときに、検索する場所を決定します。
プロパティ | 機能 |
---|---|
Local Materials Folder | ローカルの マテリアル のサブフォルダー (モデルファイルと同じフォルダー) でマテリアルを検索します 。 |
Recursive-Up | Assets フォルダーまで上位に移動しながら、すべての親フォルダー内のマテリアルのサブフォルダーすべてのマテリアルを検索します。 |
Project-Wide | すべての Unity プロジェクトフォルダー内の既存のマテリアルを検索します。 |
バージョン 2019.3 から、Unity はインポート時のマテリアルマッピングをスクリプトで修正する機能を導入しました。ユーザーは、FBX ファイルに埋め込まれたデータからインポートされたマテリアルのプロパティを Unity のマテリアルのプロパティにマッピングする方法を変更することができます。Material description は、マテリアルとそれが参照するテクスチャを説明する名前といくつかの値のセットを定義します。この記述の構造についての詳細は、MaterialDescription クラスのページを参照してください。
ImportViaMaterialDescription モードの場合、モデルインポーターは マテリアルの作成をAssetPostProcessor.OnPreprocessMaterialDescription コールバックに委ねます。
Unity では、以下のマテリアルを扱うこのポストプロセッサーのデフォルトの実装を提供しています。
これらのデフォルトの実装では、マテリアルのインポートの扱いが ImportStandard モードとは異なり、以下のような改良が加えられています。
より多くのマテリアルタイプをサポートしています。例えば、オートデスクの Arnold や Interactive、Physical、Unity の HDRP Materials など。
エミッシブマテリアル をサポートします。
ディフューズテクスチャが設定されている場合、ディフューズ色は無視されます (これは Autodesk® Maya® と Autodesk® 3ds Max® での動作と同じです)。
バンプファクター、エミッシブカラー、エミッシブファクターを考慮します。
FBX ファイルで定義されている場合、エミッシブカラーのアニメーションをインポートします。
ノート: 3ds Max はエミッシブカラーのアニメーションをエクスポートしません。そのため、Unity はそれをインポートすることができません。
透明なマテリアルを完全に透明なものとしてインポートします。従来のシステムでは、完全に不透明なものとしてインポートします。
さらに、すべての Autodesk Interactive マテリアルのプロパティアニメーションをインポートし、3DS ファイルからマテリアルをインポートするときに不透明度を無視しなくなりました。
Location オプションに Use External Materials (Legacy) を選択すると、以下のインポートオプションが表示されます。
このオプションは、マテリアルを抽出して、モデルアセット内に保存するのではなく、外部に保存します。Naming と Search プロパティは、インポートされたマテリアルをモデルにマッピングするのに役立ちます。
Unity 2017.2 より前のバージョンでは、これがマテリアルを処理するデフォルトの方法でした。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.