BlenderのモデルをUnityに読み込む際の注意点メモ

自分で気づいた事のメモなので不正確な事があり得ますのでご了承下さい。

モデルをUnityに読み込む

・出力前に各オブジェクトのローカル座標系の原点が後々不便な位置になってないかチェックする。必要があればCtrl+Aでローカル座標系の移動回転拡縮を確定(ワールド座標系と一致)させておく。
・テクスチャを使う場合は先にBlenderでモデルを選択してUを押してUVスマート展開してテクスチャ貼っておく。UVマップ以外のマッピング方法は上手くいかない?
・ファイル>エクスポート>FBX出力画面でメッシュだけを青くしておく(カメラやライトやベジェカーブやアニメーション等出力したい場合は別)。
・「!実験的機能!トランスフォーム」というチェックボックスがあったけれど取り敢えずチェックしたらサイズ感が比較的Blenderに近い感じでエクスポート出来たかも。
・出力前にX軸周りに-90度回さないと駄目(回転させた後はもちろんCtrl+Aで回転を確定させる)という情報もあったけれど、普通にFBX出力時に(-Z: Front Y:Up)のままで良さそう。
・出力されたFBXファイルとテクスチャファイルを一緒にD&Dするとテクスチャも読み込まれる。
・一度読み込んだテクスチャや編集済みはモデル再読込の度にD&Dしなくて良い。
・モデル編集して再読込したい場合はUnity内配置済みモデルの座標回転拡縮の値だけメモしとく。

その他

[File] -> [External Data] -> [Pack All into .blend] を実行する。
※[Automatically Pack into .blend]にチェックを入れておくと自動でPackするようになる

マテリアルにテクスチャを貼る
UV/Image EditorでメッシュとUVのマッピングをする
[File] -> [External Data] ->「Make All Paths Absolute」で外部ファイルのパスを絶対パスに直す
[File] -> [Export] ->「FBX(.fbx)」
以下のように設定を変更してエクスポート

Forward: Z Forward
Path Mode: Copy
Embed Textures: On
とかも必要?

・FBXファイルと使用しているテクスチャを全て選択してUnityにD&D。
これでいいのか分からないけれど取り敢えず上手くいく。(何故かY軸に180度回転してしまうので回転させる)

読み込んだモデルは右手座標系と左手座標系が入れ替わっており後ろ向きに表示されるのでY軸に180度回転させる。

Unityに読み込んだモデルのマテリアルを編集可能にする

プロジェクト欄のモデルを選択してImportSettingsのMaterialsタブからLocationをUse External Materialsに変更してApplyする。

バンプマップの適用

グレースケールのハイトマップ画像をバンプマップに使っていた場合、そのまま取り込んでもバンプマップが上手く適用されないので
画像のインポート設定のインスペクターで “Texture Type” を “Normal Map” に変更し、“Create from Grayscale” オプションにチェックを入れる。
Bumpinessのスライダーでハイトマップを法線マップに変換する際の角度をどのぐらい急にするか調節できる。適用すると虹色の画像ができる。かなり滑らかにした方が見栄えが良い気がする。
マテリアルでNormalMapの方に適用する(HeightMapではなく)。オブジェクトがバグって表示される場合はマテリアルのShaderがOpaqueになっておりTransparent等にしていないと思われるので修正する。

複数テクスチャ割り当てのマテリアルの読み込み

1つのマテリアルにつき1つの(カラー)テクスチャを割り当てる(バンプマップは別)。複数割り当てたい場合はBlenderで別のマテリアルを作成してそこに新たにテクスチャを割り当てる。じゃないと勝手にマテリアルが統合されて変な事になる。
Unityでは1つのマテリアルに1つのカラーテクスチャのみ。デカールみたいな一部を除いて透明なテクスチャを貼りたい場合はインスペクタのMaterialsのサイズを2に増やす。
画像インスペクタにおいてアルファ値を画像から指定するをチェックして透過部分を有効にした上で、マテリアルのShaderをTransparentなどにして透過を有効にして、もう片方のマテリアルにカラーを割り当てたり別の全体を覆うテクスチャを指定する。


このモデルでは朱色の梁の金色部分はデカール的なテクスチャ。Materialsを2にして、1つ目を朱色のalbedoカラー指定のみ、2つ目のマテリアルは金色部分のテクスチャをalbedoに指定し、更に金色部分のテクスチャのグレースケール版を↑の「バンプマップの適用」の通りにNormal Map画像に変換し、2つ目のマテリアルのNormal Mapに適用している。

なお、オブジェクトをStaticにしてGIを利用する場合は複数マテリアルは使用不可なので、色が定まった時点でalbedoカラーをテクスチャの背景色にしてマテリアルを統一する。

本当はBlender側でベイクしたテクスチャを貼った方がいいんだろうけど、まだその辺りは不明なので保留・・・

1 Star2 Stars3 Stars4 Stars5 Stars (まだ投票されていません)
Loading...

    コメント