Blenderのポーズ済みメッシュをUnityに表示させる(Unity学習10回目)

(約 3,200文字の記事です。)

Unityでセル画調の静止画やアニメーションを作りたい人がUnityの使い方を学ぶ日記、備忘録、メモ帳です。

対象読者はUnity初心者で、Unityで動画を作りたい人。ゲームはいらんと言う人。

なおこの記事は私の学習メモなので、読者に分かりやすく解説する記事ではないので、その点にご注意を。

目次

Blenderを使うならfbxよりもglTFかも

前回のUnity学習中に知ったglTFという形式。

Genki Tech
Unityでコンポーネント調整後にモデルだけ一瞬で差し替える方法。 | Genki Tech Unity で外部モデル(例えば blender から glTF 形式で出力したもの)を取り込むと、Prefab 形式でインポートされます。その Prefab に剛体やらジョイントでリグを仕込んで...

どうやらfbxの弱点を補えるらしい。少なくともUnityとBlenderを使うなら損はしないようだ。(Mayaでもエクスポーターを入れればできるらしい。)

glTFとは何か?

glTF(ジーエルティーエフ:GL Transmission Format)、GLとは「Graphics Language」の略らしい。

英語版Wikipediaより、glTF (derivative short form of Graphics Language Transmission Format or GL Transmission Format)

Zbrush、Fusion 360、Twinmotion、(UE4少々)から入ったモデリング主体の造型方法ではソフト間のファイルのやりとりはobjかfbxが多い。クリース情報などとなるとobjではシンプルすぎて何もできないので、当時からfbxを使っていた。だから今回のBlenderとUnityとのファイルのやりとりでもfbxで考えていた。

だがひょんなことからglTFなるものを知る。調べてみるとこれ、Blender使いがUnityを使うならばfbxよりも有利なんじゃないか?(Maya使いはfbxがよさげらしい。)

あわせて読みたい

なんだかfbxではできなかったことができるようになるらしい。そしてglTF 2.0になってから劇的によくなったそうだ。調べてみるとビンゴな紹介記事を見つけた。

XR-Hub
【Unity】Blenderで作成した3DモデルをglTF形式でインポートする – XR-Hub せっかくBlenderでマテリアル・テクスチャを設定しても、FBX形式では色・質感・ノーマルマップといった情報はエクスポートされません。 そのせいで、「マテリアルの再設定...

UniGlTFプラグインを入れるだけでOKだとか。なぁんだ、これでBlenderでPBRマテリアルも含めてセットアップしてもUnityに移植できるようだ。この互換性の高さはfbxよりもはるかによさそうだ。なのでfbxによる連携ではなくてglTF形式で運用してみようと思う。

あわせて読みたい

このモデルでテスト。幸いBlendファイルも直接用意されていたので都合がいい。ディフューズマップ(アルベド、要するに地の色)以外に、ノーマルマップ、ラフネスマップ、ディスプレイスメントマップまである。

ディスプレイスメントモディファイアで凹んでいる部分もある。(メッシュモデルはツルンとしている)

しかもBlenderで作成されたBlenderファイルまであるのでBlenderで開く分には完璧。なかなかハードルの高い素材が手に入った。これでglTFのテストをする。

Blenderの絵をUnityで表現できた!

インポートはできたが、モディファイアの適用チェックをOFFにしていたので凹みがない。なので再度ONにしてテスト。よく分からないが上記URLの記事にしたがってPrefab variantを作成して上書きインポートで差し替え完了。

プレハブバリアント – Unity マニュアル

ディスプレイスメント・モディファイアが適用された形でUnityにインポートされた。やったね。

色味は結構違うが、これは光りの加減やマテリアル設定の違いによるものだろう。詳細はさておき、これでディフューズ、ノーマル、ラフネスマップはBlenderから移植できたっぽい。

(まだ正しく設定されているかどうかをUnity上で確認する術を知らないw)

カメラを移動させてゲームウィンドウでの見栄えはこちら。

何だかシュールな絵になっている。

だがこれでとりあえず静止画1枚でいいならばBlenderで作ったものをUnityに移植できることが分かった。

あとはマテリアルの見栄えの調整方法などを学べばいい。

glTFの他にも.blendファイルを直接Unityに渡す作戦もあるようだ。後日調べてみる予定。

今後やるべきこと

おっと、だいぶ前進した気がする。Unityでセル画調の1枚絵を作るための取り組みは、実は結構いいところまで来たと思う。Unityは確か「見栄えがそのままレンダリング結果」だったはずなので、後はマテリアルの見た目の調整とRecorderによる1フレームのpng高画質画像を出力できれば、あとはUnity Toon Shaderのセットアップで願いが叶うことになるのでは?と思っている。

少なくとも今日までに確認できたことは、

  1. Blenderでリグ入りメッシュをUnityにインポートできる
  2. glTFを使えばたいていのマップをUnityにインポートできる
  3. glTFによるメッシュの差し替え変更方法の理解

ここまでくれば、あと身に付けたいことは、

  1. Unity上でのマテリアルのセット状態の確認・修正方法
  2. Unity Toon Shaderの導入(および設定の煮詰め)
  3. Unity Recorderの導入
  4. 1フレーム分の高画質png出力

おっと?だいぶゴールが見えてきた気がする(笑)アニメーションなしならば意外と早いのかも知れない。

今回の創作活動は約1時間30分(累積 約2,754時間)
(807回目のブログ更新)

ご支援のお願い

筆者はAmazonアソシエイト・プログラムに参加しています。(Amazon様の商品を宣伝することで紹介料をAmazon様から頂けるという大変ありがたい仕組みのこと。)
以下の商品名や画像アイコンをクリックしてからAmazon様で何かお買物をして頂ければそのご購入総額の1~2%が私に寄付されます。クリック後に別の商品のご購入でもOKです!誰が何を買ったかは私に通知されませんのでご安心下さい😊

また当サイトは楽天アフィリエイト、バリューコマース Yahoo!ショッピング アフィリエイト、および第三者配信の広告サービス(Googleアドセンス)を利用しています。

著:北村 愛実
¥2,673 (2024/11/15 18:56時点 | Amazon調べ)

【他の関連記事を絞り込む場合】
下の カテゴリ名 タグ名 をクリックして下さい

目次