読者です 読者をやめる 読者になる 読者になる

おもちゃラボ

Unityで遊びを作っていきます

Blenderで作ったモデルがUnityでベイクできない

Blenderで作った3DモデルをUnityのシーンビューに配置して、ライトをbakeしようとすると次のようなエラーが出ることがあります。

f:id:nn_hokuson:20170201193134p:plain

Mesh doesn't have albedo UVs. Please create them in your modeling package.

Mesh doesn't have UVs suitable for lightmapping. Consider enabling "Generate Lightmap UVs" in the model importer.


これは、BlenderでテクスチャのUV座標を指定していない場合に出るエラーのようです。テクスチャを使わない場合でも仮でUV座標は指定する必要があるようです。

.blender形式のままインポートしている場合は、上のエラーをダブルクリックするとBlenderが立ち上がるので、画面右の三角形のマークをクリックし、メニューから「UVマップ」の欄の「+」をクリックします。

f:id:nn_hokuson:20170201193231p:plain

また、影を正しくbakeするためには、Unityにインポートしたモデルを選択し、インスペクタから「Generate Lightmap UV's」にチェックを入れて、再度ライトを焼き直す必要があります。

f:id:nn_hokuson:20170130192648p:plain

こちらの記事でも、やり方を紹介しています。

nn-hokuson.hatenablog.com

これでライトのベイク結果が正しく表示できるようになります。