You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

变换矩阵如何从右手坐标系转换为左手坐标系(光线追踪场景适用)

光线追踪左右手坐标系环境光照适配方案

问题1:球面坐标适配调整

需要修改参考资料的球面坐标转笛卡尔坐标逻辑:
参考资料右手系(Y向上、X向右、Z朝屏幕内)的默认转换公式为:

dir.x = cos(azimuth) * sin(polar)
dir.y = cos(polar)
dir.z = sin(azimuth) * sin(polar)

适配到你的左手系(Z朝屏幕外/向前),只需要将最终输出的方向向量Z分量取反即可,不需要调整方位角、极角的采样逻辑。如果测试时发现环境贴图左右翻转,可额外将方位角替换为2π - azimuth再代入计算。

问题2:世界空间变换矩阵调整

仅对Z分量取反不足以覆盖所有场景,需按不同矩阵类型处理:

  • 切空间→世界空间的TBN矩阵:
    参考资料右手系中副切线(Bitangent)的计算规则为cross(normal, tangent),左手系需要将叉乘顺序翻转,改为cross(tangent, normal)即可,比手动修改Z分量出错概率更低。
  • 模型/相机空间→世界空间的变换矩阵:
    你可以选择两种方案任意一种:
    • 所有从参考资料逻辑导出的坐标、方向向量导入你的引擎前,统一对Z分量取反
    • 在变换矩阵的Z轴缩放位(第三行第三列)填-1,一次性完成坐标系转换
  • 现有引擎内的前后遮挡判断、光线方向校验逻辑不需要修改,和你左手系Z值越大越靠前的规则完全对齐。

内容的提问来源于stack exchange,提问作者Marco Altieri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:57:05