問題 Unityで3Dモデル(.fbx)をインポートしたら何かおかしい
Unityで3Dモデル(FBX)をSceneにインポートしたら, オブジェクトの色が暗い…
FBX Reviewで3Dモデル(FBX)を表示させると、オブジェクト,マテリアルが黒くなる…
原因
3Dモデル(FBX)自体がおかしい
今回はUnityで3Dモデル(FBX)がマテリアルが黒くなる,オブジェクトの色がおかしい時の対処法を紹介します。
問題 マテリアルが黒くなる,オブジェクトの色がおかしい
・Unity [Scene],[Game] → オブジェクトの色が暗い.色がおかしい。
・Lightは使っていません。
・FBX Review → オブジェクト,マテリアルが黒くなる
原因 3Dモデル(FBX)自体がおかしい
例えば
・頂点グループが重複している
・頂点グループが割り当てられてない
・メッシュの名前が重複している(連番や似ている名前は注意)
・メッシュ → 面の向きが反転している
・オブジェクトの原点(Pivot Point)の位置がおかしい
・[オブジェクトプロパティ] → トランスフォーム(位置,回転,モード,拡大縮小)がおかしい
など
私の場合, 3Dオブジェクトを複製やミラーした時 → 頂点グループは元のまま
これに気づかなかった。
修正方法1 頂点グループ 割り当てを確認,修正する
オブジェクトの頂点グループの割り当てを確認, 問題があったら修正します。
今回は右腕が黒くなった時の例を示します
- [オブジェクトモード] 右腕のオブジェクトを選択します.
- [編集モード], [頂点選択]. [オブジェクトデータプロパティ], [頂点グループ] 右腕のグループを選択します。
- 頂点グループの割り当てのミスを確認します。今回は右腕を表す頂点グループの名前が腕.Rではなく、腕.Lになっていました。
- 頂点グループの名前を 腕.L → 腕.Rに変更し, [割り当て]します。
これでOKです。
3Dモデル(FBX)を完璧にしたいのであれば、全てのオブジェクトの対して行うようにします。
修正方法2 メッシュの面の向きを確認する
「オブジェクトの一部が透明になっていて表示されない。。」
この場合は、メッシュの面の向きが反転している可能性があります。
その時は、【Blender】オブジェクト表面が透明になった.メッシュが透けている時の修正方法.
これを試します。
修正方法3 オブジェクトの全トランスフォームを適用する
- オブジェクトの原点(Pivot Point)の位置がグローバル座標(0,0,0)ではない時。
- オブジェクトに回転がある時。
3Dモデルとしてのオブジェクトのトランスフォームが定まってないと、おかしくなる可能性があります。
- [オブジェクトモード], オブジェクトを選択します.
- オブジェクトのトランスフォーム(位置,回転,モード,拡大縮小)の値を確認します。
太字がトランスフォームが定まってない例です。
- 位置
- X: -0.52771m → 0°
- Y: -1.75m → 0°
- Z: -18.668m → 0°
- 回転
- X: 180° → 0°
- Y: 0
- Z: 0
- 拡大縮小
- X: 0.5 → 1
- Y: -0.5 → 1
- Z: 0.5 → 1
- [オブジェクトモード], [オブジェクト] → [適用] → [全トランスフォーム]を選択します。
- 全トランスフォームがリセットされたら、OKです。
オブジェクトのオレンジの点. つまり原点(Pivot Point)が(0,0,0)に位置しているのが理想です。
これを行うことによって、オブジェクト,マテリアルが黒くなる,暗くなる問題の解消の一つになります。
動作環境
- Windows 10 Pro 1909
- Unity 2017.4.28f1 Personal (64bit)
- Blender 2.83 Maya Config Addon For Blender 2.8
- Blender 2.90
- 3Dモデル(3Dオブジェクト).fbx