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.,细带会变宽,在较小预览中也更不容易闪动。

用到的内置函数

一步步学会这个效果