【Unity3D】程序纹理简单应用
1 几何纹理应用
本文所有案例的完整资源详见→Unity3D程序纹理简单应用。
1.1 边框
1)边框子图
Border.shadersubgraph

说明:Any 节点用于判断输入向量中是否存在一个分量非零,Branch 节点根据输入的真假走不同的分支,详见→Shader Graph节点。
2)圆环
Ring.shadergraph

说明:Border 节点是 1)节中创建的子图,用于计算边框的颜色和透明度,Ellipse 节点用于生成椭圆纹理,详见→Shader Graph节点 。
将材质绑定到 Quad 对象上,效果如下。

3)六边形边框
Hexagon.shadergraph

说明:Border 节点是 1)节中创建的子图,用于计算边框的颜色和透明度,Rotate 节点用于对 uv 坐标进行旋转变换,Polygon 节点用于生成多边形纹理,Rounded Polygon 节点用于生成圆角多边形纹理,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

1.2 点阵
1)点阵子图
Lattice.shadersubgraph

说明:Reciprocal 节点取倒数,Modulo 节点用于取余运算,详见→Shader Graph节点。
2)点阵
Lattice.shadergraph

说明:Lattice 节点是 1)节中创建的子图,用于计算点阵的 uv 坐标,Ellipse 节点用于生成椭圆纹理,Any 节点用于判断输入向量中是否存在一个分量非零,Branch 节点根据输入的真假走不同的分支,详见→Shader Graph节点 。
将材质绑定到 Quad 对象上,效果如下。

1.3 平移
1)平移子图
Move.shadersubgraph

说明:Remap 节点用于将一个区间线性映射到另一个区间,Combine 节点用于将多个通道的输入合并为一个向量,Tiling And Offset 节点用于对 uv 坐标进行平移和缩放变换,详见→Shader Graph节点。
2)平移
Move.shadergraph

说明:Move 节点是 1)节中创建的子图,用于计算平移后的 uv 坐标,Ellipse 节点用于生成椭圆纹理,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

1.4 旋转
1)旋转子图
MyRotate.shadersubgraph

说明:Rotate 节点用于对 uv 坐标进行旋转变换,Combine 节点用于将多个通道的输入合并为一个向量,Tiling And Offset 节点用于对 uv 坐标进行平移和缩放变换,详见→Shader Graph节点。
2)旋转
MyRotate.shadergraph

说明:MyRotate 节点是 1)节中创建的子图,用于计算旋转后的 uv 坐标,Polygon 节点用于生成多边形纹理,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

1.5 风车
1)风车强度子图
Windmill.shadersubgraph

说明:Negate 节点用于取相反数,Combine 节点用于将多个通道的输入合并为一个向量,Remap 节点用于将一个区间线性映射到另一个区间,详见→Shader Graph节点。
2)风车
Windmill.shadergraph

说明:Windmill 节点是 1)节中创建的子图,用于计算风车强度,Twirl 节点用于对 uv 坐标进行螺旋线变换,Rectangle 节点用于生成矩形纹理 ,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

1.6 关窗
ShutWindow.shadergraph

说明:Remap 节点用于将一个区间线性映射到另一个区间;Step 节点用于边界判断,即:In >= Edge 时,返回 1,否则返回 0;Lerp 节点用于线性插值,即:Out = (1 - T) * A + T * B。节点释义详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

2 球面应用
2.1 球面化
Sphere.shadergraph

说明:Combine 节点用于将多个通道的输入合并为一个向量,Spherize 节点用于模拟鱼眼镜头的球形变形效果,Checkerboard 节点用于生成棋盘网格,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

2.2 摆动
1)摆动子图
Swing.shadersubgraph

说明:Combine 节点用于将多个通道的输入合并为一个向量,详见→Shader Graph节点。
2)摆动
Swing.shadergraph

说明:Swing 节点是 1)节中创建的子图,用于计算摆动偏移,Spherize 节点用于将 uv 坐标球面化,Ellipse 节点用于生成椭圆纹理,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

