美文网首页Unity3D
【Unity3D】程序纹理简单应用

【Unity3D】程序纹理简单应用

作者: LittleFatSheep | 来源:发表于2023-10-14 13:51 被阅读0次

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】程序纹理简单应用

相关文章

  • unity发布安卓防止破解

    Unity3D现在很火。应用得场景很多。那么针对unity发布的程序如何加密呢? Unity3D程序的安全问题 代...

  • Unity3D 图片纹理格式

    Unity3D 纹理格式 [Desktop] RGB Compressed DXT1 压缩的RGB纹理。这是最...

  • OpenGL ES 加载纹理数据

    纹理数据通常是应用程序用来渲染框架的数据的最大部分;纹理提供了向用户展示精美图像所需的细节。为了使您的应用程序获得...

  • OpenGL ES for iOS - 9

    使用纹理数据的最佳做法 纹理数据通常是您的应用程序用于渲染框架的数据的最大部分;纹理提供向用户呈现优质图像所需的细...

  • NGUI图集压缩UIAtlasMaker修改

    阅读前请先了解下Unity3D 图片纹理格式Unity游戏开发图片纹理压缩方案 解决的问题? 包体过大 内存占用大...

  • (十二)帧缓冲区对象

    本章将描述帧缓冲区对象的概念、应用程序创建它们的方法以及应用程序使用它们渲染到屏幕缓冲区或者纹理的方法。 为什么使...

  • 程序纹理-砖纹理

    简介 1 .程序纹理完全使用代码生成,不需要任何其他的东西,比如图片2 .这个操作的是Texture

  • 【Unity3D技术文档翻译】第2.2篇 创建和使用材质

    上一章:【Unity3D技术文档翻译】第2.1篇 纹理 (Textures) 本章原文所在章节:【Unity Ma...

  • Unity3D DLL加密

    Unity3D打包android应用程序时,如果不对DLL加密,很容易被反编译,导致代码的泄露。通常的做法是通过加...

  • GLK framework

    什么是GLKit? 加速OpenGLES或OpenGl应用程序开发。使用数学库,背景纹理加载,预先创建的着色器效果...

网友评论

    本文标题:【Unity3D】程序纹理简单应用

    本文链接:https://www.haomeiwen.com/subject/vfsabdtx.html