今天所学习的内容为UV流动与UV扭曲,首次接触时间的变换。

一、UV流动

1.

声明面板参数

2.

引入一个新变量 _Time,时间为一个四位向量,为描述场景加载开始后所经过的时间,4个分量的值为(t/20,t,2t,3t),使用不同分量即可使用不同的时间流速,这里使用的是时间的X分量,再通过乘一个可控标量,即可达成控制时间流速的效果。

        frac 为取余,选择括号内的余数,因为整数对UV的变动来说是相同的,即 U + 1 后的 UV取样的结果不会变换。因为时间是累计的时间,所以减少时间的量可以降低所需的储存空间。

我们将 UV 的 y 坐标,即 V坐标与变换的时间相加,即使得 UV 的 y 坐标不断按时间变换,所看到的效果就是 UV 的取样会沿着 y 轴流动。

3.

         在像素Shader中,首先将纹理贴图贴上,注意 MainTex_var 在后面需要用到 a通道,所以需要是一个四维向量。然后将 MainTex 的 rgb 通道赋值出来。

lerp 为插值函数:Lerp (from : Vector3, to : Vector3, t : float) : Vector3     

                                     return a + ( b - a) * t(返回值)参考:https://blog.csdn.net/u010133610/article/details/64906818

用于在 fromto 的值中间去插入 t [0,1],使得变换圆滑,其中,当 t = 0 时,返回的为 from 的值,t = 1 时,返回的是 to 的值 。如果 form = 0 , to = 100 , t = 0.2 ,则返回值 20

通过 lerp ,将噪声 Remap 到(0,2)。然后将_MainTex_var 的 a 通道与透明度与扰动相乘,得到透明噪声(UV流动),然后乘进输出结果即可。

二、UV扭曲

前面与 UV流动相似,区别在于 UV扭曲将贴图后的UV值交给原 UV,使得 _MainTex _var 贴图的 UV 自行发生变化,而不是像 UV 流动最后用乘法将 UV 变换 乘上去。后面与UV流动一样。

Unity学习笔记(四)——UV流动与UV扭曲相关推荐

  1. UE4 Material 101学习笔记——01-07 介绍/PBR基础/UV扭曲/数据类型/翻页动画/材质混合/性能优化

    UE4 Material 101学习笔记--01-07 介绍/PBR基础/UV扭曲/数据类型/翻页动画/材质混合/性能优化 Lec 01 什么是着色器 What Is A Shader? 1.1 介绍 ...

  2. 木木的Unity学习笔记(四)—— Unity中的柏林噪声(Perlin Noise)

    木木的Unity学习笔记(四)-- Unity中的柏林噪声 柏林噪声是一个非常强大算法,经常用于程序生成随机内容,在游戏和其他像电影等多媒体领域广泛应用.算法发明者Ken Perlin也因此算法获得奥 ...

  3. unity学习笔记-特效篇

    unity学习笔记 传送门特效 火焰特效 传送门特效 由于动画师的动画制作遇到了一些小问题,只能先做其他功能的摸索了~ 本来想记录一下服务器搭建的,但是在消息传输的部分遇到了一些bug,可能是消息解析 ...

  4. Unity学习笔记1 简易2D横版RPG游戏制作(一)

    这个教程是参考一个YouTube上面的教程做的,原作者的教程做得比较简单,我先参考着做一遍,毕竟我也只是个初学者,还没办法完全自制哈哈.不过我之前也看过一个2D平台游戏的系列教程了,以后会整合起来,做 ...

  5. 【Unity学习笔记】[Unity中文课堂教程] C#中级编程代码

    [Unity学习笔记][Unity中文课堂教程] C#中级编程代码 最近想补一补C#基础,Unity官方的C#中级编程教程质量很高,于是开个帖子把跟着敲+记录了部分价讲解和我自己的理解的代码存在这 原 ...

  6. 【Unity学习笔记】b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别)

    [Unity学习笔记]b站Unity架构课Unity3D 商业化的网络游戏架构(高级/主程级别) 自己跟着学完了,写了不少代码,会放在CSDN代码库,因为老师并没有提供源码,录屏也不是完全连续,所以难 ...

  7. [Unity学习笔记:FPS游戏制作(3)]子弹拖尾,碰撞与枪口火焰效果

    往期博客[Unity学习笔记:FPS游戏制作(2)] 发射子弹----(2021.6.20学习笔记) 文章目录 一,实现思路 二,粒子效果的实现 (1)子弹拖尾特效的实现 (2)枪口火焰特效的实现 ( ...

  8. Unity学习笔记--赛车的控制代码

    Unity学习笔记–赛车的控制代码 using System.Collections; using System.Collections.Generic; using UnityEngine;publ ...

  9. [Unity学习笔记:FPS游戏制作(2)] 发射子弹————(2021.6.20学习笔记)

    往期博客 [Unity学习笔记:FPS游戏制作(1)]角色的移动,旋转与推进上升----(2021.6.13学习笔记) 文章目录 一,实现思路 二,实现代码 三,脚本的使用方法 四,最终效果 一,实现 ...

最新文章

  1. 增强学习(四) ----- 蒙特卡罗方法(Monte Carlo Methods)
  2. 数字电子技术基础第三版杨志忠_阎石数字电子技术基础第6版笔记和课后习题详解...
  3. 7-10 求数字个数 (20 分)
  4. numpy中方法参数axis取值理解
  5. 为何需要实施数据治理
  6. python编程最大公约数_Python 求两个数的最大公约数
  7. 物联网工程导论第二版思考题答案
  8. NTLite精简Windows 7 Ultimate SP1
  9. 计算机系统更新从哪关闭,电脑总提示系统更新,怎么关闭?
  10. linux用光盘安装系统时需要如何设置,Linux如何设置光盘启动
  11. COSNET: Connecting Heterogeneous Social Networks with Local and Global Consistency 论文阅读笔记
  12. 2022,一名85后程序猿之感慨,加油
  13. modbus软件开发linux,Linux C开发之用modbus实现串口通讯
  14. 51单片机系列——定时/计数器
  15. 证券运维外包第3个月工作总结
  16. 基于STM32(HAL库)的水质检测(浑浊度、PH值、温度、手机APP显示、wifi上云)
  17. facenet 人脸识别库的搭建和使用方法(二)
  18. 2013年中国40位40岁以下的商界精英(转载)
  19. 慧眼舆情热词分析架构简述
  20. uniapp中 onReady, onLoad, onShow区别

热门文章

  1. STM32F103使用USART2重写printf
  2. make命令的自动推导
  3. STM32中断里的那些事,你都知道吗?
  4. 一阶系统开环传递函数表达式_我理解的现代控制系统 第4部分-开环与闭环系统的区别...
  5. .net Bootstrap实现服务器分页效果
  6. Struts2工作原理和文件结构
  7. java/php/net/pythont电影票订票系统设计
  8. 钉钉内网穿透工具配置
  9. c语言编程能不能赚钱,我这样学C语言,一个月赚了2000元?
  10. 30种软件产品的界面设计评论