原理
1. 广告牌
2. 闪烁
3. 体积光远近淡出入变化
效果
代码
Shader "Unlit/BlinkingBillboardedGodRay"
{
Properties
{
_MainTex ("Base texture", 2D) = "white" {}
_FadeOutDistNear ("Near fadeout dist", float) = 10
_FadeOutDistFar ("Far fadeout dist", float) = 10000
_Multiplier("Color multiplier", float) = 1
_Bias("Bias",float) = 0
_TimeOnDuration("ON duration",float) = 0.5
_TimeOffDuration("OFF duration",float) = 0.5
_BlinkingTimeOffsScale("Blinking time offset scale (seconds)",float) = 5
_SizeGrowStartDist("Size grow start dist",float) = 5
_SizeGrowEndDist("Size grow end dist",float) = 50
_MaxGrowSize("Max grow size",float) = 2.5
_NoiseAmount("Noise amount (when zero, pulse wave is used)", Range(0,0.5)) = 0
_VerticalBillboarding("Vertical billboarding amount", Range(0,1)) = 1
_ViewerOffset("Viewer offset", float) = 0
_Color("Color", Color) = (1,1,1,1)
}
SubShader
{
Tags { "RenderType"="Transparent" "IgnoreProjector"="True" "Queue"="Transparent"}
Blend One One
Cull Off Lighting Off ZWrite Off Fog { Color (0,0,0,0) }
LOD 100
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag
#include "UnityCG.cginc"
sampler2D _MainTex;
float _FadeOutDistNear;
float _FadeOutDistFar;
float _Multiplier;
float _Bias;
f