モデルインポート

Import Settings ウィンドウにあるタブの種類

FBX に変換されるファイル形式

それ以外のファイル形式

参考:

インポート | Unity マニュアル [公式]

3D モデリングソフトウェアからのモデルのインポート | Unity マニュアル [公式]

他のアプリケーションからのエクスポート | Unity マニュアル [公式]

モデルの Import Settings ウィンドウ | Unity マニュアル [公式]

サポートされているモデルのファイル形式 | Unity マニュアル [公式]

他のアプリケーションからインポートするときの制限 | Unity マニュアル [公式]

使い方

参考:

FBX Importer をちゃんと理解する Model 編 | LIGHT11

BlendShapes

BlendShapes をインポートするためには Model タブで「Meshes > Import BlendShapes」を有効にする。

参考:

Blender でブレンドシェイプを作成して Unity に取り込む | LIGHT11

Model タブ

Scene

  • Scale Factor:モデル全体をスケールする
  • Convert Units:モデルファイルに定義されたモデルのスケーリングを Unity のスケールに変換する
  • Import BlendShapes:ブレンドシェイプをインポートする
  • Import Visibility:MeshRenderer が有効化どうかを表す「可視性」をインポートする
  • Import Cameras:カメラをインポートする
  • Import Lights:ライトをインポートする
  • Preserve Hierarchy:モデルにルートが1つしか存在しない場合もプレハブルートを作成する。複数のモデルでリグを共有していて階層を維持する必要がある場合などに使用する。

Meshes

  • Mesh Compression:メッシュ境界毎にメッシュ精度を下げて圧縮率を上げる。また、コンポーネント毎にビット深度を下げてメッシュデータを圧縮する。
  • Read/Write Enabled:ランタイムに CPU がメッシュデータにアクセスできるように CPU で利用可能なメモリに複製を保持する。メモリ使用量削減のために CPU でメッシュデータにアクセスしない場合は無効にするべき。
  • Optimize Mesh:GPU パフォーマンスを改善するためにメッシュ内で三角形の順序を最適化する。
  • Generate Colliders:メッシュ形状に沿って自動的にコライダーを生成する。環境ジオメトリの衝突メッシュの生成に役立つ。動くオブジェクトへの使用は避ける。

Geometry

  • Keep Quads:三角形分割を行わない。テッセレーションシェーダーの使用時に便利な場合がある。5つ以上頂点を持つ N ゴンはこの設定に関わらず分割される。三角形ポリゴンと四角形ポリゴンは別のサブメッシュに保持される。
  • Weld Vertices:空間的に同じ位置にある頂点を融合する。これによって同じ位置の頂点が同じプロパティ (UV、法線、接線、頂点カラーなど) を共有できる。また、頂点数が削減されてパフォーマンスの向上が期待できる。
  • Index Format:メッシュインデックスバッファのサイズを指定する。Auto に設定にしておけば、通常は 16bit を用い、必要な場合にのみ 32bit を用いる。
  • Normals:法線をインポートするあるいは計算で求めるかを指定する。法線を使用しないモデルに対して None を設定することでデータを削減することができる。
  • Blend Shape Normals:ブレンドシェイプの法線を計算するかどうか、及び計算方法を指定する。
  • Normals Mode:法線の計算方法を指定する。
    • Unweighted (Legacy):Unity 2017.1 より前のバージョンで使用されていた計算方法
    • Unweighted:重み付けを使用しない。
    • Area Weighted:面の大きさによって重み付けを行う。
    • Angle Weighted:頂点に占める角度に基づいて重み付けを行う。
    • Area and Angle Weighted:面の大きさと頂点に占める角度に基づいて重み付けを行う。(既定)
  • Smoothbness Source:エッジのスムージングを指定する。
    • Prefer Smoothing Groups:モデルファイルの指定を優先する。
    • From Smoothing Groups:モデルファイルの指定に従う。
    • From Angle:指定された角度に基づいて決定する。
    • None:ハードエッジで頂点を分割しない。
  • Smoothing Angle:頂点をハードエッジに分割する角度を指定する。
  • Tangents:接線の計算方法を指定する。
    • Import:ファイルからインポートする
    • Calculate Legacy:従来のアルゴリズムで計算する
    • Calculate Legacy – Split Tangent:UV チャート全体を分割して、従来のアルゴリズムで計算する。
    • Calculate Mikktspace:MikkTSpace によって接線を計算する。(既定)
    • None:接線を使用しない。
  • Swap UVs:メッシュの UV チャンネルを入れ替える。Diffuse テクスチャでライトマップの UV を使用する場合にこの入れ替えを使用する。
  • Generate Lightmap UVs:ライトマップに使用する UV チャンネルを作成する。

参考:

Model タブ | Unity マニュアル [公式]

アニメーション (Animation)

参考:

Animation タブ | Unity マニュアル [公式]

Importing non-humanoid animations | Unity Manual [Official]

Root Motion

FBX 形式でインポートしたアニメーションでルートモーションを適用する。

手順:

  1. 「Rig」タブで Root node を指定する。
  2. Animator コンポーネントの「Apply Root Motion」を有効にする。

参考:

ルートモーションの概念と設定方法をサクッと理解する | LIGHT11

ルートモーションの仕組み | Unity マニュアル [公式]

Rig タブ | Unity マニュアル [公式]

マニュアルでのルートモーションのスクリプティング | Unity マニュアル [公式]

How to apply root motion to Blender animation – Unity Answers

How do I properly apply root motion when using a blender exported FBX in Unity? – Game Development Stack Exchange

How to make root motion in cat .fbx drive movement? – Unity Answers

How to get root motion from animations made in blender? – Unity Answers

Rigify and Root Motion in Unity. Latest Version not working? – Blender Stack Exchange

Animation ignores Root Motion – Unity Forum

No Root Transform Rotation or Position option available in fbx inspector – Unity Forum

How to disable animation root motion – Game Development Stack Exchange

三角形分割 (Triangulation)

参考:

Importing .fbx results in triangulation – Blender Stack Exchange

自動設定

FBX のインポート時にスケールを自動的に調整し、コライダーを追加する。

using UnityEditor;

public class FBXScaleFix : AssetPostprocessor
{
    public void OnPreprocessModel()
    {
        ModelImporter modelImporter = (ModelImporter) assetImporter;
        modelImporter.globalScale = 1;
        modelImporter.addCollider = true;
        modelImporter.normalImportMode = ModelImporterTangentSpaceMode.Calculate;
    }
}

参考:

Annoyed by the 0.01 import scale factor? Want to automatically add colliders? (Silence) | Unity Forum

Exporting from Unity to Blender? – Unity Forum

その他

参考:

AssetBundles を使って .fbx モデルをネット上から回収 – Qiita

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です