lightPosition
lightPosition
在 TSL 中,自动提供指定 `THREE.Light` 对象的世界空间位置(`vec3`),是所有光照计算的基础。
核心优势
完全自动化了将光源位置传递给着色器的过程,开发者无需手动创建和逐帧更新 uniform。这使得着色器逻辑与场景管理解耦,代码更简洁、健壮。
常见用途
计算光照方向向量(L),用于实现自定义的漫反射和镜面高光光照模型。
计算片元与点光源的距离,以实现正确的光照衰减效果。
作为体积光、光束等特效的几何发射源。
用于调试,将光源位置可视化为颜色以验证数据传递。
如何调整
此节点的值无法直接调整。它的值由你在 JavaScript 场景图中操控其关联的 `THREE.Light` 对象的位置来决定(例如,改变 `myLight.position` 或移动其父对象)。该节点会自动更新以反映这些变化。
代码示例
1// 获取从表面指向光源的方向向量,用于光照计算
2const lightDirection = lightPosition( myLight ).sub( positionWorld ).normalize();