【Unity】「ShaderForgeをつかって学ぶシェーダー入門」に行ってきました - その2

今回は、このエントリーの続きです。 当日はよくわからない部分が多かったのですが、スライドが公開されたので、続きを勉強してみました。

ShaderForgeをつかって学ぶシェーダー入門

よくわからなかったノードがいくつかあったので、これをまとめていきたいと思います。

Divide

Divide : Shader Forge

Divide

[A]を[B]で割る割り算になります。

Append

Shader Forge 数値を合成して、ベクトルを作り出す。

Append

上記の例ですと、まず2つのvalueを組み合わせてVector2を作成しています。 Rが0.1で、Gが1ですね。 更にもう一つAppendをつなげるとRGBのVector3ができます。 ShaderForgeには、このvalueが何か明示されるので、とてもわかりやすいと思います。

Comp.Mask

Shader Forge 先ほどの[ Append]とは逆になるのが[ Comp.Mask]です。 ベクトルから、数値を抜き出します。

Compmask

上記の例だと、Comp.Maskで抜き出された値は[G]でvalue = 1 になります。

Frac

Shader Forge 0と1の繰り返しです。 タイマーなどで利用されます。

Frnc

0と1の繰り返しなのですが、0から1の切り替えではなく、この間は数値の移動があるので注意しましょう。

Floor

これはMathfなどでも使われると思う脳ですが、少数点を切り捨てます。 Shader Forge

Transform

各座標を任意の座標へ置き換えます。 詳しくはこちら。 その5 0から学ぶ法線マップ

難しいですが、法線マップに保持している座標をポリゴンがおかれている空間座標をタンジェントスペースと呼ぶみたいです。 間違っていたらすいません。 今回の勉強会では、任意の空間にある法線マップのデータが必要だったので、こちらのノードを使ったものだと思います。

Transform

上記では、法線マップのタンジェントスペースの情報を取得して、[G]をvalueとして使っています。 [G]は法線マップの凸凹の情報で、このvalueを使って、新しいテクスチャを作成します。 今回はタンジェントスペースの法線マップの[G]の値が大きいほど赤くなります。 大きいということは、法線の向きが上向きになっている場合です。

最後に

とりあえず、頂いた資料の使い方について調べてみました。 特にTransformの概念が難しいです。 また、これをスクリプトで見た時に何をしているかが、全然わからなかったので、この当たりも勉強をしないといけないですね。

ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまでゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで
久富木 隆一

SBクリエイティブ
売り上げランキング : 197543

Amazonで詳しく見る