【Blender】マテリアル・テクスチャ貼り付け反映とベイク

wp_tmb_blender-material-texture

私が3Dモデリングを始めたころに、普通にこう思った。

悩み

3Dビューアで「テクスチャ(画像)orマテリアルを埋め込んだ(貼り付けた)まま出力(表示)させることはできないか」
どうやったらマテリアルが割り当てできるのか、テクスチャを貼り付け(埋め込み)できるのか。

これはBlender初心者の私がつまづいた挫折ポイントだった。

私は多くの人のBlender関連記事や講座動画を見ても、???で試行錯誤が続きました。

本記事ではBlender2.8,2.9におけるマテリアル割り当て・テクスチャを貼り付けを確認する方法およびベイクする方法を紹介しています。

特にマテリアル・テクスチャ・シェーダーによるビューの違いを説明しています。

マテリアル・テクスチャ・シェーダーの違い

言葉の意味は3Dファイルを扱うことにおいては重要です。再確認します。

  • マテリアル:モデル表面の反射率や粗さなど、描画設定の集まりです。オプションでテクスチャやシェーダーを指定します。
  • テクスチャ:簡単にいうと画像ファイルの事を指します。描画処理が速くなります。
  • シェーダー:ピクセル毎の描画色を計算するスクリプトです。

確認1 ビューアの表示の違い

皆さんがよく3Dファイルビューアとして使っているだろう、この3つで確認します。

  • FBX Review
  • 3Dビューア
  • ペイント3D

FBX Review

FBX Review | Cross-platform 3D model viewer

3Dファイル対応形式:.zip, .abc* .fbx, .3ds, .obj, .dxf, .dae, .bvh, .htr, .trc, .asf, .amc, .c3d, .aoa, .mcd.

FBX FBX FBX
なし マテリアル テクスチャ

FBX Reviewではマテリアルは表示されますが、テクスチャ表示されません

またテクスチャ(画像)ファイルをインポートする項目はありません。

3Dモデルがマテリアルとテクスチャが両方付属していても、マテリアルだけが表示されます。

したがって、テクスチャが貼り付けられているかどうかの確認はおすすめしません。

ggってみるとFBX Reviewでテクスチャを表示することができないことに関する議論が多くあります。

Texture not appearing – Autodesk Community

少なくとも2019年, 2020年5月現在でリリースしているFBX Reviewのバージョンでは機能していません。

3Dビューア(旧名:Mixed Reality ビューアー)

3D Viewer を入手 – Microsoft Store ja-JP

3Dファイル対応形式: .FBX, .STL, .OBJ, .GLB, .GLTF, .PLY, .3MF

3Dビューア 3Dビューア 3Dビューア
なし マテリアル テクスチャ

テクスチャはfbxの情報を元に階層以下のディレクトリから自動で検索し、貼り付けて表示してくれます。

3Dビューアのエラー「3Dモデルを読み込むことができませんでした」

私は3Dモデルを3Dビューアを開くとよくこのエラーが発生しました。

3Dモデルを読み込むことができませんでした
後でもう一度試してください

これは3Dビューアのよくあったエラーです。

一方、汎用性の良いFBX Reviewでは表示に成功する確率が高いです。

「後でもう一度試してください」とありますが。以下のような原因を修正しない限り、読み込むことは決してできませんでした。

原因:3Dモデルが小さすぎる。頂点グループが選択されていない。PCが重くて読み込めない。など

エラー「3Dモデルを読み込むことができませんでした」 FBX
エラー「3Dモデルを読み込むことができませんでした」 FBX Reviewで表示可

ペイント3D

ペイント 3D を入手 – Microsoft Store ja-JP

2Dファイル対応形式(書き出し) .png, jpg, .jpeg, .bmp, .gif, .tiff, .tif
3Dファイル対応形式(書き出し) .3mf, .fbx, .glb
3Dファイル対応形式(読み込み) .3mf, .fbx, .glb, .obj, .ply(手持ちの3Dファイルで確認。)

3Dファイルをペイント3Dで開くとこのように表示されます。

