








var longitude = 121d;
var latitude = 37d;
var height = 0d;
double3 d3 = GameObject.Find("CesiumGeoreference").GetComponent<CesiumGeoreference>().TransformEarthCenteredEarthFixedPositionToUnity(CesiumWgs84Ellipsoid.LongitudeLatitudeHeightToEarthCenteredEarthFixed(new double3(longitude, latitude, height)));
Vector3 position = new Vector3((float)d3.x, (float)d3.y, (float)d3.z);
Cesium 可以处理以下坐标系:
纬度、经度、海拔高度:表示地球上某个位置的地理坐标
ECEF (Earth-Centered, Earth-Fixed) : 以地球中心为原点的地球固定坐标系
使用 Cesium 时,您需要注意 Unity 空间中的地理坐标和坐标 (x,y,z)。
例如,如果 Unity 的坐标为 (0,0,0),则需要将地理坐标转换为 (35.68958,139.6917,200)。
Cesium 具有使这些转换更容易的功能。
CesiumGeoreference
TransformUnityPositionToEarthCenteredEarthFixed() :将坐标从 Unity 转换为 ECEF
TransformUnityDirectionToEarthCenteredEarthFixed() :将方向从 Unity 转换为 ECEF
TransformEarthCenteredEarthFixedPositionToUnity() :将坐标从 ECEF 转换为 Unity
TransformEarthCenteredEarthFixedDirectionToUnity() :将方向从 ECEF 转换为 Unity
CesiumGlobeAnchor
sync():即时同步 Untiy 坐标系和地理坐标
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。