2016-11-21 1 views
0

지형에 내 3D 모델을 배치하려고합니다. 나는 Sample Terrain tutorial을 따라 갔다. Terrainprovider는 좌표의 높이를 제공하지만 내 모델을지면에 놓으 려 할 때 항상지면에 앉아있는 것은 아닙니다. 일부 좌표 모델은 대기 중에 나타납니다. (예 : 경도 : 96.12, 위도 : 22.02). 이 문제를 어떻게 해결할 수 있습니까? 지형의 표면에 모델을 배치 할 여지가 있습니까?지형에 모델 배치

명확하지 않은 경우 코드를 게시 할 수 있지만 샘플 지형 자습서와 매우 유사합니다.

답변

1

레이를 사용하여이 문제를 해결했다고 생각합니다.

let rayPos = new Cesium.Cartographic(pos.longitude, pos.latitude, pos.height + 100); 
    let rayCartesianPos = ellipsoid.cartographicToCartesian(rayPos); 
    let ray = new Cesium.Ray(rayCartesianPos, Cesium.Cartesian3.negate(rayCartesianPos, new Cesium.Cartesian3())); 
    let newCoords = viewer.scene.globe.pick(ray, viewer.scene); 
관련 문제