| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Unity学习笔记(四)——UV流动与UV扭曲 -> 正文阅读 |
|
[游戏开发]Unity学习笔记(四)——UV流动与UV扭曲 |
? ? ? ? 今天所学习的内容为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 ,将噪声 Remap 到(0,2)。然后将_MainTex_var 的 a 通道与透明度与扰动相乘,得到透明噪声(UV流动),然后乘进输出结果即可。 二、UV扭曲 ? ? ? ? 前面与 UV流动相似,区别在于 UV扭曲将贴图后的UV值交给原 UV,使得 _MainTex _var 贴图的 UV 自行发生变化,而不是像 UV 流动最后用乘法将 UV 变换 乘上去。后面与UV流动一样。 ? ? ? ? ? ? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 0:33:48- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |