Substance Designer 4

さて続き。
2013_12_27Image_01
SBSを読み込むと、ノーマルマップの画像を受け付けるノードがあるにも関わらず、リンクが切れている。
見ると、「Ghost」と書かれているので、恐らく意図的なものなのだろう。壊れているのかと思いました。

 

ではそれを機能させるとどうなのだろうか。ということで、ライブラリにある同じノードを引っ張ってきてつなげてみます。
2013_12_27Image_02
「Library」にある、「Filters」の「Normal Combine」をグラフにドラッグアンドドロップします。

 

2013_12_27Image_03
で、ノード接続。
ノードを接続するときはノードの左右に付いた丸いプラグ部分を左ドラッグで、他のノードのついになるプラグに差し込みます。
この時、グラフの表示している範囲が狭く、目的のノードに指すには画面をドラッグする必要が出てくる場合があります。
そんな時は、マウスの左ボタンを押しながら、中ボタンでドラッグ。などということもできるようです。
慣れない操作でちょっと変な感じがしますが、地味に便利。

 

2013_12_27Image_04
実際につなげてみました。随分と見栄えが変わる。
このグラフで面白かったのが、「Normal Conbine」の先にある「NormalMap Format」ノード。
このノードは他のSBSで作られた、入れ子式になっているノードです。
ライブラリにある、ノードも実はそういったものであることが分かります。

 

2013_12_27Image_05
そのノードを選択し、右クリックから「Open Reference」を選んで、パッケージを開いてみます。
ダイアログが出てくるので、「OK」を押して、開きます。

 

2013_12_27Image_07
ノードの構成は単純なものです。インプットを受け付け、レベル補正したものとブレンド。
このパッケージが意図していることはDirectXとopenGLのノーマルコンバートで、
それらはグリーンチャンネルの反転で対応できます。なので、レベル補正で、グリーンチャンネルのみを反転させているだけです。

 

実はこれを知る前は「RGBA Split」と「RGBA Merge」を使って反転させていました。
同じことですが、レベル補正のほうが構造が単純で良い。
2013_12_27Image_09
では、どのようにスイッチしているかと思えば、その次の「Blend」ノード。
プロパティを表示してみると、「Opacity」に関数が入っているのが分かります。「Edit」を押して、
それを表示させてみます。
2013_12_27Image_10
なるほどねぇ。もはやプログラム。

Substance Designer 3

さて、ようやくSubstanceDesigner。
前にMODOで見た、Substance_Tutorial/SubstanceDemoScene/Substance/SBS/Concrete.sbs
の内容をSubstanceDesignerで開いてみます。
ファイルメニュー、File>Open…
でも良いのですが、画面左上の方にある「Explorer」にSBSファイルをドラッグアンドドロップして
ファイルを読み込みます。

 

2013_12_26Image_01
こんな感じです。で、そのSBSのツリーを開いてみます。
2013_12_26Image_02
SBSには大きく分けて2つの要素が存在し、グラフとリソース、になるようです。
グラフにはノードの情報が入っており、リソースには使用されているメッシュや画像、ファンクション(関数)
などが入っているようです。

 

2013_12_26Image_03
グラフの内容を表示するには、表示したいグラフをダブルクリックするか、グラフを右クリックし、
「Open」を実行します。

 

2013_12_26Image_04
「3D View」にモデルを表示するには表示したいモデルをダブルクリックするか、右クリックし、
「Open」を実行します。

 

2013_12_26Image_05
表示しているモデルに現在のグラフで生成されるテクスチャを表示するには、グラフ上の何もないところで、
右クリックし、「View Outputs in 3D View」を実行するか、「Explorer」上でグラフを右クリックし、
同じように、「View Outputs in 3D View」を実行します。
因みにグラフ全体のプロパティを表示するにはグラフ上の何もないところでグラフをダブルクリックするか、
「Explorer」上でグラフをダブルクリックすると、右が側に表示されます。

 

