纹理贴图移动特效产生岩浆、瀑布效果
原理是改变动态改变纹理坐标uv的值,使之移动

首先准备好一张贴图

建立一个shader
变量一览:
_MainTex 主纹理贴图
_MainTint 主要颜色  
_ScrollXSpeed x轴移动速度
_ScrollYSpeed  y轴移动速度

 Properties {_MainTex ("Base (RGB)", 2D) = "white" {}_MainTint ("Diffuse Tint", Color) = (1, 1, 1, 1) _ScrollXSpeed ("X Scroll Speed", Range(0, 10)) = 2_ScrollYSpeed ("Y Scroll Speed", Range(0, 10)) = 2}

主要是在surf函数里进行操作
fixed xScrollValue = _ScrollXSpeed * _Time;
fixed yScrollValue = _ScrollYSpeed * _Time;
x、y偏移量随时间增加

     void surf (Input IN, inout SurfaceOutput o) {fixed2 scrolledUV = IN.uv_MainTex;fixed xScrollValue = _ScrollXSpeed * _Time;fixed yScrollValue = _ScrollYSpeed * _Time;scrolledUV += fixed2(xScrollValue, yScrollValue);half4 c = tex2D (_MainTex, scrolledUV);o.Albedo = c.rgb * _MainTint;o.Alpha = c.a;}

_Time是 unity shaderlab内置值
float4 _Time : Time (t/20, t, t*2, t*3)
是一个四维向量

scrolledUV += fixed2(xScrollValue, yScrollValue);
uv的x,y值随时间累加偏移量

最后整合uv与主颜色到当前纹理上
产生了这种移动的效果

shader代码如下

