Shader-水流效果】的更多相关文章

今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因 好在找到了原因,shader 代码如下,原理是提高经过的颜色亮度 void surf(Input IN, inout SurfaceOutputStandard o) { // Albedo comes from a texture tinted by color fixed2 scrolledUV = IN.uv_MainTex; fixed xScrollValue = 5 *…
水流的模拟主要运用了顶点变换和纹理动画的结合: 顶点变换中,利用正弦函数模拟河流的大致形态,例如波长,振幅等. 纹理动画中,将纹理坐标朝某一方向持续滚动以形成流动的效果. 脚本如下: Shader "MyUnlit/ScrollWater" { Properties { _MainTex ("Texture", 2D) = "white" {} _Color(,,,) //控制水流波动的幅度,也就是三角函数中的振幅(值域范围) _Magnitud…
基本原理与实现 主要使用噪声和透明度测试,从噪声图中读取某个通道的值,然后使用该值进行透明度测试. 主要代码如下: fixed cutout = tex2D(_NoiseTex, i.uvNoiseTex).r; clip(cutout - _Threshold); 完整代码点这里 边缘颜色 如果纯粹这样镂空,则效果太朴素了,因此通常要在镂空边缘上弄点颜色来模拟火化.融化等效果. 1. 纯颜色 第一种实现很简单,首先定义_EdgeLength和_EdgeColor两个属性来决定边缘多长范围要显示…
效果 原理: 开启摄像机的深度模式,将深度保存到一张名为_CameraDepthTexture(Unity5.0之后才有)内置的纹理中. 如果深度在焦点范围内就用原图,否则就用模糊图. Shader: Shader "DepthOfFiled" { Properties { _MainTex ("Texture", 2D) = "white" {} _BlurSize ("Blur Size", Float) = 0.1 }…
水波效果 Shader "Custom/WaterWave" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _WaveStrength("Wave Strength",Float) = 0.01 _WaveFactor( _TimeScale( } SubShader { Pass { CGPROGRAM #pragma vertex vert #pragma…
一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射.下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的屏幕图像进行关于法线方向上的扭曲和偏移,以模拟折射效果 反射: 主要利用环境贴图产生反射的残影,并和主贴图采样结果混合 得到反射和折射的结果后,以一个插值变量控制最终效果(类似于玻璃的透光率): 脚本如下: // Upgrade NOTE: replaced '_Object2World' with…
广告牌效果指的是,一个二维平面的法线方向始终与视线(摄像机的观察方向)相同.广泛运用于渲染烟雾,云朵,闪光等. 它的本质在于构建旋转矩阵,此时我们可以选择三个基向量来构建此矩阵. 指向→的方向(X轴) 指向↑的方向(Y轴) 平面的法线方向(Z轴) 计算方法通常是: 1.根据当前摄像机的方向确定法线方向(广告牌效果的本质),并归一化 normal=normalize(viewDir); 2.根据得到的法线方向和初始的向上方向(在本地空间中即为float3(0,1,0))计算向右的方向,并归一化 r…
Shader "Custom/RimColor" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _RimColor(,,,) _RimRang(,)) = 0.1 } SubShader { Pass { Cull Front Tags { "Queue" = "Geometry-1" } CGPROGRAM #include "U…
Shader "Custom/Snow" { Properties { _MainTex ("Base (RGB)", 2D) = "white" {} _RimColor(,,,) _SnowPower (,)) = 0.2//边缘强度 _SnowRang(,)) = 0.1 } SubShader { Pass { CGPROGRAM #include "UnityCG.cginc" struct v2f { float4…
Unity Shader - 消融效果原理与变体 https://www.jianshu.com/p/d8b535efa9db…