阅读:1628回复:0
cesium 加载 glb模型问题
https://ask.csdn.net/questions/8069956
在Cesium中加载一个包含线框的GLB模型,并实现点击变色和圆截面贴图的功能,可以按照以下步骤进行:
var viewer = new Cesium.Viewer('cesiumContainer'); // 假设你的glb文件路径 var glbPath = 'path/to/your/cameraFrustum.glb'; var modelEntity = viewer.entities.add({ name: 'Camera Frustum', model: { uri: glbPath, minimumPixelSize: 64, maximumScale: 10000, scale: 1, // 按需调整模型缩放比例 }, }); viewer.zoomTo(modelEntity); // 自动调整视角以便看到整个模型 3.添加点击事件与变色功能 为了支持点击变色,需要监听模型实体的鼠标点击事件,然后更改其材质颜色: var originalColor; viewer.screenSpaceEventHandler.setInputAction(function(movement) { var pickedObject = viewer.scene.pick(movement.position); if (Cesium.defined(pickedObject) && pickedObject.id === modelEntity) { if (!Cesium.defined(originalColor)) { originalColor = modelEntity.model.color.getValue(); // 保存原始颜色 } // 更改模型的颜色 modelEntity.model.color = Cesium.Color.RED; // 或者你想要的任何颜色 } }, Cesium.ScreenSpaceEventType.LEFT_CLICK); // 可以再添加一个右键或双击事件来恢复原始颜色 viewer.screenSpaceEventHandler.setInputAction(function(movement) { if (Cesium.defined(originalColor)) { modelEntity.model.color = originalColor; originalColor = undefined; } }, Cesium.ScreenSpaceEventType.RIGHT_CLICK);
|
|