LoginSignup
8
9

More than 5 years have passed since last update.

[#Maya] SubstanceDesignerとMaya2018の連携

Posted at

はじめに

SubstanceDesignerで作成したマテリアルを、Maya(Arnold)へ移植する方法について適当に解説します。
プラグインの不具合のせいで2日ほどハマってしまいましたので、お役に立てればと思います。

  • Maya 2018
  • Substance Designer 2018.1.2 build 1265
  • Arnold Core 5.0.1.0

SubstanceDesignerでの設定

はじめに、新規SubstanceGraphを作成します。
今回は、Graph TemplateをPhysically Based (Metallic/Roughness)にしておきます。

適当なテクスチャを作り、BaseColor、Normal、Roughnessに接続します。
今回の例では、MetallicとHeightは使用しません。
2018-06-16_011250.png

マテリアルエクスプローラ上の.sbs上で右クリック、Publish .sbsar fileを行います。
2018-06-16_012457.png

これで、Substance側の設定はおしまいです。
今回作成した.sbsarファイルはこちらにアップしておきました。

Mayaでの読み込み

※注意

Maya2018をインストールした際に同梱されているSubstancePluginでは、.sbsar読み込みに失敗します。
以下のサイトから最新版のビルドをダウンロードし、Mayaのインストールパスへインストールしておいてください。
https://www.allegorithmic.com/substance-maya
一応、プラグインマネージャでSubstancePluginがロードされているか確認しておいたほうが良いでしょう。

2018-06-16_012924.png

.sbsar読み込み

SubstancePluginを経由することで、Maya上に.sbsarファイルをロードすることができます。
.sbsarファイルは、Maya上で画像としてロードされるため、
Substance側のテクスチャ生成過程にどのようなノードを使用していても読み込むことができます。

はじめに、プラグインの設定を確認しておきます。
エディタモードをRenderingに変更し、Substanceメニュー > Preferencesを開きます。

2018-06-16_015423.png

ここで、

  • Workflow : Custom
  • Automatic connections : true
  • Bake format : png (お好みで)
  • Output cache : Use Maya project folder

に設定しておきます。

次に、HyperShadeにて、Texture2D > Substanceノードを作成し、
2018-06-16_020345.png

アトリビュートエディタで、テクスチャサイズを指定しておきます。
2018-06-16_021513.png

次に、.sbsarファイルパスを設定し、読み込みます。

ロード後のアトリビュートには、Substanceのアウトプットノードが表示されることになりますので、
SubstanceDesignerで作成したMetallic/Roughnessマテリアルのデフォルト状態では

  • BaseColor
  • Normal
  • Roughness
  • Metallic
  • Height

のプロパティがプラグイン経由でロードされることになります。
Emissiveなどを追加したい場合は、別途Outputノードを作成することで、Mayaから認識することができるようです。

2018-06-16_020945.png

アウトプットのリストから、アクティブにしたい出力を、有効化します。
名称の左にある再生ボタンを押下することで、有効/無効を切り替えます。
今回はbaseColor、normal、roughnessを有効にします。

2018-06-16_021752.png

Automatic connectionをtrueに設定していたことにより、自動的にネットワークが構成されます。

これら生成されたノードを、aiStandardSurfaceの適切なパラメータと接続します。

  • baseColor -> Base color
  • roughness -> Specular roughness
  • normal -> bump2d(TangentSpaceNormals) -> NormalCamera

2018-06-16_023346.png

このマテリアルをオブジェクトにアタッチし、レンダリングすると以下のような結果になります。

render.png

ちなみに、SubstanceDesigner内にあるモデルとHDR画像は、

  • [path-to-substance-designer]\resources\view3d\shapes
  • [path-to-substance-designer]\resources\view3d\maps

内にあります。

画像からの読み込み

Substance側でテクスチャごとに書き出した場合、少しばかり設定が必要になります。
最新版のMayaプラグインで.sbsarを読み込んだ際はプログラム側が勝手に処理してくれているっぽいので気にしなくてOKです。

以下のドキュメントに設定方法が記載されています。
https://support.allegorithmic.com/documentation/display/integrations/Arnold+5+for+Maya

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9