"Cesium 加载 JSON 模型贴地并保持旋转时位置不变"\n\n加载 Cesium 实体时,可以通过设置实体的 position 属性来指定其位置。要使实体贴地,可以将其高度设置为 0。示例如下:\n\njavascript\nvar viewer = new Cesium.Viewer('cesiumContainer');\n\nvar entity = viewer.entities.add({\n position : Cesium.Cartesian3.fromDegrees(-75.59777, 40.03883, 0),\n model : {\n uri : 'path/to/your/model.gltf',\n scale: 1.0\n }\n});\n\nviewer.scene.preUpdate.addEventListener(function(scene, time) {\n var position = entity.position.getValue(time);\n var surfacePosition = Cesium.Cartesian3.fromRadians(Cesium.Cartographic.fromCartesian(position).longitude, Cesium.Cartographic.fromCartesian(position).latitude, 0);\n entity.position = surfacePosition;\n});\n\n\n在上面的示例中,我们首先创建了一个 Cesium 的 Viewer 实例。然后,我们通过 viewer.entities.add 方法添加了一个实体,设置了其位置为指定的经纬度,并加载了一个模型。接下来,我们使用 viewer.scene.preUpdate 事件来监听场景更新的过程,每次更新时,我们将实体的位置重新计算为贴地的位置,并将其赋值给 entity.position 属性。\n\n这样,无论实体如何旋转,其位置都将保持贴地不变。

Cesium 加载 JSON 模型贴地并保持旋转时位置不变

原文地址: https://www.cveoy.top/t/topic/pZIb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录