Shader效果 - 鱼鳞纹生成
效果

实现思路
- 确定A系列的圆的圆心距离,使用
_DEBUG_DISTANCE_A显示如下图

- 同理,所有圆偏移坐标
float2(0.5,0.5)得 B系列的圆心距离 - 基于圆心距离和给定半径确定出系列圆A和B,使用
_DEBUG_RANGE_A显示如下

- 根据鱼鳞层次优先级,确定A和B系列圆的显示访问,使用
_DEBUG_SCALE_A显示如下

- 给A和B系列圆上色并混合,使用
_DEBUG_COLORAB显示如下

- 两系列圆之间的缝隙需要填补,可以
1 - scale_a - scale_b确定出范围并上色,得到最终效果:

代码
https://github.com/LazyunGame/ShaderEffects/blob/master/Assets/FishScaleShader/FishScale.shader