Cesium For Unity Convert WGS84 to Earth Centered Earth Fixed
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 坐标系和地理坐标 
 
- 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号