モデルを選択すると、モデルファイルの インポート設定 が Inspector ウインドウの Model タブに表示されます。これらの設定は、モデル内に格納されるさまざまな要素やプロパティーに影響します。Unity はこれらの設定を使用して各アセットをインポートします。ですから、設定を調整しプロジェクト内の様々なアセットに適用できます。
このセクションでは、Model タブの各セクションに関して説明します。
(A) Scene-level properties, such as whether to import Lights and Cameras, and what scale factor to use.
(B) Properties specific to Meshes.
(C) Geometry-related properties, for dealing with topology, UVs, and normals.
プロパティー | 機能 |
---|---|
Scale Factor | 元のファイルスケール (Model ファイルからのもの) がプロジェクトの意図したスケールに合わない場合は、この値を設定し、インポートしたモデルにグローバルスケールを適用します。Unity の物理システムは、ゲーム世界での 1 メートルがインポートされたファイルの 1 ユニットになると仮定します。 |
Convert Units | Enable this option to convert the Model scaling defined in the Model file to Unity’s scale. |
Import Blendshapes | Enable this property to allow Unity to import blend shapes with your Mesh. See Importing blend shapes below for details. Note: Importing blend shape normals requires smoothing groups in the FBX file. |
Import Visibility | これを有効にすると、MeshRenderer コンポーネントが有効 (表示されている) かどうかを定義する FBX 設定をインポートします。 詳細は、後述の 可視性のインポート を参照してください。 |
Import Cameras | これを有効にすると .FBX ファイルからカメラをインポートできます。詳しくは後述の カメラのインポート を参照してください。 |
Import Lights | これを有効にすると .FBX ファイルからライトをインポートできます。詳しくは後述の ライトのインポート を参照してください。 |
Preserve Hierarchy | これを有効にすると、このモデルにルートが 1 つしかない場合でも、必ず明示的なプレハブルートを作成します。 通常、FBX インポーターは最適化の方法としてモデルから空のルートノードを取り除きます。 ただし、同じ階層の一部を含む複数の FBX ファイルがある場合は、このオプションを使用して元の階層を維持することができます。 例えば、file1.fbx にはリグとメッシュが含まれ、file2.fbx にも同じリグが含まれていますが、そのメッシュのアニメーションのみが含まれています。 このオプションを有効にせずに file2.fbx をインポートすると、Unity はルートノードを取り除くため階層が一致せず、アニメーションは壊れます。 |
Sort Hierarchy By Name | Enable this property to sort GameObjects by alphabetical order within the hierarchy. Disable this property to preserve the hierarchy order defined in the FBX file. |
Unity supports blend shapes (morphing) and can import blend shapes from FBX and DAE files exported from 3D modeling applications. You can also import animation from FBX files. Unity supports vertex-level animation for blend shapes on vertices, normals and tangents.
Skin and blend shapes can affect Meshes at the same time. When Unity imports Meshes containing blend shapes, it uses the SkinnedMeshRenderer component (instead of the MeshRenderer component), regardless of whether it has skin or not.
Unity imports blend shape animation as part of regular animation: it animates blend shape weights on SkinnedMeshRenderers.
Choose either of these methods to import blend shapes with normals:
Set the Blend Shape Normals property to Import so that Unity uses the normals from the FBX file. For more information, see the documentation for the Blend Shape Normals property below.
OR
Set the Blend Shape Normals property to Calculate so that Unity uses the same logic to calculate normals on a Mesh and blend shapes.
Note: If you want tangents on your blend shapes then set the Tangents import setting to Calculate.
Unity は、Import Visibility プロパティーを有効にすると、FBX ファイルから可視性プロパティーを読み取ることができます。値とアニメーションカーブは、Renderer.enabled プロパティーを制御することで、MeshRenderer コンポーネントを有効/無効にすることができます。
可視性の継承はデフォルトで true になっていますが、オーバーライドできます。例えば、親のメッシュの可視性が 0 の場合、子の描画されるものもすべて、無効になります。この場合は、それぞれの子の Renderer.enabled
プロパティーに対し、1 つのアニメーションカーブが作成されます。
3D モデリングアプリケーションの中には、可視性のプロパティーをサポートしない、または、制限のあるものがあります。詳しくは以下を参照してください。
.FBX ファイルからカメラをインポートするとき、Unity は以下のプロパティーをサポートします。
プロパティー | 機能 |
---|---|
Projection | 透視投影 (Perspective) か平行投影 (Orthographic) か。アニメーションをサポートしません。 |
Field of View | アニメーションをサポートします。 |
すべての Physical Camera プロパティー | If you import a Camera with Physical Properties (for example, from Maya), Unity creates a Camera with the Physical Camera property enabled and the Focal Length, Sensor Type, Sensor Size, Lens Shift, and Gate Fit values from the FBX file. Note: Not all 3D modeling applications have a concept of Gate Fit. When not supported by the 3D modeling application, the default value in Unity is None. |
Near Clipping Plane / Far Clipping Plane の距離 | Unity はこれらのプロパティーのアニメーションをインポートしません。3ds Max からエクスポートする場合に、Clip Manually 設定を有効にします。そうでない場合は、インポート時にデフォルト値が適用されます。 |
Target Cameras | ターゲットカメラをインポートすると、ターゲットオブジェクトをソースとして LookAt コンストレイントを持つカメラが作成されます。 |
以下のタイプのライトがサポートされます。
以下のライトのプロパティーがサポートされます。
プロパティー | 機能 |
---|---|
Range | UseFarAttenuation を有効にすると、FarAttenuationEndValue が使用されます。 FarAttenuationEndValue はアニメーションをサポートしません。 |
Color | アニメーションをサポートします。 |
Intensity | アニメーションをサポートします。 |
Spot Angle | アニメーションをサポートします。スポットライトのみに使用可能です。 |
ノート 3ds Max では、エクスポートされたデフォルト値が現在選択されているフレームのプロパティー値になります。混乱を避けるため、エクスポート時にはフレーム 0 に再生ヘッドを移動しておきます。
3D モデリングアプリケーションの中には、ライトのプロパティーにスケールを適用するものもあります。この場合、例えば、スポットライトを階層によってスケールし、ライトの円錐形に影響を与えることが可能です。Unity ではこれを行わないので、ライトが異なって見える原因になります。
FBX 形式はエリアライトの幅と高さを定義しません。3D モデリングアプリケーションの中には、このプロパティーを持たず、矩形領域を定義するためにスケーリングの使用しか許可しないものもあります。 このため、エリアライトのサイズは、インポート時に常に 1 になります。
ターゲットライトのアニメーションは、アニメーションがベイクされていない限りサポートされません。
プロパティー | 機能 | |
---|---|---|
Mesh Compression | 圧縮率のレベルを設定して、メッシュのファイルサイズを小さくします。圧縮率を上げると、メッシュ境界とコンポーネントごとに低いビット深度を使用してメッシュデータを圧縮することによって、メッシュの精度を下げます。 メッシュを圧縮しないバージョンとあまり違いが出ない範囲で、可能な限り圧縮率を高くするのがベストです。これは ゲームサイズの最適化 に役立ちます。 |
|
Off | 圧縮を使用しません。 | |
Low | 低圧縮率を使用します。 | |
Medium | 中程度の圧縮率を使用します。 | |
High | 高い圧縮率を使用します。 | |
Read/Write Enabled | When you enable this option, Unity uploads the Mesh data to GPU-addressable memory, but also keeps it in CPU-addressable memory. This means that Unity can access the Mesh data at run time, and you can access it from your scripts. For example, you might want to do this if you’re generating a Mesh procedurally, or if you want to copy some data from a Mesh. When this option is disabled, Unity uploads the Mesh data to GPU-addressable memory, and then removes it from CPU-addressable memory. By default, this option is disabled. In most cases, to save runtime memory usage, leave this option disabled. For information on when to enable Read/Write Enabled, see Mesh.isReadable. |
|
Optimize Mesh | Determine the order in which triangles are listed in the Mesh for better GPU performance. | |
Nothing | No optimization. | |
Everything | Let Unity reorder the vertices and indices for both polygons and vertices. This is the default. | |
Polygon Order | Reorder only the polygons. | |
Vertex Order | Reorder only the vertices. | |
Generate Colliders | これを有効にすると、メッシュは自動的にアタッチされたメッシュコライダーと一緒にインポートされます。これは、環境ジオメトリの衝突のメッシュを素早く生成するのに役立ちます。しかし、動かすジオメトリには使用を避けてください。 |
プロパティー | 機能 | |
---|---|---|
Keep Quads | これを有効にすると、Unity が 4 つの頂点を持つポリゴンを三角形に変換するのを止めます。例えば、テッセレーションシェーダー を使用する場合、このオプションを有効にすると便利な場合があります。なぜなら、クアッドをテッセレーションする方がポリゴンをテッセレーションするより効率的な場合があるからです。 Unity はどんな種類のポリゴンでも (三角形から N 角形まで) インポートできます。4 つ以上の 頂点を持つポリゴンは、この設定に関係なく、常に三角形に変換されます。ただし、メッシュにクアッドと三角形 (または三角形に変換された N 角形) がある場合、Unity はクアッドと三角形を分離するために 2 つのサブメッシュを作成します。各サブメッシュには、三角形のみ、または、クアッドのみが含まれます。 ヒント クアッドを 3ds Max から Unity にインポートしたい場合は、編集可能ポリゴンとしてエクスポート する必要があります。 |
|
Weld Vertices | これを有効にすると、空間の同じ位置を共有する頂点を結合することができます。これにより、頂点は全般的に同じプロパティーを共有できます (UV、法線、接線、頂点色など)。 これによって、メッシュの全体的な数を削減して頂点数を最適化できます。このオプションはデフォルトで有効になっています。 メッシュをインポートするときに、この最適化を無効にする必要がある場合があります。例えば、メッシュに同じ位置にある重複した頂点を意図的に作成する場合、スクリプトで個々の頂点や三角形のデータを読み取ったり操作したりする方が便利なときなどです。 |
|
Index Format | メッシュインデックスバッファのサイズを定義します。 注意 帯域幅とメモリの記憶容量の理由から、通常は 16ビット のインデックスをデフォルトのままにしておき、必要な場合にのみ 32ビット を使用します。これは Auto オプションが使用するものです。 |
|
Auto | これを選ぶと、メッシュをインポートするときに、メッシュの頂点数に基づいて 16 ビットインデックスか 32 ビットインデックス、どちらかが Unity によって選択されます。Unity 2017.3 以降のバージョンでアセットを加える場合には、これがデフォルトです。 | |
16 bit | これを選ぶと、メッシュをインポートするときに、常に 16 ビットインデックスを使用します。メッシュが大きい場合には、64,000 より少ない頂点数に分割されます。Unity 2017.2 以前のバージョンで作成されたプロジェクトの既存のアセットには、この設定が使用されています。 | |
32 bit | これを選ぶと、メッシュをインポートするときに、常に 32 ビットインデックスを使用します。この設定は、GPU ベースのレンダリングパイプライン (例えば、コンピュートシェーダーの三角形のカリングを使用して) を行うときに、32 ビットインデックスを使用すると、すべてのメッシュが同じインデックス形式を使用するようになります。これにより、シェーダーで 1 つの形式だけを扱えばよいため、コンピュートシェーダーをより簡素化できます。 | |
Legacy Blend Shape Normals | Enable this option to compute normals based on the Smoothing Angle value. | |
Normals | 法線を計算するかどうか、およびどのように計算するかを定義します。これは、ゲームサイズの最適化 に役立ちます。 | |
Import | ファイルから法線をインポートします。これがデフォルトのオプションです。ファイルに法線が含まれていない場合は、算出されます。 | |
Calculate | Normals Mode、Smoothness Source、Smoothing Angle (下に説明) に基づいて法線を計算します。 | |
None | 法線を無効にします。メッシュが法線マッピングされている、または、リアルタイムのライティングの影響を受けている、のどちらでもない場合は、このオプションを使用します。 | |
Blend Shape Normals | Defines if and how Unity should calculate normals for blend shapes. This value should match the value for the Normals property. This property is only visible when Legacy Blend Shape Normals is disabled. |
|
Import | Import normals from the file. If the blend shape does not contain normals, the FBX SDK uses its own method to calculate normals, resulting in normal values that usually differ from the normal values that Unity creates with the Calculate option. | |
Calculate | Normals Mode、Smoothness Source、Smoothing Angle (下に説明) に基づいて法線を計算します。 | |
None | The blend shape normals do not contribute to the base shape. | |
Normals Mode | Unity による法線の計算方法を定義します。これは、 Normals が Calculate か Import に設定されているときにのみ選択できます。 | |
Unweighted Legacy | 法線を計算する古い方法 (バージョン 2017.1 より前)。現在の方法での実施に比べ、結果がわずかに違う場合があります。これは、プロジェクトを Unity の最新バージョンに移行する前にインポートされたすべての FBX プレハブでデフォルトです。 | |
Unweighted | 法線にウェイト設定はありません。 | |
Area Weighted | 法線は面の範囲をウェイトとして使用します。 | |
Angle Weighted | 法線は各面の頂点角度をウェイトとして使用します。 | |
Area and Angle Weighted | 法線は各面の表面範囲と頂点角度をウェイトとして使用します。これはデフォルトのオプションです。 | |
Smoothness Source | Set how to determine the smoothing behavior (which edges should be smooth and which should be hard). This property is only visible when Legacy Blend Shape Normals is disabled. |
|
Prefer Smoothing Groups | 可能であれば、モデルファイルからスムージンググループを使用します。 | |
From Smoothing Groups | モデルファイルからのスムージンググループのみを使用します。 | |
From Angle | Smoothing Angle の値を使って、滑らかにするエッジを決定します。 | |
None | ハードエッジで頂点を分割しません。 | |
Smoothing Angle | 頂点がハードエッジに分割されるかどうかを制御します。通常は、値が高いほど頂点数が少なくなります。 ノート この設定は非常に滑らかな有機物や非常に高いポリゴンモデルにのみ使用してください。それ以外の場合は、手動で 3D モデリングソフトウェアのスムージングを行い、Normals オプションを Import (前述) に設定してインポートするほうがよいでしょう。 Unity は単一の角度のみでハードエッジを作成しているため、間違ってモデルの一部でスムージングしてしまう場合もあります。 Normals が Calculate に設定されている場合のみ使用可能です。 |
|
Tangents | Unity による法線の計算方法を定義します。これは、 Normals が Calculate または Import に設定されているときにのみ選択できます。 | |
Import | Normals が Import に設定されている場合、FBX ファイルから頂点接線をインポートします。メッシュに接線がない場合は、法線マップしたシェーダーとは使用できません。 | |
Calculate Tangent Space | MikkTSpace を使って接線を計算します。Normals が Calculate に設定されている場合は、これがデフォルトです。 | |
Calculate Legacy | 旧アルゴリズムで接線を計算します。 | |
Calculate Legacy - Split Tangent | UV チャート全体を分割して、古い非推奨のアルゴリズムで接線を計算します。法線マップのライトがメッシュの継ぎ目によって壊れている場合はこれを使用します。 これは通常キャラクターにのみ適用されます。 | |
None | 頂点接線をインポートしません。メッシュに接線がないため、法線マップしたシェーダーとは使用できません。 | |
Swap UVs | これを有効にすると、メッシュの UV チャンネルを入れ替えます。ディフューズテクスチャがライトマップからの UV を使用している場合は、この設定を使用してください。Unity は最大 8 つの UV チャンネルをサポートしますが、すべての 3D アプリケーションが 2 つ以上の UV をエクスポートするわけではありません。 | |
Generate Lightmap UVs | これを有効にすると、ライトマップに使用する 2 番目の UV チャンネルを作成します。詳しくは ライトマップ を参照してください。 |