2013_12_26Image_06
「View Outputs in 3D View」を実行すると、適用するマテリアルを聞いてくるので、
モデルに適用されているマテリアル(「internalShadingGroup2」)を選択します。
 

2013_12_26Image_09
次に、適用されているシェーダを変更します。
「3D View」の「Material」メニュー、「internalShadingGroup2」(使用されているマテリアル)>「Shader」>
「physically_based」を選択し、物理ベースのシェーダに変更します。

 

2013_12_26Image_12
グラフの抜けている部分、外部から入力を受け付けている、ディスプレイスメントマップとノーマルマップに
リソースに入っているそれらを入れてみます。

 

2013_12_26Image_13
「3D View」の操作は、左ドラッグでオービット、中ドラッグでパン、右ドラッグでズームです。
ライトの操作は「Shift」+左ドラッグで行えます。

 

2013_12_26Image_14
元の解像度が256に設定されているので、グラフの何もないところをダブルクリックし、プロパティを表示します。
プロパティの一番上にある「Output Size」の値を変更します。元のサイズに対して2のべき乗の何段階目になるか、
という設定のようです。
1024で出よくされるよう設定してみました。
今回はこのへんまでにしておきます。

Maya Script Pymel – ピボットの修正

Substance、知れば知るほど凄い。
ハイモデルとローモデルを読み込んで、ワールドスペースでノーマルを焼いて、それをタンジェントに変更したりもできる。
更にはそれらを元に、Curvatureマップを作成できる。ZBrushのCavityに似ている。

 

SubstanceDesigner上で新規にビットマップを作成してペイントすることもできるし、
フォトショップのベタ塗りレイヤーのようなノードを追加することもできる。
で、カラーからノーマルやスペキュラを始め色々なマップを作ることができる。
なので、下手をするとフォトショップや様々なテクスチャ編集用のツールが必要なくなる。
これひとつあれば、一応ひと通りの作業はこなせる。

 

ただ、ノードベースなので、レイヤーのような手軽さに欠ける。
ノードを追加し過ぎるとグチャグチャして良く分からなくなる。ある程度でグラフを分ける必要があるだろうなぁ。
なんだかモジュールやクラスや関数といった形で構成されるプログラムのようだ。

 

で、今回はSubstanceの事ではなくて、Mayaのスクリプト。
しかも殆ど需要がないもの。
MODOでモデリングをすると、メッシュの中心点なんかは気にしない。
アクションセンターが強力なので、メッシュをアイテムとして動かすことは殆ど無い。
そんなメッシュをMayaに持って行った後、中心点がメッシュの真ん中に欲しい時がある。
そんな時に使うスクリプトです。

import pymel.core as pm

sel = [x for x in pm.ls(sl=1,type=pm.nt.Transform) if x.getShape() and type(x.getShape())==pm.nt.Mesh]
for s in sel:
	bbc = s.getBoundingBox().center()
	s.rotatePivot.set(bbc)
	s.scalePivot.set(bbc)

始めの行、
sel = ~
で、選択しているノードのリストアップ。
タイプはトランスフォームで、シェイプノードを持っており、尚且つそのシェイプノードがメッシュであるもの。
という念の入用のリスト作成。
その後、バウンディングボックス取得。pymelでバウンディングボックスを取得すると、
BoundingBoxというデータタイプで取得できる。
それの「center()」というメソッドを使うと、バウンディングボックスのセンターを取得できる。
それをローテイトとスケールのピボットにセット。それだけ。

 

エラーが帰ってくる場合は、アトリビュートがロックされているかもしれないので、
s.rotatePivot.unlock()
s.scalePivot.unlock()
などを追加すれば大丈夫。ピボットのロックってするのかな?
まぁ、いいや。

 

pymel便利です。

SubStance Designer 2