Shader "Custom/testShader" {Properties {_MainTex ("Base (RGB)", 2D) = "white" {}_MainTint ("Diffuse Tint", Color) = (1, 1, 1, 1) _ScrollXSpeed ("X Scroll Speed", Range(0, 10)) = 2_ScrollYSpeed ("Y Scroll Speed", Range(0, 10)) = 2}SubShader {Tags { "RenderType"="Opaque" }LOD 200CGPROGRAM#pragma surface surf Lambertfixed4 _MainTint;fixed _ScrollXSpeed;fixed _ScrollYSpeed;sampler2D _MainTex;struct Input {float2 uv_MainTex;};void surf (Input IN, inout SurfaceOutput o) {fixed2 scrolledUV = IN.uv_MainTex;fixed xScrollValue = _ScrollXSpeed * _Time;fixed yScrollValue = _ScrollYSpeed * _Time;scrolledUV += fixed2(xScrollValue, yScrollValue);half4 c = tex2D (_MainTex, scrolledUV);o.Albedo = c.rgb * _MainTint;o.Alpha = c.a;}ENDCG} FallBack "Diffuse"
}

可以看看我的这篇文章也运用了这个知识unity3d 老电影式的屏幕特效

--------by wolf96

unity3d 纹理贴图移动特效产生岩浆、瀑布效果相关推荐

  1. 【Unity3D】纹理贴图 ( 纹理 Texture 简介 | 为 3D 模型设置纹理贴图 )

    文章目录 一.纹理 Texture 简介 二.为 3D 模型设置纹理贴图 一.纹理 Texture 简介 上一篇博客 [Unity3D]材质 Material ( 材质简介 | 创建材质 | 设置材质 ...

  2. Unity3D粒子系统之制作火焰特效

    Unity3D粒子系统之制作火焰特效 本文将会介绍如何使用Unity内的粒子系统制作烟雾效果. 如果想了解Unity粒子系统中的基础属性,可以看这篇博客:Unity3D粒子系统之基础属性介绍 先上预览 ...

  3. dx12 龙书第九章学习笔记 -- 纹理贴图

    1.纹理与资源的回顾 我们其实很早就接触过纹理了,之前的深度缓冲区与后台缓冲区,它们都是通过ID3D12Resource接口表示,并以D3D12_RESOURCE_DESC::Dimension成员中 ...

  4. unity3d 凹凸贴图、法线贴图、置换贴图

    原帖地址:http://www.game798.com/html/2007-03/2997.htm 作者:FXCarl  首先我想说,对于凹凸贴图在计算机图形领域中的研究,最早开始于70年代末,至今已 ...

  5. Unity3D学习笔记:粒子特效参数

    Unity3D学习笔记:粒子特效参数含义 转载 https://blog.csdn.net/asd237241291/article/details/8433534 粒子特效 粒子系统检视面板 初始化 ...

  6. zb如何导出自己画的_zbrush纹理贴图(zbrush怎么导出映射贴图)

    ZBrush中贴图纹理怎么画不出来了? ZBrush3.0可以直接绘制纹理贴图或者颜色贴图,但是在使用中不会直接反映到纹理贴图窗口了,所以有 朋友说没有办法导出纹理贴图.实际只要按颜色到纹理按钮就可以 ...

  7. 一款jQuery满屏自适应焦点图切换特效

    一款jQuery满屏自适应焦点图切换特效 ,自适应当前浏览器的宽度,可以作为网站整个大背景的却换效果,很不错的一款不jquery特效. 兼容性没的说直接秒杀了IE6.适用浏览器:IE6.IE7.IE8 ...

  8. C++ Opengl纹理贴图源码

    C++ Opengl纹理贴图源码 项目开发环境 项目功能 项目演示 项目源码传送门 项目开发环境 开发语言:C++和IDE:VS2017,操作系统Windows版本windows SDK8.1,三方库 ...

  9. OpenGL png图片 纹理贴图,去除png图片黑边

    http://blog.csdn.net/cjkwin/article/details/6011882 用libpng把png图片读出来就可以用读出的数据生成文理了. 将png图片作为纹理贴图,在图片 ...

最新文章

  1. python函数入参和返回值
  2. 英朗gt仪表盘图标说明_BuildRun低代码开发教程八节 | 图表和仪表盘展示
  3. jMenu 不添加item 直接自己添加监听actionPerformed不行mousePressed可以
  4. Mac 删除自己安装的Python
  5. 向量空间模型(VSM)--用于计算文本相似度
  6. fabric-sample配置常见错误解析
  7. mysql 宽字符注入_5. 宽字符注入详解与实战
  8. OpenCV-camShift 算法
  9. 蘑菇战争2显示没有连接服务器,蘑菇战争2新手怎么玩?四步带你解决新手难关[多图]...
  10. Matlab无法打开,卡logo
  11. 文本检测之-craft检测算法
  12. php:php时区的三种设置方式
  13. [单片机框架][bsp层][cx32l003][bsp_adc] ADC配置和使用
  14. 水体微生物多样性分析
  15. 11.(地图数据篇)OSM数据如何下载使用
  16. python 统计一篇英语文章中每个单词出现的次数
  17. kl divergence matlab,直观理解-信息熵KL Divergence
  18. 易经卦象基本类别与其类象运用思路
  19. HDU 2155 小黑的镇魂曲
  20. 植萃香薰集花果精华,自然芳香充盈其间

热门文章

  1. Android悬浮窗看这篇就够了
  2. [DASCTF-Sept-X] 双目失明,身残志坚
  3. Unity 伤害飘血效果
  4. 关于柯尼卡美能达bizhub250出现c2557错误解决方法
  5. Swagger(丝袜哥) 快速入门(超详细介绍)
  6. CocosCreator3.0的版本改动
  7. Windows 终端 | Windows Terminal | 一款强大且高效的终端应用程序
  8. pycharm2022.2.1版本设置中文语言
  9. 校园英语杂志校园英语杂志社校园英语编辑部2022年第17期目录
  10. Python机器学习数据挖掘7周实训!-韦玮-专题视频课程