Shader-水流效果
效果图:(贴图类似于泥石流)
代码:
Shader "CookbookShaders/Chapter02/ScrollingUVs"
{
Properties
{
_MainTint("Diffuse Tint", Color) = (,,,)
_MainTex("Base (RGB)", 2D) = "white" {}
_ScrollXSpeed("X Scroll Speed", Range(, )) =
_ScrollYSpeed("Y Scroll Speed", Range(, )) =
} SubShader
{
Tags{ "RenderType" = "Opaque" }
LOD CGPROGRAM
#pragma surface surf Lambert fixed4 _MainTint;
fixed _ScrollXSpeed;
fixed _ScrollYSpeed;
sampler2D _MainTex; struct Input
{
float2 uv_MainTex;
}; void surf(Input IN, inout SurfaceOutput o)
{
//Create a seperate variable to store our uvs
//before we pass them to the tex2D() function
fixed2 scrolledUV = IN.uv_MainTex; //Create variables that store the individual x and y
//components for the uv's scaled by time
fixed xScrollValue = _ScrollXSpeed * _Time;
fixed yScrollValue = _ScrollYSpeed * _Time; //Apply the final uv offset
scrolledUV += fixed2(xScrollValue, yScrollValue); //Apply textures and tint
half4 c = tex2D(_MainTex, scrolledUV);
o.Albedo = c.rgb * _MainTint;
o.Alpha = c.a;
}
ENDCG
}
FallBack "Diffuse"
}
注意:
内置方法 _Time
是个4维向量,跟Unity3D中的deltaTime(这是个一维的,数值)不同。
- float4 _Time : Time (t/20, t, t*2, t*3), use to animate things inside the shaders
Shader-水流效果的更多相关文章
- 今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因
今天写shader流光效果,shader代码少了个括号,unity shader compiler卡死且不提示原因 好在找到了原因,shader 代码如下,原理是提高经过的颜色亮度 void surf ...
- Unity Shader 2D水流效果
水流的模拟主要运用了顶点变换和纹理动画的结合: 顶点变换中,利用正弦函数模拟河流的大致形态,例如波长,振幅等. 纹理动画中,将纹理坐标朝某一方向持续滚动以形成流动的效果. 脚本如下: Shader & ...
- Unity Shader - 消融效果原理与变体
基本原理与实现 主要使用噪声和透明度测试,从噪声图中读取某个通道的值,然后使用该值进行透明度测试. 主要代码如下: fixed cutout = tex2D(_NoiseTex, i.uvNoiseT ...
- Unity Shader 景深效果
效果 原理: 开启摄像机的深度模式,将深度保存到一张名为_CameraDepthTexture(Unity5.0之后才有)内置的纹理中. 如果深度在焦点范围内就用原图,否则就用模糊图. Shader: ...
- Unity3D Shader水波效果
水波效果 Shader "Custom/WaterWave" { Properties { _MainTex ("Base (RGB)", 2D) = &quo ...
- Unity Shader 玻璃效果
一个玻璃效果主要分为两个部分,一部分是折射效果的计算,另一部分则是反射.下面分类进行讨论: 折射: 1.利用Grass Pass对当前屏幕的渲染图像进行采样 2.得到法线贴图对折射的影响 3.对采集的 ...
- Unity Shader 广告牌效果
广告牌效果指的是,一个二维平面的法线方向始终与视线(摄像机的观察方向)相同.广泛运用于渲染烟雾,云朵,闪光等. 它的本质在于构建旋转矩阵,此时我们可以选择三个基向量来构建此矩阵. 指向→的方向(X轴) ...
- Unity3D Shader描边效果
Shader "Custom/RimColor" { Properties { _MainTex ("Base (RGB)", 2D) = "whit ...
- Unity3D Shader落雪效果
Shader "Custom/Snow" { Properties { _MainTex ("Base (RGB)", 2D) = "white&qu ...
- shader效果
Unity Shader - 消融效果原理与变体 https://www.jianshu.com/p/d8b535efa9db
随机推荐
- mybatis的resultMap自定义结果映射规则
dao接口 User myGetUserById(Integer id); sql xml自定义封装规则 <!--自定义某个javabean的封装规则 type:自定义规则的java类型 id: ...
- mysql5.7.22tar包安装
mysql5.7.22tar包安装 #卸载系统自带的Mariadb [root@ ~]# rpm -qa|grep mariadb mariadb-libs-5.5.44-2.el7.centos.x ...
- PAT——1010. 一元多项式求导
设计函数求一元多项式的导数.(注:xn(n为整数)的一阶导数为n*xn-1.) 输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数).数字间以空格分隔. 输出格式:以与 ...
- Ant自动化打多渠道包,Android批量打包提速
Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了. ...
- 【题解】洛谷P1052 [NOIP2005TG] 过河(DP+离散化)
题目来源:洛谷P1052 思路 一开始觉得是贪心 但是仔细一想不对 是DP 再仔细一看数据不对 有点大 如果直接存下的话 显然会炸 那么就需要考虑离散化 因为一步最大跳10格 那么我们考虑从1到10都 ...
- java 编写小工具 尝试 学习(四)
1.在新建 的窗口上 ,添加了一个按钮后 ,给 按钮添加一个事件 ,意思就是 点击按钮后 发生什么事情!不废话 贴图 贴 代码! package jFrameDemo; import java.aw ...
- localtunnel内网服务器暴露至公网
摘自@scarlex 1.安装 npm install -g localtunnel 2.运行 lt --port 8080 (your url is: http://xxxx.localtun ...
- c#随便聊聊数据库操作
最近在学习web后台以及Python,到了程序员的转折年纪了,哎.估计很久不会写博文了.言归正传. 在原理的数据库连接池HiKari项目上.我扩展了独立的3个库,说是3个库,其实原本该是一个库.先聊聊 ...
- SQLMAP注入常见用法
1.检查注入点 sqlmap -u http://www.com.tw/star_photo.php?artist_id=11 2.列数据库信息当前用户和数据库 sqlmap -u http://ww ...
- webstorm如何支持markdown
首先安装markdown 插件 第一个即可.