Blender ウォッチング

アドビの「Substance 3D painter」は利点多数! ただし弱点も

分業作業なら導入の価値アリ。しかし「Blender」だけで完結できる用途では……

 本連載では、無料の高機能3Dモデリングツール「Blender」の使い方や関連情報を幅広くお伝えします。

モデルと文字盤以外は「Substance 3D Painter」にて作成。レンダリングはCycles

 今回は前回できなかった「Blender」へのインポートの解説と、「Substance 3D painter」への再インポートについて、そして最終的なまとめを行いたいと思います。

Substance 3D Painterファイルのインポート

Substance 3D Painterでの「sbsar」ファイルのエクスポート

 アドオンからSubstance 3D Painterの作業データを読み込むには、「sbsar」形式でファイルをエクスポートする必要があります。

 「Substance 3D Painter」の[ファイル]メニューから[テクスチャを書き出し...]を実行します。

「Substance 3D Painter」の[ファイル]メニューから[テクスチャを書き出し...]を実行

 ダイアログ内のパス(①)をクリックして出力場所を指定し、ファイルの種類(②)を「sbsar」に設定して下の[書き出し](③)をクリックします。

 なお、ここでは省略していますが、「Blender」以外のテンプレートを使用していた場合は、[出力テンプレート]も「Blender (Principled BSDF)」に変更してください。

ダイアログ内のパス(①)をクリックして出力場所を指定し、ファイルの種類(②)を「sbsar」に設定して下の[書き出し](③)をクリック

 タブが「書き出しリスト」に変更され、書き出されたファイルのリストが表示されます。確認したら[設定を保存]をクリックして閉じます。

「書き出しリスト」の書き出されたファイルを確認したら[設定を保存]をクリック

「Blender」での「sbsar」ファイルのインポート

 「Blender」側でのインポートには、前回インストールしたアドオンを使用します。

 [Shading]ワークスペースなどに切り替え、[シェーダーノード]エディター内で左端の[≺]をクリックするか、[N]キーを押して[サイドバー]を表示します。

[Shading]ワークスペース(①)に切り替え、[シェーダーノード]エディター内で左端の[<](②)をクリックするか、[N]キーを押して[サイドバー]を表示

 [Substance 3D]タブに切り替え、[読み込み]をクリックし、「sbsar」ファイルを指定します(複数選択可)。

[Substance 3D]タブ(①)に切り替え、[読み込み](②)をクリックし、「sbsar」ファイルを指定

 読み込んだ「sbsar」ファイルは「マテリアルデータブロック」の形に変換されます。オブジェクトの「マテリアルスロット」で、「Substance 3D Painter」に渡す前のマテリアルと交換してください。

 [シェーダーエディター]のヘッダーの「スロット~」をクリックして「マテリアルスロット」を選択(図上側)し、隣の「リンクボタン」をクリックしてマテリアルを交換(図下側)

「Substance 3D Painter」アドオンの追加するマテリアル

 「Substance 3D Painter」アドオンによって新たに追加されたマテリアルには、マッピング座標用のノードと、「グループノード」、そしてプリンシプルBSDFノードとマテリアルノード、ディスプレイスメントノードがあります。

「Substance 3D Painter」アドオンにより追加されたマテリアルのノードツリー

 グループノード内には複数のテクスチャノードがまとめられており、単純に出力ソケットに繋がっているだけという、基本的なノードツリーになっています。

 特別なのはオプションの[設定]-[サーフェス]-[ディスプレイスメント]が「ディスプレイスメントとバンプ」に変更されることくらいでしょうか(デフォルトは「バンプのみ」)。

グループノード内にまとめられたテクスチャノード群

テクスチャファイルの場所

 テクスチャファイルの場所は、インポートした「.blend」ファイルを保存すると、デフォルトでは「substabce tx」というフォルダー以下にマテリアル名のフォルダーが作成され、それぞれのテクスチャデータが保存されます。これはプリファレンスにて変更可能です。

