怎样管理网站学ui+wordpress模板
文章目录
- 前言
 - 一、Unity中的雾效在哪开启
 - 二、Unity中不同种类雾的区别
 - 1、线性雾
 - 2、指数雾1(推荐用这个,兼具效果和性能)
 - 3、指数雾2(效果更真实,性能消耗多)
 
- 三、在我们自己的Shader中实现判断,是否开启雾效
 - 1、我们先定义一个关于雾效的宏
 - 2、获取Unity雾效的颜色
 
前言
我们在这篇文章中讲述一下,在Unity的Shader中的雾效
一、Unity中的雾效在哪开启

二、Unity中不同种类雾的区别
1、线性雾

 效果:
 
2、指数雾1(推荐用这个,兼具效果和性能)

 效果:
 
3、指数雾2(效果更真实,性能消耗多)

效果:
 
三、在我们自己的Shader中实现判断,是否开启雾效
我们新建一个Unlit Shader 用于测试
1、我们先定义一个关于雾效的宏
#pragma multi_compile_fog
这个宏中有三个变体,分别对应之前的三种雾

2、获取Unity雾效的颜色
unity_FogColor
 我们返回该值看一下效果:
return unity_FogColor;

最终代码:
//unity的雾效
Shader "MyShader/P1_9_2"
{SubShader{Tags { "RenderType"="Opaque" }Pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#pragma multi_compile_fog#include "UnityCG.cginc"struct appdata{float4 vertex : POSITION;};struct v2f{float4 vertex : SV_POSITION;};v2f vert (appdata v){v2f o;o.vertex = UnityObjectToClipPos(v.vertex);return o;}fixed4 frag (v2f i) : SV_Target{return unity_FogColor;}ENDCG}}
}