モデルインポート

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

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

それ以外のファイル形式

参考

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

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

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

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

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

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

使い方

参考

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

モデルのインポート | SonoBlog

How to change units of a .fbx file | Unity Forum

設定

Scene

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

Meshes

  • Mesh Compressionメッシュ境界毎にメッシュ精度を下げて圧縮率を上げる。また、コンポーネント毎にビット深度を下げてメッシュデータを圧縮する。
  • Read/Write Enabledランタイムに CPU がメッシュデータにアクセスできるように CPU で利用可能なメモリに複製を保持する。メモリ使用量削減のために CPU でメッシュデータにアクセスしない場合は無効にするべき。
  • Optimize MeshGPU パフォーマンスを改善するためにメッシュ内で三角形の順序を最適化する。
  • 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面の大きさと頂点に占める角度に基づいて重み付けを行う。(既定)
  • Smoothness Sourceエッジのスムージングを指定する。
    • Prefer Smoothing Groupsモデルファイルの指定を優先する。
    • From Smoothing Groupsモデルファイルの指定に従う。
    • From Angle指定された角度に基づいて決定する。
    • Noneハードエッジで頂点を分割しない。
  • Smoothing Angle指定した角度より面の成す角度が大きい場合にハードエッジに分割する。(0180/単位degree)
  • Tangents接線の計算方法を指定する。
    • Importファイルからインポートする。ファイルにデータがない場合、接線は使用できない。
    • Calculate Legacy従来のアルゴリズムで計算する。
    • Calculate Legacy – Split TangentUV チャート全体を分割して、従来のアルゴリズムで計算する。
    • Calculate MikktspaceMikkTSpace によって接線を計算する。(既定)
    • None接線を使用しない。
  • Swap UVsメッシュの UV チャンネルを入れ替える。Diffuse テクスチャでライトマップの UV を使用する場合にこの入れ替えを使用する。
  • Generate Lightmap UVsライトマップに使用する UV チャンネルを作成する。

参考

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

ブレンドシェイプ (Blend Shapes)

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

参考

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

Blend Shape Normals

参考

Unity でカスタム法線メッシュにブレンドシェイプを適用した際に法線が崩れる問題の解決法 – Qiita

アニメーション (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

Normals Mode

参考

Importing vs calculating normals – Unity Forum

Importing Normals – Unity Forum

How to import smooth normals correctly from Blender? Is it possible? – Unity Forum

Smoothing Angle

参考

Unity で Smooth をかける | PERKUP

ModelImporter.normalSmoothingAngle | Unity スクリプトリファレンス [公式]

What exactly smoothing angles do – Unity Forum

法線を再計算する

参考

スムージング角を用いて法線の再計算を行う | NORIO BLOG

better RecalculateNormals | My note (ugcj.com)

A better method to recalculate normals in Unity Part 2 | The Scheming Developer  (archive)

Mesh.RecalculateNormals | Unity スクリプトリファレンス [公式]

Mesh Smoothing angle on mesh created at runtime – Unity Forum

法線マップ/接空間

こちらのページを参照

参考

法線マップと接空間 | しゅみぷろ

Generating Perfect Normal Maps for Unity (and Other Programs) | Ben Golus

Unity3D Tangent Basis Calculator Plugin for xNormal | James O’Hare

How to export tangents? (Or rather, import them with Unity?) – Unity Forum

Normal map strange seam problem – Unity Forum

Unity normal map problem | polycount

Weird shading error around next to UV seams – reddit

自動設定

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

アニメーションクリップを取り出して編集する

FBX ファイル内のアニメーションクリップは読み取り専用であるため、そのままでは編集できない。プロジェクトウィンドウで FBX ファイル内のアニメーションクリップを選択して、Ctrl + D で複製する。

参考

FBX に格納された AnimationClip を取り出し編集可能にする | テラシュールブログ

頂点数/三角ポリゴン数

参考

ポリゴン数を確認する | 初心者からわかりやすく (ame-name.com)

その他

参考

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

FBX Instance Importer

参考

FBX Instance Importer | Unity Asset Store [Official]

FBX Instance Tutorial – YouTube

FBX Instance Example – YouTube

SmoothingAngleFix

参考

Auto-fix Unity’s tangent space generation when importing models – GitHub

記事をシェアする:
タグ:

コメントを残す

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