ペイント3D ペイント3D ペイント3D
なし マテリアル テクスチャ

ペイント3Dでベイクする方法(テクスチャを貼り付ける)

これはペイント3Dでベイクする方法です。

テクスチャを見つけられないので、画像ファイルを参照し、保存します。

テクスチャファイルもインポートしますか? フォルダー選択 ペイント3D

これでベイクに成功します。

確認2 Blenderのビューの表示の違い

確認するべき箇所が3つあります。

  • 3Dシェーディングのシェーディング⚪
  • マテリアルプロパティ🔴
  • レンダープロパティ📷とベイク

3Dビューのシェーディング⚪

Blender Blender
ソリッドモード マテリアルプレビューモード

テクスチャがベイク(貼り付けられているか)どうか

  • ソリッドモード→周りと比べてメタリックや光沢っぽい質感
  • マテリアルプレビューモード→テクスチャ(マテリアルプロパティのサーフェスのカラー)

マテリアルが適応されているかどうか

  • ソリッドモード→マテリアルカラー
  • マテリアルプレビューモード→マテリアルカラーっぽい(マテリアルプロパティのサーフェスのカラー)

それでも真っ黒だったりピンクだったりする場合は、マテリアルプロパティをよく確認します。

マテリアルが外れていることもあり得ます。

  • 画像のように球体のマテリアルが映ってない場合
    • アルファ(透明度)を0→1にして下さい。映るはずです。
Blender Blender
マテリアル アルファ0 マテリアル アルファ1

マテリアルプロパティ🔴

マテリアルプロパティは🔴赤丸が目印です。

サーフェスとビューポート表示について比較します。

Blender Blender
マテリアル テクスチャ

マテリアルとテクスチャ共通

  • ソリッドモードビューポート表示のカラー
  • マテリアルプレビューモードサーフェスのカラー

テクスチャを反映させるには、「ベースカラー」から画像ファイルを参照します。

レンダープロパティ📷とベイク

レンダープロパティは📷カメラアイコンが目印です。

Blender
  • レンダーエンジンはゲーム用であればEeveeを、よく使われているのはCyclesです。
  • 自分の環境ではレンダーエンジンによっては見た目が変わることはほとんどありませんでした。

  • エンジン:Eevee WorkBench [Cycles]
  • 機能セット:標準、[実験的]
  • デバイス:CPU、[GPU演算]

  • ベイクするとシーン全体、全てのコレクションに反映されます。
    • また「元に戻す」ができないため、気を付けてください。
  • ベイクという処理は、シーン全体のレンダリング結果をそのままオブジェクトに反映させるということです。
Blender
  • ベイクタイプ:色々選んで試します。好みで構いません。
    • 統合
    • アンビエントオクルージョン
    • ノーマル
    • UV
    • 粗さ
    • 放射
    • 環境
    • ディフューズ
    • 光沢
    • 伝播
    • サブサーフェス

最後に

  • テクスチャは画像ファイルを参照しています。
  • ビューアーやUnityでテクスチャ付きで表示されない場合はマテリアル項目で画像ファイルを指定します。
  • マテリアルとテクスチャはサーフェスのカラーが元になります。

  • テクスチャ(画像ファイル)を埋め込む方法・確認する方法はあります。
  • テクスチャ→マテリアルへ変換しベイクすることはできないか模索中です。
  • ややこしいですが使い続ければコツを掴めはずです。

参考

マテリアル・テクスチャ・シェーダーの違い

[1] : マテリアルとシェーダーとテクスチャ – Unity マニュアル

FBX Reviewでテクスチャが表示されない、テクスチャをインポートすることができないことに関する議論

使用モデル:©Project RAIV

動作環境

  • Windows 10 Pro
  • Blender 2.81~2.83, 2.9
  • FBX Review 1.4.1(Autodesk 3Dファイルビューア)
  • ペイント3D 6.2003.4017.0(Windows10 標準アプリケーション)
  • 3Dビューアー 7.2003.11022.0(Windows10 標準アプリケーション)