1.水面波动UV动画

Shader "Hsj/Whater" {Properties{_MainTex("MainTex",2D) = "white"{}_MainColor("MainColor",COLOR) = (1,1,1,1)_AddTex("AddTex",2D) = "white"{}_Maxset("Max",Range(0.1,1.0)) = 0.1}SubShader{Tags{"RenderType" = "Transparent" "Queue" = "Transparent" "IgnoreProjector" = "True"}LOD 200pass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"float4 _MainColor;sampler2D _MainTex;sampler2D _AddTex;float4 _MainTex_ST;float _Maxset;struct appdata{float4 vertex:POSITION;float2 texcoord:TEXCOORD0;};struct v2f{float4 pos:POSITION;float2 uv:TEXCOORD0;};v2f vert(appdata v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv = TRANSFORM_TEX(v.texcoord,_MainTex);return o;}float4 frag(v2f o) :SV_Target{float2 c = (tex2D(_AddTex,o.uv.xy + float2(0,_Time.x)).gb + tex2D(_AddTex,o.uv.xy + float2(_Time.x,0)).gb) - 1;float2 ruv = o.uv.xy + c.xy*_Maxset;half4 h = tex2D(_MainTex,ruv)*_MainColor;return h;}ENDCG}}FallBack "Diffuse"}

2.简单的扰动

Shader "Custom/Water"
{Properties{_MainTint("Tint",Color) = (1,1,1,1)_MainTex("水纹贴图", 2D) = "white" {}_WaterAlpha("水不透明度",Range(0,1)) = 0.5_ScrollSpeed("贴图滚动速度", Range(0,10)) = 2_NoiseTex("水波噪声贴图",2D) = "white"{}_Amount("噪声影响因子", Range(0,2)) = 1_Frequency("水波频率",Range(0,1.4)) = 0.8_WaveSpeed("水波速度",Range(0.1, 80)) = 10_Amplitude("水波振幅", Range(-1, 1)) = 1_CWaveVal("水环振幅", Range(.01, 20)) = 1}SubShader{Tags{"Queue" = "Transparent""RenderType" = "Transparent"}LOD 200CGPROGRAM// Physically based Standard lighting model, and enable shadows on all light types#pragma surface surf Standard alpha:fade #pragma vertex vert#pragma target 4.0struct Input{float2 uv_MainTex;float2 uv_StoneTex;float2 uv_NoiseTex;};fixed4 _MainTint;fixed _ScrollSpeed;sampler2D _MainTex;sampler2D _NoiseTex;fixed _WaterAlpha;fixed _Amount;fixed _Frequency;fixed _WaveSpeed;fixed _Amplitude;float _CWaveVal;UNITY_INSTANCING_BUFFER_START(Props)UNITY_INSTANCING_BUFFER_END(Props)void surf(Input IN, inout SurfaceOutputStandard o){//引入贴图fixed2 scrolledUV = IN.uv_MainTex;fixed2 noiseTex = IN.uv_NoiseTex;//流动fixed ScrollValue = _ScrollSpeed * _Time;//非交替定向流动half4 n = tex2D(_NoiseTex,noiseTex) * _Amount;//噪声因子scrolledUV += fixed2(ScrollValue + n.x, ScrollValue + n.y);//x,y方向各自偏移量//圆环旋转float2 center = (0.5, 0.5);//若要中点,注意与平铺值的一半对应;此处平铺为1,1float2 dt = IN.uv_MainTex - center;float len = length(dt);//偏移量float intensity = sin(_SinTime.x * 3) * _CWaveVal;//旋转强度因子float off = len * intensity;//对应uv旋转量float2x2 rot = float2x2(cos(off), -sin(off), sin(off), cos(off));//二维空间旋转矩阵dt = mul(rot, dt) + center;//乘旋转矩阵,加上需要偏移中心的量half4 c = tex2D(_MainTex, dt + scrolledUV);//uv偏移(圆环与流动)//赋值输出o.Albedo = c.rgb * _MainTint;o.Alpha = _WaterAlpha;}void vert(inout appdata_full v, out Input o){UNITY_INITIALIZE_OUTPUT(Input,o);float time = _WaveSpeed * _Time;float waveValue = sin(time + v.vertex.x * _Frequency) * _Amplitude;//偏移量v.vertex.xyz = float3(v.vertex.x, v.vertex.y + waveValue, v.vertex.z);//在y轴附加偏移量}ENDCG}FallBack "Diffuse"
}

【内置渲染管线】Built_IN水面效果Shader相关推荐

  1. 制作RPG独立游戏练习(二)内置渲染管线中实现风格化PBR效果

    游戏的研发大概有3个月了,都是业余时间边学边做,还是觉得在项目里面实操学得扎实牢靠. 目标平台是手机....(优化后,目前测试的是中高端机型) 目前是在unity里面实时光的效果打包到手机里的实机画面 ...

  2. 【工具篇】Unity内置渲染管线和URP以及HDRP轮廓外发光边缘光高亮显示演示

    目录 一.内置渲染管线(Built_IN) 一. 效果展示 二.使用教学 Quick Outline 二.URP渲染管线

  3. 【内置渲染管线】Unity标准Shader解析(渲染模式,贴图类型)

    目录 一.标准Shader之四大渲染模式 1.Opaque(不透明) 2.Cutout(镂空) 3.Fade(隐现) 4.Transparent(透明) 二.标准Shader之十种贴图类型 1.标准 ...

  4. UnityShader---光照(衰减和阴影))(内置渲染管线)---10

    光照衰减: // Upgrade NOTE: replaced '_LightMatrix0' with 'unity_WorldToLight'Shader "Unlit/15" ...

  5. UnityShader---高级纹理(反射、折射、菲涅尔反射、镜子\玻璃效果)(内置渲染管线)---11

    反射:代码里有阴影和衰减计算 Shader "Unlit/17" {Properties{_Color("Color",Color)=(1,1,1,1)_Ref ...

  6. unity URP内置shader lit解析

    unity内置的pbr渲染shader Properties为shader相关属性 两个SubShader里面为相应的渲染内容,第二个为降级处理渲染,如果第一个SubShader不兼容,才会渲染第二个 ...

  7. 【HDRP高清渲染管道】创建HDRP工程,把内置管线工程升级为HDRP工程

    目录 一.通过模板创建HDRP项目工程 1.创建模板示例工程 2.单击High Definition RP 3.命名并创建项目 4.研究并学习后续开发 二.通过HdrpCore模块创建HDRP项目工程 ...

  8. Unity 内置管线Shader升级到URP详细手册

    本文转载自:https://www.jianshu.com/p/3fef69e2efb6 作为技术资料记录和备份,避免遗忘或删除 //================以下为具体内容========== ...

  9. 关于Unity中Shader的内置值

    Unity provides a handful of builtin values for your shaders: things like current object's transforma ...

最新文章

  1. 消息队列系列二(IOT中消息队列的应用)
  2. Android中为TextView增加自定义的HTML标签
  3. Java EE 8 MVC:使用表单参数
  4. emacs c语言,如何利用Emacs来调试C++程序
  5. 基于java的络教学平台的设计与实现 (含源文件)
  6. 如何使用Docker轻松设置Ruby on Rails开发环境
  7. android中返回刷新,Android intent 传递对象以及返回刷新
  8. ExtJS4.2学习(17)表单基本输入控件Ext.form.Field(转)
  9. 证券交易4-PB系统简介
  10. Delphi 11.0 Alexandria 来了
  11. IDEA “Cannot resolve symbol” 解决办法
  12. CCF-CSP 201912-2 回收站选址(python实现)
  13. c语言二级字符指针运用(字符串)
  14. 带隙基准及LDO电路
  15. 无法写入最后一个_香港影史无法超越的25个惊艳瞬间,最后一个还是双黄蛋
  16. [Android] 隐藏头顶状态栏
  17. 负边距在布局中的使用 BY:色拉油啊油
  18. java将异常写到text,java捕获异常信息存入txt文件示例
  19. 狂神说 SpringBoot笔记
  20. java洁能租车计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

热门文章

  1. xcopy命令拷贝文件时忽略指定文件夹
  2. JAXB对象转XML List类型注解示例
  3. execl实现异步上传
  4. OpenCV学习笔记(14):形态学滤波对图像进行边缘及角点检测
  5. 查看java变量的地址_Java 变量地址
  6. JVM的清洁工具——常见的垃圾回收器
  7. php爬取口碑商家数据,Python 爬取汽车之家口碑数据
  8. windows系统中通过 运行(win+R) 的方式打开电脑程序或文件夹
  9. 怎样把图片做成800*800像素
  10. 《算法竞赛进阶指南》防线