GLSL 效果示例
拉丝金属:让高光沿细纹方向拉长
旋转拉丝方向,细纹与高光长轴一起转动。
在线示例
修改右侧代码,左侧预览会实时更新。
观察什么
旋转拉丝方向,细纹与高光长轴一起转动。
实现原理
高频纹理和长条高光共享同一个旋转坐标,方向改变时二者一起旋转。
找到控制效果的代码
vec2 q=rot(u_parameter*3.14159)*p;float grain=noise(vec2(q.x*5.,q.y*350.));float h=pow(max(0.,1.-abs(q.y+.15*sin(u_time*.3))),18.);c=vec3(.3,.34,.38)*(.65+.25*grain)+vec3(1.,.85,.65)*h;
动手修改
把 u_parameter 从 0 调到 0.5,rot(u_parameter*3.14159) 的角度会从 0 变成约 90 度。细纹与拉长的亮带一起旋转,因为两者都读取 q 坐标。
调试与成本
该材质用一次噪声调用生成细纹,并未计算基于纹理的各向异性光照。把 q.y*350. 降为 q.y*100.,细带会变宽,在较小预览中也更不容易闪动。