まずはMODOのチュートリアルをやってみました。
チュートリアルに入っている、SubstanceTutorial_Start.lxoというシーンを開きます。
2013_12_12Image_01
次に、ファイルメニュー、テクスチャ>Substance>Open A Substance…
でSBSARを読み込みます。
2013_12_12Image_02
因みに、MODOのプラグインをインストールしないと、上記のメニューは無いかと思います。
読み込んだSBSARは、
Substance_Tutorial/SubstanceDemoScene/Substance/SBSAR/Custom/Concrete.sbsar
です。
2013_12_12Image_03
Substanceを読み込むと、マテリアルに追加されます。
それを「Library」に入れてインスタンスとして使うようです。
「Library」に入れると、元の場所にインスタンスが作成されます。
2013_12_12Image_05
しかし、これは消さないと正しく動作しないようです。なので、削除します。
新たに「Library」からSubstanceのマテリアルをドラッグして、目的のマテリアルにドロップします。
2013_12_12Image_06
ここでは「Concrete_Main」に入れました。
画面右のタブを「シェーダ」から「アイテム」に変更します。
アイテムとしても、Substanceの「Coucrete」が追加されています。
2013_12_12Image_07
それをクリックすると、Substanceのプロパティを見ることができます。

 

「Input_1」と「Input」というイメージインプットのメニューが有ります。
2013_12_12Image_09
「Input_1」というのはディスプレイスメントマップなので、予め読み込まれている「Wall_Main_Disp」を選択します。
「Input」はノーマルマップなので、「Wall_Main_NRM」を選択します。
因みに、なぜそれらがディスプレイスとノーマルを指しているかを知るには、SubstanceDesignerで確認できます。

 

その下には画像のサイズと各種適用するマップが選択でき、SubstanceDesignerで作られたパラメータが表示されています。
しかし問題は、ディスプレイスメントマップを使うようにしても適用されなかったり、掛かり過ぎたりしてしまう。
チュートリアルでは、マテリアルの「ディスプレースメント距離」で調整するように解説されているようだが、
うまく動作しない時がある。環境のせいかもしれないので、何とも言えません。

 

ともかく、後から解像度を変更できたり、パラメータで編集できたりするのは面白い。

SubStance Designer 1

少し前にセールをやっていたので、SubStanceDsignerを買いました。

 

前に体験版を少しいじって、全く分からない事だらけで結局対していじりもせずに
体験期間が終了しました。
で、今回半額セールをやっていたので、買ってしまいました。

 

情報も少なく、どういったものかも分からないので、ちょっと苦労しましたが、
何となく分かってきました。
分かると面白い。

 

SubStanceには二種類のファイルフォーマットがあるようで、「SBS」と「SBSAR」がそれのようです。
SBSはxmlフォーマットで書かれているので、テキストエディタで読むことができます。
それに対してSBSARはバイナリです。

 

MODOやMayaなどの3dcgツールでは、バイナリのSBSARファイルを読み込んで使用するようです。
因みにMODO版はMODOのダウンロードページから「Substance for MODO」という名前のプラグインを
インストールすると、SBSARが読み込めるようになります。

 

で、SubStance Designerとは、ノード編集によってプロシージャルテクスチャ生成し、
SBSとSBSARを作成するためのツールのようです。
それ以外にも、画像ファイルの出力、読み込んだ3Dデータのノーマルマップやオクルージョンマップを始め、
各種マップを出力することができます。

 

SubstanceDesigerで作成したSBSARをCGツールに読み込み、予め設定した項目を編集して、
CGツール上で、Substanceに画像を割り当て、パラメータを調整することができます。
SubstanceDesigerのライブラリにはBitmap to Materialの簡易版が入っているので、
読み込んだ画像ファイルからノーマルマップも生成することができます。

 

ただ、チュートリアルなどで入っていたSBSやSBSARを読み込むと一部ノードの接続が正しくなっていない部分も見受けられます。
全体として大雑把な印象を受けてしまう、、
長くなったので、使い方の説明はまたにします。

アニメーションが親切に解説されております

レンダリング、ライティングの基本が分かります

図版が見やすい美術解剖書です