3 极坐标应用
3.1 轮盘转
Wheel.shadergraph

说明:Rotate 节点用于对 uv 坐标进行旋转变换,Polar Coordinates 节点用于将直角坐标系下的 uv 坐标转换为极坐标系下的坐标,Checkerboard 节点用于生成棋盘网格,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

3.2 圈圈
Circle.shadergraph

说明:Rotate 节点用于对 uv 坐标进行旋转变换,Polar Coordinates 节点用于将直角坐标系下的 uv 坐标转换为极坐标系下的坐标,Checkerboard 节点用于生成棋盘网格,Combine 节点用于将多个通道的输入合并为一个向量,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

3.3 涡轮
Turbine.shadergraph

说明:Rotate 节点用于对 uv 坐标进行旋转变换,Twirl 节点用于对 uv 坐标进行螺旋线变换,Polar Coordinates 节点用于将直角坐标系下的 uv 坐标转换为极坐标系下的坐标,Checkerboard 节点用于生成棋盘网格,详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

当 Checkerboard 的 Frequency 参数为 (8, 8) 时,效果如下。

4 噪声纹理应用
4.1 溶解
Dissolve.shadergraph

说明:Modulo 节点用于取余运算;Simple Noise 节点用于生成噪声纹理;Step 节点用于边界判断,即:In >= Edge 时,返回 1,否则返回 0。节点释义详见→Shader Graph节点,效果更好的溶解效果详见→消融特效、选中物体消融特效。
将材质绑定到 Quad 对象上,效果如下。

4.2 潮水
1)潮水深度子图
Water.shadersubgraph

说明:Tiling And Offset 节点用于对 uv 坐标进行平移和缩放变换;Simple Noise 节点用于生成噪声纹理;Step 节点用于边界判断,即:In >= Edge 时,返回 1,否则返回 0。节点释义详见→Shader Graph节点。
Water.shadergraph

说明:Water 节点是 1)中定义的子图,用于计算潮水深度;Lerp 节点用于线性插值,即:Out = (1 - T) * A + T * B。节点释义详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

4.3 细胞运动
Cell.shadergraph

说明:Voronoi 节点用于生成晶胞;Lerp 节点用于线性插值,即:Out = (1 - T) * A + T * B。节点释义详见→Shader Graph节点。
将材质绑定到 Quad 对象上,效果如下。

