美文网首页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】程序纹理简单应用

    相关文章

      网友评论

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

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