getParallaxCorrectNormal
getParallaxCorrectNormal
校正局部环境反射的视差错误,使反射效果在有限空间(如房间)内具备正确的空间感和立体感,而非像一张“贴纸”。
核心优势
以极低的性能成本,实现效果逼真的局部反射视差校正。它封装了复杂的射线-包围盒相交算法,极大提升了场景的真实感和沉浸感。
常见用途
室内建筑可视化
汽车或产品展示
游戏中的镜子或水坑
博物馆玻璃展柜
如何调整
调整定义环境包围盒的 `cubeSize` 和 `cubePos`。`cubeSize` 越小,视差效果越明显;越大,则效果趋近于无视差的标准环境贴图。`cubePos` 必须与生成环境贴图的 CubeCamera 的中心位置精确匹配,否则反射会发生错位。此节点假定环境贴图是在这个包围盒的六个面上“拍摄”的。
代码示例
1// 计算初始反射向量
2const reflectVec = reflect( viewDirection, worldNormal );
3
4// 基于环境包围盒,对反射向量进行视差校正
5const parallaxCorrectedNormal = getParallaxCorrectNormal( reflectVec, envMapPosition, envMapSize );