Hello!大家好,我是纸扎戏偶,在我们工作中难免会遇到各种各样的软件问题,今天我们来分享一下“Unity怎么添加高光阴影?”这篇文章,相信有很多小伙伴都会了,但是还是有不会的新手小伙伴,下面小编就来分享一下吧!
工具/软件
设备型号:Redmi G游戏本 2021 锐龙版
操作系统:Windows7
使用软件:Unity
步骤/教程第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" {} }
第2步
CGINCLUDE#include "UnityCG.cginc"struct appdata {float4 vertex : POSITION;float3 normal : NORMAL;};struct v2f {float4 pos : POSITION;float4 color : COLOR;};
第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);
第4步
第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 }}}
第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"
还没有评论,来说两句吧...