unity怎么添加高光阴影

 时间:2024-10-25 07:16:08

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" }CGPROGRAM#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怎么添加高光阴影
  • Unity如何添加风区组件
  • Unity3d —3D text穿透问题解决
  • Unity如何使用粒子系统力场
  • unity粒子爆发的间隔怎么设置
  • Unity对象透明度怎么设置
  • 热门搜索
    十一手抄报 国庆手抄报图片 抗病毒手抄报 防止溺水手抄报 新学期新计划手抄报 祖国在我心中的手抄报 抗击病毒手抄报内容 红领巾相约中国梦手抄报 疫情手抄报内容怎么写 安全卫生手抄报