rn.log

備忘録など

【Substance Designer】Step関数を使ってみる

はじめに

Steamセールでテクスチャ作成ツールSubstance Desiner 6が安くなっていたので購入してみました。

今回の記事では以下のようなGLSLコードをSubstanceDesiner上で再現してみます。

float output = step(a, b);


Substance DesignerでStep関数(階段関数)を使おうというのが今回の記事の趣旨です

階段関数 - Wikipedia


Substance Designerについて

Substance Designerの基本的な使い方については以下を読むとわかると思います。

基本のワークフロー - Substance Designer wiki


本記事のSubstance Designerのバージョンは6.0.4です

Step0. ノードの準備

まずは入力用のテクスチャと出力用のノードを用意します。

f:id:r-ngtm:20170628125623p:plain:w300

今回は入力としてBnW Spots 1

出力としてBase Colorノードを使用します。

STEP1. Pixel Processorノードを追加

Pixel Processorノードを追加します。

f:id:r-ngtm:20170628125855p:plain:w300

STEP2. Pixel Processorノードの編集

Pixel Processorノードの固有のパラメータ欄にある編集ボタンをクリックして編集画面を開きます。

f:id:r-ngtm:20170628130305p:plain


f:id:r-ngtm:20170628130503p:plain:w300

最初からあるConstant/Floatノードはいらないので削除しておきます。

サンプラーノードの追加

まずは右クリックメニューからサンプラーを追加します。

f:id:r-ngtm:20170628130644p:plain:w300

f:id:r-ngtm:20170628130842p:plain:w300

Float2変数ノードの追加

次にFloat2変数ノードを追加します。

f:id:r-ngtm:20170628130959p:plain:w300

変数ノードへ $pos と入力します。

f:id:r-ngtm:20170628131300p:plain:w300

変数ノードとサンプラーはつなげておきます。

f:id:r-ngtm:20170628133753p:plain:w300

Stepノードの追加

ライブラリーからStepノードを追加します。

f:id:r-ngtm:20170628131631p:plain:w300

サンプラーノードの出力をSTEPノードの入力へつなげておきます。

f:id:r-ngtm:20170628131819p:plain:w300

こうすることでサンプラーの出力をstepの第1引数として渡すことができます。

Float定数ノードの追加

右クリックメニューからFloat定数ノードを追加します。

f:id:r-ngtm:20170628131920p:plain:w300

Float定数ノードとStepノードを接続します。

f:id:r-ngtm:20170628132029p:plain:w300

こうすることで定数値をstepの第2引数として渡すことができます。

Stepノードを出力ノードとして設定する

Stepノードを右クリックして、「出力ノードとして設定」を選択します。

f:id:r-ngtm:20170628132144p:plain:w300

Stepノードがオレンジ色になり、Stepノードの出力がPixel Processorノードの最終的な出力になります。

f:id:r-ngtm:20170628132249p:plain:w300

STEP3. 動作の確認

Float定数ノードの値を変化させると、出力も変化することが確認できます。

f:id:r-ngtm:20170628132820g:plain