什么是Flow map

一张记录了2D向量信息的纹理

Flow map上的颜色(通常为RG通道) 记录该处向量场的方向

通过在shader中偏移uv再对纹理进行采样,来模拟流动效果

示例

UV映射

UV坐标用于查找纹理的颜色值

纹理映射,左边是UV坐标值,右边是采样结果

UV贴图:使用(R,G)颜色通道表示坐标(用于理解上图):黑色(0,0),绿色处(0,1),红色处(1,0),黄色处(1,1)

UV贴图上颜色相同处:意味着采样纹理时使用了同一位置

通过flowmap上带有的向量场信息对uv进行偏移后去干扰采样的过程

为什么要使用flowmap

类似UV动画,而非顶点动画。换言之,无需对模型顶点进行操作,易实现,运算开销小

不仅仅是水面,任何和流动相关的效果都可以采用flowmap

廉价 高效达到流动效果

可以制作流动的天空球