プリファレンス内のデフォルト保存設定

「Blender」から再び「Substance 3D Painter」にエクスポートしたい場合

 「Blender」側にインポートして色々調整したけど、「Substance 3D Painter」に戻して作業したい場合もあると思います。

モデルやUVを変更した場合

 もし「Blender」側でモデルやUVを変更しただけであれば、「Blender」から同じファイル名でエクスポートすれば、あとは「Substance 3D Painter」の[編集]メニューで[モデルを再読み込み]すればOKです。

マテリアルやテクスチャを変更した場合

 「Blender」側でマテリアルやテクスチャに色々手を加えてしまった場合は、残念ながらテクスチャ以外の反映はほぼ不可能になります。これは「Blender」のノードによるマテリアル設定と「Substance 3D Painter」のレイヤーによるマテリアル設定が根本的に違うためです。

 特に「Blender」内で「プロシージャルテクスチャ」を使用していた場合、一度Blender側でテクスチャに「ベイク」し、新たにテクスチャデータとして出力・保存しないといけません。

 ただ、そんな手間を行うぐらいなら、最初から「Blender」側でのマテリアルの変更は最小限に抑える方針で作業をした方がいいと思われます。それでもテクスチャだけでも「Substance 3D Painter」に持ってきたい場合は、次のようにします。

 モデルを「FBX」でエクスポートした後に、テクスチャを「Substance 3D Painter」の「アセットパネル」にドラッグアンドドロップするか、[ファイル]-[リソースを読み込み...]を利用します。

 そして表示された「リソースを読み込む」ウィンドウ内で、[種類]を「Texture」に、[リソースの読み込み先]を「現在のセッション」などに指定し、[読み込み]をクリックして読み込みます。

「リソースを読み込む」ウィンドウ内で[種類](①)と[リソースの読み込み先](②)を「現在のセッション」などに指定し[読み込み]を実行

 さらに、その後アセットパネルからモデルに各テクスチャをドラッグ&ドロップし、テクスチャのタイプや、位置、大きさなどを設定してやる必要があります。これらは「Blender」同様の「変換」「回転」「拡大・縮小」ツールが3D領域の上部に表示されていますので、それを利用します。

アセットパネルからテクスチャをドラッグ&ドロップし、3D領域上のトランスフォームツールで調整

まとめ

利点

  • 2D画面の回転、スマートマテリアルなどの「Blender」にはない、または実現に手間のかかる機能がある
  • 自分でノードを設定しなくても2Dペイントツールのように使え、学習コストが低い
  • 豊富なブラシやマテリアル、ステンシルなどのアセットがバンドルされており、クラウドから利用も可能
  • 3Dペイントが「Blender」より軽い
  • ゲームエンジン向けに最適化する機能が豊富

欠点

  • 有償
  • 「Blender」とのインポート・エクスポートの手間がある
  • メモリ消費量が比較的大きい

 基本的にペイント周りで思いつく機能は大抵実装されていますし、デフォルトでアセットが大量にあるのは心強いです。導入しない理由はほぼありません。

 あるとすれば、筆者のように作業が「Blender」内でほぼ完結する人間の場合、インポートやエクスポートの手間が面倒で使わなくなる可能性はあります。

 よって、特にゲーム開発に「Blender」を使用している方や、分業が行われている企業ではマストといってもいいくらいですが、個人で「Blender」による静止画や動画制作を中心に行っており、統合環境として触っている間に色々調整するスタイルの方にはストレスの方が大きいかもしれません。

終わりに

 他にも記事で紹介しきれなかったツールがたくさんあります。まずは体験版を試用してみることをお勧めします。

 ちなみに、サブスクリプションによる利用以外にも、Steamでも買い切りツールとして販売されています※が、今は来年度版が出るのを待った方がいいかもしれません。
(※注:対象年度のアップデートのみ利用可能、Substance 3D アセットプラットフォームにアクセス不可という制限あり)