SubstanceDesigner – マテリアルのトランスフォーム

ノーマルの回転だけでは使いにくい、一層のことマテリアルごと回転させたい。
そんな事を考えました。
早速作っていると、ノーマルの回転をチュートリアルムービーで公開しているのを発見。
なので、今回はそっちの方法を参考に作り直しました。
違うのは、スケールとオフセットもできることです。

 

PBRになって、複数のマップの集合をマテリアルと表現するようになった。
そもそも、それ以前の形式でも同じではあるが、PBRでは3Dツールでパラメータをいじるよりも、
マップにすべての情報を入れてしまう。というのがコンセプトでもあるから、からーやラフネスやメタリック、ノーマル
といったマップの集合などをマテリアルと表現するようだ。
なので、複数のマップを同時に回転させるので、マテリアルトランスフォーム。

 

試してみた。
2015_04_14_034
分かりやすいようなマテリアル、GameTexturesの中に入っているものでテスト。
2015_04_14_035
180度回転させて、ノーマルもきちんと回転されているのを確認。

 

ここまで作って、ふと思ったのは、タイリングテクスチャであれば、「Safe_Transform」のように、タイリングを保った
トランスフォームができるとさらに便利だなぁ。
ノードのエクスプレッションをPixselProcessorに組み込めば可能になる。
ちょっと面倒なので、今回はとりあえずそのままで。

 

ファイルはこちらです。

 

MODO901が発表された、、早いなぁ。
実はしばらくMODOを使えていない、、この先しばらく使えなさそう、、すごいストレス、、
なので、今回は見送りかなぁ。
MeshFusionが組み込まれるって、、買った人は割り引いてくれればいいのになぁ。

Subdtance Designer – タンジェントノーマルマップの回転

随分と更新が滞りました、、

 

最近は専らSubstanceDesignerを研究しております。
5になってからDistanceノードが加わり表現の幅が大きく広がりました。
さらにはPixelProcesserノードが加わり、今までには不可能な事ができるようになり、
フォトショップで同じことをしようとすると、スクリプトではなくプラグインでなければ現実的ではないようなことも
比較的簡単にできるようになったかと思います。

 

ただ、テキストで書いてしまえば本の数行で書ける事を、ノードで組むのはちょっと厄介です、、
スクリプトであれば、途中で入っている値を確認することは簡単ですが、ノードではそのためにノードを組み合わせる必要がある。
慣れの問題かもしれませんが、もう少し簡単になってくれると開発も楽です。

 

そんなこんなで、早速PixelProcesserを使ってsbsを作ってみました。
ネットで見つけた、ノーマルマップの回転。
どのようなものであるかの動画しかなく、肝心の中身や説明については一切記述がなく、手探りで作ってみました。
なので、間違えているかもしれないので、間違えていたらごめんなさい。

 

まず、タンジェントスペースのノーマルマップを普通に回転した様子を見てゆきます。
2015_04_06_029
こちらが今回使用するもので、プリセットに入っているマテリアルを使用します。
使用するノーマルフォーマットはDirectXです。OpenGLとの違いはGチャンネルの値が反対な事です。

 

で、SafeTransformノードで180度回転させると、
2015_04_06_030
こんな感じです。
ノーマルが反転してしまい、凹んでいたところが出てきてしまいます。
それを今回作ったノードを使って回転させると、
2015_04_06_031
一応正しくできているように見えます。

こんなノード、必要なのだろうか?と疑問に思うところではあるのですが、とても勉強になりました。
ファイルはこちらです。

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

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

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