Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【Unity道場14】Shader Forge 102

unitydojo
October 30, 2016
3.1k

【Unity道場14】Shader Forge 102

unitydojo

October 30, 2016
Tweet

Transcript

  1. 内積(Dot Product)とは? A → B → θ A → |

    | B → | | cosθ A → B → ・ = このオレンジ部の長さは、 A → | | cosθ 特に、  が長さ1の時、オレンジ部の長さはcosθとなる。 A → 内積とは、2つのベクトルがなす角度の状態を示すスカラー値のこと。 特に2つのベクトルがノーマライズされている場合には、内積が即、 2つのベクトルの内角のcosθの値となっている。
  2. Shading Map用のテクスチャを割り当てる One Minusノードでマスクを反転します。 テクスチャ座標系では、左が0で、右が1です が、ライティングモデルの値そのままだと、 明るい方が1で、暗いほうが0となってますの で、マスク反転することでテクスチャ座標系 と合わせます Component MaskノードでRRの数値を取り 出し、UV座標とします。

    マスクからは、スカラーで各頂点の明るさの レベルが来ていますので、それをベクトルの 各要素に見立て、RRとして取り出すことで、 UV座標とします。 取り出したUV座標を元に、各頂点のカラー をシェーディングマップより割り出します。
  3. ユニティちゃんトゥーンシェーダーとは? ​ 「ユニティちゃんトゥーンシェーダー」は、セル風3DCG アニメーションの制作現場での要望に応えるような形で 設計された、映像志向のトゥーンシェーダーです。 ​ 特に影の制御に重点が置かれた設計になっています。 •  アウトラインの入り抜き調整は、テクスチャで指定可能 •  必ず影にしたい場所をテクスチャで指定可能 • 

    ノーマル色と影色の混合部のぼけ足を調整可能 •  ライトの位置を変えずに影色の支配域を変更可能 •  モバイル環境/WebGLでも動作します •  Shader Forgeで確認できる、ノードベースで実装されています ⇒目的に合わせて、カスタマイズができます! http://unity-chan.com/download/index.php
  4. 光の当たり具合を求めるノードパターン Normal Directionノード ワールド空間でのメッシュの法線方向 を出力する。チェックをつけるとノーマ ルマップを考慮する。 Light Directionノード レンダリング対象となるカレントライト の方向を出力する。

    Dot Productノード AとBの2つのベクトルの内積をとる。 「内積」は、2つのベクトルが構成する 角度の開き具合を表している。 上図のように、ライトベクトルと法線ベクトルの内積を取ることで、 光の当たり具合を、 0(光が全く当たっていない)~1(光が真正面から当たっている) の範囲で表現することができる!
  5. 参考文献 l  SHADER FORGE Nodes http://acegikmo.com/shaderforge/nodes/ l  SA09 Realtime education

    - Try Real-time Shader for artist – Kazuhiro Fumoto, http:// www.slideshare.net/SIGTART/sa09-realtime-education l  Kansai cedec 2015_fumoto ノードベースリアルタイムシェーダ表現学習, Kazuhiro Fumoto, http://www.slideshare.net/SIGTART/kansai-cedec-2015fumoto l  『ゲームを動かす数学・物理』 堂前 嘉樹 / SBクリエイティブ / 2015 l  『DirectX シェーダプログラミング 仕組みからわかるゲームエフェクトテクニック』 N2Factory / SBクリエイティブ / 2007 l  「アーティストのアーティストによるアーティストのためのリアルタイムシェーダー入門  ~トゥーンシェーダーを書こう!~」 本村・C・純也 / GTMF2016 Tokyo Session C-7