unity怎么添加高光阴影

2025-04-27 02:09:57

1、Shader "Toon/Basic Outline" {Properties {_Color ("Main Color", Color) = (.5,.5,.5,1)_OutlineColor ("Outline Color", Color) = (0,1,0,1)_Outline ("Outline width", Range (0.005, 0.01)) = .001_MainTex ("Texture", 2D) = "white" {}_BumpMap ("Bumpmap", 2D) = "bump" {} }

unity怎么添加高光阴影

2、 CGINCLUDE#include "UnityCG.cginc"struct appdata {float4 vertex : POSITION;float3 normal : NORMAL;};struct v2f {float4 pos : POSITION;float4 color : COLOR;};

unity怎么添加高光阴影

3、uniform float _Outline;uniform float4 _OutlineColor;v2f vert(appdata v) {v2f o;o.pos = mul(UNITY_MATRIX_MVP, v.vertex);float3 norm= mul ((float3x3)UNITY_MATRIX_IT_MV, v.normal);float2 offset = TransformViewToProjection(norm.xy);

unity怎么添加高光阴影

4、 o.pos.xy += offset * o.pos.z * _蚪嬷吃败Outline;o.color = _OutlineColor;return o;}ENDCGSubShader {Tags { "RenderType"="Opaque" }UsePass "Toon/Basic/BASE"Pass {Name "OUTLINE"Tags { "LightMode" = "Always" }Cull FrontZWrite OnColorMask RGBBlend SrcAlpha OneMinusSrcAlphaCGPROGRAM#pragma vertex vert#pragma fragment fraghalf4 frag(v2f i) :COLOR { return i.color; }ENDCG} }

unity怎么添加高光阴影

5、 SubShader {Tags { "RenderType"="Opaque" }UsePass "Toon/Basic/BASE"Pass {Name "OUTLINE"Tags { "LightMode" = "Always" }Cull FrontZWrite OnColorMask RGBBlend SrcAlpha OneMinusSrcAlphaCGPROGRAM#pragma vertex vert#pragma exclude_renderers shaderonlyENDCGSetTexture [_MainTex] { combine primary }}}

unity怎么添加高光阴影

6、SubShader {Tags { "RenderType" = "Opaque" }CGPROGR帆歌达缒AM#pragma surface surf Lambertstruct Input {float2 uv_MainTex;float2 uv_BumpMap;};sampler2D _MainTex;sampler2D _BumpMap;void surf (Input IN, inout SurfaceOutput o) {o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;o.Normal = UnpackNormal (tex2D (_BumpMap, IN.uv_BumpMap));}ENDCG}Fallback "Diffuse"

unity怎么添加高光阴影
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