地理坐标转球体笛卡尔坐标的UE蓝图实现故障排查
地理坐标转球体笛卡尔坐标的问题修复
公式错误修正
你当前使用的转换公式存在错误,正确的球体笛卡尔坐标(球心为原点,Y轴指向北极)转换公式应为:
x = R * cos(lat_rad) * cos(lon_rad) y = R * sin(lat_rad) z = R * cos(lat_rad) * sin(lon_rad)
原公式里的y、z项计算逻辑混淆,且经度的位置错误,这是导致点位置偏移的核心原因之一。
蓝图逻辑修正
除了公式错误,还有一个关键问题:UE蓝图的三角函数节点默认使用弧度值,但地理经纬度是度数,直接代入计算会完全偏离正确位置。你需要按以下步骤调整蓝图:
- 先通过
Degrees to Radians节点,把输入的纬度、经度分别转换成弧度值 - 用修正后的公式计算x、y、z坐标
- 将计算得到的笛卡尔坐标作为相对位置,叠加到球体的球心位置上(确保你的球体Actor原点处于球心)
内容的提问来源于stack exchange,提问作者Fabian_Olczak
相关产品推荐
相关产品推荐

