2016-11-21 2 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); 
Смежные вопросы