radians
radians
一个函数节点,用于将开发者直观的“角度”单位(Degrees)转换为着色器中三角函数所需的“弧度”单位(Radians)。
核心优势
极大地提升了代码的可读性和开发的直观性。它允许开发者使用熟悉的角度单位(如 90, 180)进行思考和编码,同时确保与底层 GLSL/WGSL 的 `radians()` 函数无缝对接,保证了性能和行为的一致性。
常见用途
通过 Uniform 变量使用“度”单位来直观地控制模型旋转。
在程序化生成图案(如螺旋线、径向渐变)时,将角度参数转换为 `sin/cos` 函数所需的弧度输入。
实现聚光灯效果时,将以“度”为单位设置的光锥角转换为弧度,用于光照计算。
作为 `degrees()` 节点的逆运算,是 TSL 单位转换体系的基础。
如何调整
调整该节点的输入值(度)会线性地改变其输出的弧度值,从而直观地影响最终视觉效果。例如,将输入从一个固定值 `radians(90)` 改为与时间相关的 `radians(timerLocal().mul(60))`,可以将静态旋转变为每秒旋转60度的连续动画。同样,通过一个 uniform 变量控制输入角度,可以动态调整程序化纹理的频率或密度。
代码示例
1// 假设 angleInDegrees 是一个以“度”为单位的节点, e.g., uniform(90)
2const angleInRadians = radians( angleInDegrees );
3
4// 现在 angleInRadians 可以被 sin, cos 等函数安全使用
5const result = sin( angleInRadians );