Размещение моделей на местности
Я пытаюсь разместить свои 3d модели на местности. Я следовал учебному пособию Sample Terrain. 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);