split
split
一个基础节点,用于从多通道向量(如颜色 vec4 或坐标 vec3)中提取、分离或重排单个或多个数据通道。
核心优势
它使得对向量的特定分量(如颜色的R/G/B通道或位置的X/Y/Z轴)进行独立操作成为可能,是实现通道打包、色差效果和程序化动画等高级技术的基础。
常见用途
从打包纹理中提取遮罩
实现色差(Chromatic Aberration)效果
程序化顶点动画
如何调整
通过改变其 `channels` 字符串参数,可以精确选择要提取的通道(如 'r', 'gb', 'xy')或改变它们的顺序(如 'bgr'),从而实现通道分离、数据重组或通道混洗(Swizzling)。
代码示例
1// 从一个颜色向量中提取绿色通道 (float)
2const greenChannel = split( colorNode, 'g' );
3
4// 对一个位置向量的通道进行重排 (Swizzling)
5const swizzledPos = split( positionNode, 'xzy' );