見出し画像

Blenderから直にUnityにインポートしない理由

Blenderから直にUnityにインポートしない理由 とは?
という質問を頂いたので少し書いてみようかと思います。
実際、直インポートは長らく使用していなかったので参考程度ということで(一応一部は検証しました)。

ここでいう直インポートとは、Blenderの保存ファイル(.blend ファイル)を直接 Unity のProjectウィンドウ内(右側)にドラッグ&ドロップで放り込んでおき、その後 .blend ファイルをBlenderで修正、保存、Unity上で自動更新するという作業方法です。


直インポートでも全然OK!

いきなりですが、直インポートで作業上問題なければそれで全然OKだと思います。むしろ楽です。タイムスタンプで自動認識してくれるので正直便利です。
私も昔は直インポートだけでなんとかならないか模索した頃もありました。


この後色々書いてますが「ふ~ん、そういうのもあるんだ」程度で良いと思います。ゆるい感じで。


PC環境の差による問題

Windows上でBlendファイルの関連付けがされていない/外れていると直インポートはうまく機能しないことがあります


■インストーラー版のBlenderの場合
これを使ってインストールした場合は関連付けが自動でされるかと思います。この場合は直インポートはうまく動作する場合が多いようです。
しかし何かの拍子に関連付けが外れると、関連付けを戻しても直インポートが使えないままになることがありました。
(一頃この質問をよく見かけた覚えがあります)

■ZIP版 Blender の場合
自動的に関連付けはされません。なので直インポートでは認識されません。

手動で関連付けしても直インポートがうまくいかない場合があります。
Unityを3~4回起動しなおしたり、Blendファイルを更新を数回すると直ったり、相変わらずよくわかりません(Blender2.83+Unity2019.4.0f1で発生を確認)。この辺は3~4年前とあまり変わってない感じがします。


ちなみにどちらの版を使うかは好みですがZIP版は展開するだけなので、私的には複数のBlenderのバージョンが管理がしやすいというのはあります。
インストーラー版でも複数Blenderの管理ができないわけではないですが、ZIP版なら移動も削除もエクスプローラで簡単。メインPCからノートPCに移す際もコピーで済みます。
さらにポータブルSSDかUSBメモリでBlender本体とデータを一緒に持ち運んで作業できます。


作業による問題

作業内容や、その人のワークフローの好み(?)にもよるのであくまで私的には、ということでいくつか書いてみます。


光源、カメラも Unity に取り込まれる

Blender上でモデルを作成してる際に、テクスチャベイクの為に光源を置いたり、確認用のカメラを置いたり(SSの撮影用とか)するときがあります。
スカイボックスのHDRテクスチャも同時に作ってる時などは、それ用の別カメラを置いたりします。

すると目的のモデル以外の光源、カメラもいっしょにUnityに取り込まれてしまいます。
これで気にならなければ良いのですが、Unity上では不要なオブジェクトができてしまうのでなんか嫌な感じです。


Humanoid型でアバターがインポートができない?

と、思っていたらできました。
閲覧者様からの情報にて再検証したところ、できることを確認(感謝!。
ローポリアバター単体の製作等なら blendファイル直インポートの作業は結構アリかも。


Hideがきかない

直インポートの場合、Blender上でモデルをHide(非表示)してもUnityはそれを認識せず、全モデル(非表示モデルも)インポート対象にします。

ちなみにこれは Blender2.82 + Unity2019.4.0f1 でも変わってませんでした。
( Blender2.4x + Unity4.x でもこうだったので諦めた記憶)
この辺が機能してくれればもう少し便利なのですが。


ハイポリゴンモデルからローポリゴンモデルへのベイク

これが決定的となり、blendファイルの直インポートは使わなくなりました(もうダメだ~限界だ~感。

ハイポリモデルを作っておいて、ローポリモデルにノーマルマップを焼く、等の作業です。Ambient でも Shadowでもなんでも焼けるので Blender的には便利な機能のひとつです。

当然ですが、Blender上にはハイポリモデルと、ローポリモデルの2つがあります。Unityでインポートしたいのはローポリモデルだけです。

ですが、ベイクの作業上2つのモデルは1つのBlenderファイル内に存在していなければなりません。

このblendファイルをUnityに直インポートすると、当然ながらローポリとハイポリもインポートされます。
しかもハイポリはUnityの変換時間が長いんですよ。
これを取捨してインポートする方法は当時私が調べた範囲では無かったです(Hideも効かないので)。


大きなモデルの例

前項のハイポリモデルに似た話です。

Blenderはオートセーブ機能はありますが、クラッシュでの作業ロストが怖いので、保存はマメにしていることが多いです。つまりタイムスタンプが新しくなります。

Blender上で作業中の際に、テクスチャを用意するかな~と2Dソフトに切り替えようとして間違ってUnityのウィンドウをクリックした瞬間。
作業中で中途半端な状態で保存されている blendファイルに対してUnityはがんばって変換しはじます。しばらく返ってきません。
しかもUnity上に出来上がるのは中途半端な状態のモデルです。

テクスチャ1枚だけUnityにインポートして差し替えて確認したいような場合でも、blendファイルのタイムスタンプが新しくなっていると変換が走ります。
これらが作業効率を阻害してイラっとするのも直インポートを使わなくなった理由の1つです。


と、色々書いてみましたが、まだまだ色々あると思います。


デザイナーツールの使い方に「正解」はない

ここまで、「直インポートだとココが不便」みたいなことを書いていますが、「直インポートの方が楽で便利」な作業もあります。
実際Unity使い始めの頃は便利だな~と思って使っていました。
ちなみにPSDファイルも当初直接インポートしてましたが、似たような理由で使わなくなりました(2kとか4kサイズのテクスチャの変換が意図しないタイミングで走るとやる気が萎えるので)。


この辺は特に「これが正解」というのはないので、自分が使いやすい方法が、「今の自分の正解」だと思います。
不便を感じたら変えていく。そういう感じだと考えています。

また作業目的に応じて臨機応変に変える、というのもあります。
直インポートでも、FBXでも、glTF2.0 でもその時の目的に合いそうな方法を使えば良いと思います。

「とにかく今なんでもいいからモデルが欲しい」場合はFBX Exportなんかせずに手元の blendファイルをUnityに放り込んだ方が早いですし。

SubStance Painterなんかは OBJ ですしね。
※多分AutodeskにFBXのライセンス料を払いたくないのでしょう。



本とかネットで FBX や glTF2.0 などを見て「ひょっとしてそれおいしいの?」と興味を持つのはクリエイタとして非常に良いことだと思います。

ですが、自分の作業には合わないと思ったら無理に使う必要性は無いと思います。

ただ、ひょっとすると将来「あ~あれをつかうといいのかも?」と思うときがくるかもしれないので、なんとなく頭の片隅に覚えてる程度で。








ちょっとだけ執筆参加させて頂いてます。興味がある方は是非宜しくお願い致します。
少々お高いので本屋さんなどでチラ見してからでもいいかも。
冒頭のUnity入門編が何気に好きです。

https://www.amazon.co.jp/Unity-デザイナーズ・バイブル-森-哲哉/dp/4862464777/


PDF版の方が若干お安いです。重くないし。

https://www.borndigital.co.jp/book/18492.html


この表紙絵、結構好きなんですよね。


この記事が気に入ったらサポートをしてみませんか?