BlenderからエクスポートしてUnityでインポートしたメモ

バージョン(ちょっと古いです)

  • Unity 2022.3.8f1
  • Blender 3.6.2


こんな感じのバットをBlenderで作成した。


しかし、Blenderで作成したシェーダーはエクスポートのときにUnityが読み込めるように変換してくれる訳ではないらしい。そういうのもやってくれるのがエクスポートじゃないのか・・・



参考によると一回テクスチャを画像にしてからエクスポートしなければいけないらしい。



■シーンのワールド使ってなかった問題


私は素人なのでモデリングに問題があり、まずシーンのワールドを使っていなかった。

これが一番金属バットに見えるので使っていたが、残念ながらこのままレンダリングすることは不可能らしい。よって、シーンのワールドにチェックが入った状態で同じ見た目になるように極力近づけました。

背景はBlenderの「studio.exr」をWorldに指定することで出来たが、


ライトは自分で調整するしかなさそうだったので、Tri-Lightingというアドオンを見つけて有効化。完璧な再現はできませんでしたが、妥協。





■スケールが1でなかった問題

次の問題は、スケールが1でなかったこと。Blenderはスケールが1以外の場合は問題が起きるので、1にするのが基本らしい。(なら自動で1にする機能があるべきでは?)

オブジェクトを選択して、



オブジェクト→適用→スケール で1になる。



これを全てのメッシュに対して適用・・・


するとバットの先の形が変わってしまった。


モディファイアーでベベルを使っていたのだが、これはスケールを1する操作に対して自動で調整されてくれないっぽい。また調整したが、完全には元に戻らなかった。ベベルの挙動がよくわからないので妥協。



■UVマッピングの調整

ワークスペースUV編集タブに切り替え。



新規 から新しい画像を作成。名前はモデルのファイル名と同じにした方が多分良い。





Shift+クリックで必要なメッシュを全て選択



オブジェクトモードから編集モードへ



そしてモデリングが表示されているパネルをクリックしてから

キーボードの A を叩くと以下のようにUVが表示される



このままでは全て被ってしまっているので位置の調整が必要

UV選択モードを アイランド に変更



これで各メッシュごとにUVが選択できる



UVの移動・拡大の操作は、メッシュなどの操作と同様。かぶらないように調整。



その後のエクスポート手順は参考の
Blenderエクスポート方法【ノードで作成したテクスチャ】
(2) シェーダーノードの設定

からの手順とほぼ同様なのでそちらを参照。

ただし、こちらでは「マテリアルを削除して、新たに作り直し」は嫌だったのでそのまま残してます。問題起きる時もあるんでしょうけどね。




■Unityでインポート

.fbxをUnityプロジェクト内の適当な場所にコピペ


Unityのフォルダを右クリック、Refresh


先ほどエクスポートしたものが表示される


右のInspectorウィンドウから、
Extract Textures



展開先のフォルダを指定を求められるので適当な場所で フォルダーの選択


Extract Materials




フォルダの選択も同様に(画像省略)


Apply



Hierarchyにドラッグアンドドロップ



これでシーン内で確認できます






■余談

いやエクスポートでやってくれ!?!?!?!?!!?

それぞれバージョンがちょっと古いせいもあるかもしれませんが、Blenderに最低でも以下の機能は欲しい。

  • 自動でスケールを1に調整
  • スタジオライトでそのままレンダリングできる設定
    (見えてるものをそのままレンダリングできないのが非常にストレス)
  • エクスポート時に自動でテクスチャ生成して適用


BlenderからUnityなんて誰でもやってるでしょうから、すぐできると思ってました・・・
なんでこんなに面倒くさいのか・・・












コメント