Unity怎么添加高光阴影?

  

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"

  

发表评论

表情:
验证码
评论列表 (暂无评论,65人围观)

还没有评论,来说两句吧...