【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以内,不然很 ...
随机推荐
- 使用Docker部署java项目时遇到的几个错误
0.简介 本文主要是在学习黑马程序员Docker快速入门到项目部署过程中, 对遇到的问题进行了相关的总结梳理 1.本地已存在mysql服务占用3306端口 问题 当我使用docker run -d - ...
- JMS微服务远程调用性能测试 vs .Net Core gRPC服务
gRPC性能测试(.net 5) 创建一个最简单的gRPC服务,服务器代码如下: using Grpc.Core; using Microsoft.Extensions.Logging; using ...
- [转帖]Unicode与utf的前世今生
https://www.cnblogs.com/naodong/p/12742987.html 历史上存在两个独立的尝试创立单一字符集的组织,即 国际标准化组织(ISO)于1984年创建的通用字符集( ...
- [转帖]SQL SERVER中什么情况会导致索引查找变成索引扫描
https://www.cnblogs.com/kerrycode/p/4806236.html SQL Server 中什么情况会导致其执行计划从索引查找(Index Seek)变成索引扫描(Ind ...
- [转帖]Python执行Linux系统命令的4种方法
https://www.cnblogs.com/pennyy/p/4248934.html (1) os.system 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 代码如下: sys ...
- [转帖]你应该知道的Shell 脚本的经典十三问
https://blog.csdn.net/wangzhicheng987/article/details/131031344 1. 为何叫做shell? 我们知道计算机的运作不能离开硬件,但使用者却 ...
- [转帖][大数据]ETL之增量数据抽取(CDC)
https://www.cnblogs.com/johnnyzen/p/12781942.html 目录 1 CDC 概念 1.1 定义 1.2 需求背景 1.3 考察指标 2 CDC 常见解决方案 ...
- [转帖]PostgreSQL配置文件--WAL
2022-12-23 3.1 Settings 3.1.1 fsync 字符串 默认: fsync = on 开启后强制把数据同步更新到磁盘,可以保证数据库将在OS或者硬件崩溃的后恢复到一个一致的状态 ...
- Fabric网络升级(三)
原文来自这里. 如果不熟悉capability,那么操作前可以查阅Capabilities.需要注意的是在启用capabilities前,需要升级归属该通道的peer节点和排序节点. 更多关于最新版F ...
- Spring源码之XML文件中Bean标签的解析1
读取XML文件,创建对象 xml文件里包含Bean的信息,为了避免多次IO,需要一次性读取xml文件中所有bean信息,加入到Spring工厂. 读取配置文件 new ClassPathResourc ...