CG関係最新記事
2017年02月02日
SubstanceDesignerでのHeight/Displacementの調整方法
SubstanceDesignerどのheightMapについていろいろ質問が来たので今日はHeight/Displacementの調整方法について解説します。映像業界の方だとHeightマップという言葉をあまり使わないのでややこしいですがHeight=Displacementと考えてもらっていいと思います。SD上で実際モデルが変異して凹凸が表示されます。
まずheightに使いたいMapを用意します。
polygonノードを作って
sidesを6、scaleを0.9、curveを-1、gradientを0.96にします。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-f63da-thumbnail2.JPG)
この画像に対してnormalノードでnormal情報を作りintensityを5にしてoutputに繋げるとこんな結果になります。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-71a58-thumbnail2.JPG)
normalで形のシルエットはしっかりでますが所詮は平面ですね。
ここからHeightを使ってこの平面を立体的にしていきます。まずはheightMapのoutput先を作ってやる必要があるのでoutputノードを作成して(他のoutputノードをコピーしても構いません。)Usageの+ボタンからチャンネルを作成してtemplateからheightを選びます。あとはIdentifierにUsageのチャンネル名をコピペしてLabel(GUI上の表示名)とGroup名(他のoutputノードと合わせてください)を以下のように入力してください。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-5bca2-thumbnail2.JPG)
outputノードができたので最初に作成したpolygonノードをheightに差し込んでやります。ノードグラフはこんな感じです。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-d5bac-thumbnail2.JPG)
3Dviewを見るとなんかちょっくら山ができました。結果が反映しにくいときはexploerからmaterialを3Dviewにドラッグ&ドロップしてください。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-4fb35-thumbnail2.JPG)
こっから更に最適化していきます。3Dviewのメニューから↓のように進んでtesselationという項目を選んでください。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-8acff-thumbnail2.JPG)
これを指定してあげることでMaterialEditのところでTesselationの調整ができるようになります。(最初からいれておいてほしいですね。。これ・・) 3DviewのメニューからMaterial/Default/Editと進んでください。
↓の画面が出てきます。TesselationFactorはメッシュの割で、大きくすればdisplacementをかけた際の滑らかさが上がります。scaleは単純なdisplacementのグローバルな大きさです。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-0cfa4-thumbnail2.JPG)
これできれいな凹凸ができました。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-2cc19-thumbnail2.JPG)
Irayで同じことをする場合にはrendererをIrayに変更した後3DviewのメニューからMaterial/Default/Editから↓のところの値を調整してあげます。これがdisplacementの量になります。
![名称未設定 1.jpg](/3dteacher/file/E5908DE7A7B0E69CAAE8A8ADE5AE9A201-6d183-thumbnail2.jpg)
そして次に、3DviewのメニューからScene/Editを開いて赤枠のsubdivisionをONにして増やしてあげることでOpenGLよりきれいなdisplacementがでます。
![キャプチャ.JPG](/3dteacher/file/E382ADE383A3E38397E38381E383A3-eb335-thumbnail2.JPG)
このあたりは重要なので必ず覚えておいてくださいね。
まずheightに使いたいMapを用意します。
polygonノードを作って
sidesを6、scaleを0.9、curveを-1、gradientを0.96にします。
この画像に対してnormalノードでnormal情報を作りintensityを5にしてoutputに繋げるとこんな結果になります。
normalで形のシルエットはしっかりでますが所詮は平面ですね。
ここからHeightを使ってこの平面を立体的にしていきます。まずはheightMapのoutput先を作ってやる必要があるのでoutputノードを作成して(他のoutputノードをコピーしても構いません。)Usageの+ボタンからチャンネルを作成してtemplateからheightを選びます。あとはIdentifierにUsageのチャンネル名をコピペしてLabel(GUI上の表示名)とGroup名(他のoutputノードと合わせてください)を以下のように入力してください。
outputノードができたので最初に作成したpolygonノードをheightに差し込んでやります。ノードグラフはこんな感じです。
3Dviewを見るとなんかちょっくら山ができました。結果が反映しにくいときはexploerからmaterialを3Dviewにドラッグ&ドロップしてください。
こっから更に最適化していきます。3Dviewのメニューから↓のように進んでtesselationという項目を選んでください。
これを指定してあげることでMaterialEditのところでTesselationの調整ができるようになります。(最初からいれておいてほしいですね。。これ・・) 3DviewのメニューからMaterial/Default/Editと進んでください。
↓の画面が出てきます。TesselationFactorはメッシュの割で、大きくすればdisplacementをかけた際の滑らかさが上がります。scaleは単純なdisplacementのグローバルな大きさです。
これできれいな凹凸ができました。
Irayで同じことをする場合にはrendererをIrayに変更した後3DviewのメニューからMaterial/Default/Editから↓のところの値を調整してあげます。これがdisplacementの量になります。
![名称未設定 1.jpg](/3dteacher/file/E5908DE7A7B0E69CAAE8A8ADE5AE9A201-6d183-thumbnail2.jpg)
そして次に、3DviewのメニューからScene/Editを開いて赤枠のsubdivisionをONにして増やしてあげることでOpenGLよりきれいなdisplacementがでます。
このあたりは重要なので必ず覚えておいてくださいね。
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/5767201
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック