前言
Hexagon又称六边形,在游戏中是十分常见的基础形状,本文将使用程序化的六边形来制作多个环状六边形叠加的转动动画效果,实践Unity Shader Graph中的常用节点功能。
创建一个Shader Graph文件命名为Hexagon,并创建对应的材质球M_Hexagon,在Shader Graph中创建一个Texture2D的变量命名为MainTex作为默认的贴图输入。
制作环状六边形
创建一个Polygon多边形节点,创建一个Float类型的Sides变量,用来控制多边形的边数。创建一个Float类型的Range变量,用来控制多边形的半径大小。创建一个Float类型的FrameWidth变量,用来控制多边形环的宽度。用半径大小减去宽度得到减去宽度后的多边形,用初始的多边形减去去除宽度后的多边形就可以得到环状的多边形,将边数设置为6,则获得我们所需的环状六边形,节点如下所示。
旋转环状六边形
创建一个时间节点,创建一个Float类型的RotateSpeed变量,用来控制旋转速度。将时间节点的Time与旋转速度相乘,并输入到Rotate节点的Rotation输入数据中来获得持续旋转的输出数据,节点如下。