声明:本文转自【Unity3D】程序纹理简单应用。
【Unity3D】程序纹理简单应用的更多相关文章
- [unity3d程序] 纹理扩散
纹理扩散适合与做游戏的背景(卷轴效果),原理就是让材质贴图动起来(循环运动),代码很简单希望对大家有用 1 2 3 4 5 6 7 8 9 10 11 12 13 // Scroll main tex ...
- .NET程序的简单编译原理
1.不管是什么程序,最终的执行官是CPU,而CPU只认识1和0的机器码. 2.我们现在写的一般是高级语言写的程序.CPU是不认识我们用高级语言写的源代码的,那应该怎么办才能让CPU执行我们写好的程序尼 ...
- jQuery幸运大转盘_jQuery+PHP抽奖程序的简单实现
jQuery幸运大转盘_jQuery+PHP抽奖程序的简单实现 在线实例 查看演示 完整代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...
- win32程序中简单应用mfc
今日写程序在win32中用CRect发现报错,突然想起来.要引入mfc库.想重新建立一个工程添加对mfc的支持.发现选项不能选.查资料后发现. 在win32程序中简单应用mfc库,只需要简单的引入&l ...
- 运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】
一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...
- 【运维程序】简单的命令控制器(支持定时命令执行、重复定时任务命令和进程管理,开发这个小程序主要是为了方便管理服务进程)【个人github项目】
一.前言: command-controller 一个运维程序,简单的命令控制器(支持定时命令执行和重复定时命令,开发这个程序主要是为了方便管理服务进程) 本来是要用python做的,但是之前做ffm ...
- node.js学习(三)简单的node程序&&模块简单使用&&commonJS规范&&深入理解模块原理
一.一个简单的node程序 1.新建一个txt文件 2.修改后缀 修改之后会弹出这个,点击"是" 3.运行test.js 源文件 使用node.js运行之后的. 如果该路径下没有该 ...
- Unity3D 5.x 简单实例 - 孤岛场景搭建
1,如果我们的Unity 5.X 是从这个地址下载的,安装后不会有资源包,则需要从Unity3D官网下载资源包: Standard Assets (Unity 5.x) 下载 下载后安装后,Unity ...
- Python开发程序:简单主机批量管理工具
题目:简单主机批量管理工具 需求: 主机分组 登录后显示主机分组,选择分组后查看主机列表 可批量执行命令.发送文件,结果实时返回 主机用户名密码可以不同 流程图: 说明: ### 作者介绍: * au ...
- 51单片机 Keil C 延时程序的简单研究
应用单片机的时候,经常会遇到需要短时间延时的情况.需要的延时时间很短,一般都是几十到几百微妙(us).有时候还需要很高的精度,比如用单片机驱动DS18B20的时候,误差容许的范围在十几us以内,不然很 ...
随机推荐
- [转帖]彻底搞明白 GB2312、GBK 和 GB18030
https://zhuanlan.zhihu.com/p/453675608 日常工作的过程中,关于字符编码的问题经常让人头疼不已,这篇文章就来捋一捋关于 GB2312.GBK.GB18030 相关的 ...
- [转帖]tidb Modify Configuration Dynamically
https://docs.pingcap.com/tidb/v6.5/dynamic-config This document describes how to dynamically modify ...
- [转帖]Kafka常见使用场景与Kafka高性能之道
https://juejin.cn/post/6958997115012186119 消息队列使用场景 队列,在数据结构中是一种先进先出的结构,消息队列可以看成是一个盛放消息的容器,这些消息等待着各种 ...
- megacli_sw服务器Raid卡的设置过程
megacli_sw服务器的设置过程 背景 采购的申威服务器有四块硬盘, 第一台服务器在sdd上面安装了一个银河麒麟v10的系统 sda,sdb,sdc 三块硬盘没有进行raid设置, 直接还是用的J ...
- 【转帖】Linux 调优篇 :虚拟化调优(irqbalance 网卡中断绑定)* 贰
一.网络流量上不去二.中断绑定2.1 关闭中断平衡守护进程2.2 脱离中断平衡守护进程2.3 手动设置中断的CPU亲和性三. 总结 一.网络流量上不去 在Linux的网络调优方面,如果你发现网络流量上 ...
- Python学习之九_winrm执行远程机器的cmd命令
Python学习之九_winrm执行远程机器的cmd命令 winrm # 注意如下命令需要按照顺序执行. # 打开powershell的管理员模式进行如下的操作. set-executionpolic ...
- [转帖]Intel、海光、鲲鹏920、飞腾2500 CPU性能对比
https://plantegg.github.io/2021/06/18/%E5%87%A0%E6%AC%BECPU%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94/ Int ...
- 浅谈kafka
作者:京东科技 徐拥 入门 1.什么是kafka? apache Kafka is a distributed streaming platform. What exactly dose that m ...
- 【JS 逆向百例】网洛者反爬练习平台第七题:JSVMPZL 初体验
关注微信公众号:K哥爬虫,持续分享爬虫进阶.JS/安卓逆向等技术干货! 声明 本文章中所有内容仅供学习交流,抓包内容.敏感网址.数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后 ...
- 使用boot.iso镜像安装Oracle Linux 8
本文记录使用boot.iso镜像安装Oracle Linux 8. 镜像下载 Oracle Linux 8 boot镜像可以从这里下载. 安装 Oracle Linux 8 boot镜像安装系统跟使用 ...