Mais conteúdo relacionado
Semelhante a Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_ (20)
Mais de Unity Technologies Japan K.K. (20)
Unity道場京都スペシャル トゥーンシェーディングとノンフォトリアリスティック風絵づくり入門_
- 13. ノードベースでシェーダーを設計する利点は、シェーダーの機能をブロック毎に
トライアンドエラーを繰り返しながら、設計できることにある。
またノードでロジックを組むことで、ある表現に必要なノードによるロジックパターン
(ノードパターン)が確認しやすくなる。
CGPROGRAM
#pragma
vertex
vert
#pragma
fragment
frag
#include
"UnityCG.cginc"
struct
VertexInput
{
float4
vertex
:
POSITION;
float3
normal
:
NORMAL;
};
struct
VertexOutput
{
float4
pos
:
SV_POSITION;
float4
posWorld
:
TEXCOORD0;
float3
normalDir
:
TEXCOORD1;
};
VertexOutput
vert
(VertexInput
v)
{
VertexOutput
o
=
(VertexOutput)0;
o.normalDir
=
UnityObjectToWorldNormal(v.normal);
o.posWorld
=
mul(_Object2World,
v.vertex);
o.pos
=
mul(UNITY_MATRIX_MVP,
v.vertex
);
TRANSFER_VERTEX_TO_FRAGMENT(o)
return
o;
}
float4
frag(VertexOutput
i)
:
COLOR
{
i.normalDir
=
normalize(i.normalDir);
float3
normalDirection
=
i.normalDir;
float3
lightDirection
=
normalize(_WorldSpaceLightPos0.xyz);
float
node_64
=
max(0,dot(i.normalDir,lightDirection));
float3
emissive
=
float3(node_64,node_64,node_64);
float3
finalColor
=
emissive;
return
fixed4(finalColor,1);
}
ENDCG
同じもの
- 50. 参考文献&サイト
l SHADER FORGE Nodes http://acegikmo.com/shaderforge/nodes/
l Shader Forge Wiki http://acegikmo.com/shaderforge/wiki/
l 『ゲームを動かす数学・物理』 堂前 嘉樹 / SBクリエイティブ / 2015
l World-Building: Shaders and Aesthetics http://polyknightgames.com/world-building-
shaders-and-aesthetics/
l Unity Asset Store https://www.assetstore.unity3d.com
l Unity道場11 Shader Forge 101 ~ShaderForgeを使って学ぶシェーダー入門~
基本操作とよく使われるノード編
http://www.slideshare.net/nyaakobayashi/unity11-shader-forge-101-shaderforge
l Unity道場14 Shader Forge 102 ~ShaderForgeを使って学ぶシェーダー入門~
カスタムライティング/トゥーンシェーダー編
http://www.slideshare.net/nyaakobayashi/unity-14-shader-forge-102-shaderforge