diff --git a/public/models/dam/Binary_0.jpeg b/public/models/dam/Binary_0.jpeg new file mode 100644 index 000000000..f8b41cc38 Binary files /dev/null and b/public/models/dam/Binary_0.jpeg differ diff --git a/public/models/dam/Binary_0.png b/public/models/dam/Binary_0.png deleted file mode 100644 index 392472a99..000000000 Binary files a/public/models/dam/Binary_0.png and /dev/null differ diff --git a/public/models/dam/Binary_2.jpeg b/public/models/dam/Binary_2.jpeg index f759cf145..4d56f4f92 100644 Binary files a/public/models/dam/Binary_2.jpeg and b/public/models/dam/Binary_2.jpeg differ diff --git a/public/models/dam/gszh_xyz.gltf b/public/models/dam/gszh_xyz.gltf index 1867ccf7a..e860eecad 100644 --- a/public/models/dam/gszh_xyz.gltf +++ b/public/models/dam/gszh_xyz.gltf @@ -399,20 +399,20 @@ }, { "matrix": [ - 0.13457144796848297, - 0.05683456361293792, - 1.9052840471267698, + 0.12910610437393183, + 0.06834746152162549, + 1.90528392791748, 0, - 1.7006011009216306, - 0.8591647148132323, - -0.14574338495731354, + 1.619248628616333, + 1.0041124820709224, + -0.14574383199214935, 0, - -0.8609851002693176, - 1.7058898210525513, - 0.009925499558448792, + -1.006386876106262, + 1.6243585348129272, + 0.009925223886966702, 0, - -211.75634375, - -23.153990234375, + -209.250546875, + -16.30928515625, 18.9017890625, 1 ], @@ -1633,16 +1633,16 @@ "alphaMode": "OPAQUE" }, { - "name": "fallback Material", + "name": "node1", "pbrMetallicRoughness": { "baseColorFactor": [ - 0, - 0, - 0, + 0.76052450467022, + 0.76052450467022, + 0.76052450467022, 1 ], "metallicFactor": 0, - "roughnessFactor": 1 + "roughnessFactor": 0 }, "emissiveFactor": [ 0, @@ -4243,7 +4243,7 @@ ], "images": [ { - "uri": "Binary_0.png" + "uri": "Binary_0.jpeg" }, { "uri": "Binary_1.jpeg" diff --git a/src/views/Home/MapCtrl/Map3D/Map3D.js b/src/views/Home/MapCtrl/Map3D/Map3D.js index 4bd4f25d9..7598300f7 100644 --- a/src/views/Home/MapCtrl/Map3D/Map3D.js +++ b/src/views/Home/MapCtrl/Map3D/Map3D.js @@ -128,7 +128,7 @@ export default class Map3D extends BaseMap { viewer.scene.globe.enableLighting = false; //关闭光照 - viewer.scene.light.intensity = 12 //默认光源强度,太低了模型显示效果差 + viewer.scene.light.intensity = 6 //默认光源强度,太低了模型显示效果差 viewer.shadows = false;//关闭阴影 viewer.scene.globe.depthTestAgainstTerrain = false;//解决地形遮挡entity问题 @@ -243,19 +243,7 @@ export default class Map3D extends BaseMap { }); this.layerMgr = new LayerMgr3D(viewer); - this.demo = new Demo3D() - - this.demo.getGltf(viewer) //模型 - this.demo.getWxyx(viewer) //卫星影像 - this.demo.getQxsy(viewer) //倾斜摄影 - this.demo.getDem(viewer) //地形图 - // this.demo.getCzml2(viewer) //demo - // this.demo.getWater(viewer)//简单淹没分析 - // this.demo.getWater2(viewer) - // this.demo.getRlt2(viewer) - // this.demo.getRlt3(viewer) //热力图 - // this.demo.getCzml(viewer) //czml模型 - + this.getDemo(viewer)//加载地图 viewer.scene.postRender.addEventListener(() => { this.dispatch.runtime.tickViewChanged(); @@ -378,4 +366,22 @@ export default class Map3D extends BaseMap { this._map.camera.flyToBoundingSphere(Cesium.BoundingSphere.fromPoints([p1, p2])); } } + + async getDemo(viewer) { + const demo = new Demo3D() + this.demo = demo + demo.getDem(viewer) //地形图 + demo.getWxyx(viewer) //卫星影像 + + await demo.getGltf(viewer) //模型 + demo.getQxsy(viewer) //倾斜摄影 先加载模型 + // demo.getDem(viewer) //地形图 + // this.demo.getCzml2(viewer) //demo + // this.demo.getWater(viewer)//简单淹没分析 + // this.demo.getWater2(viewer) + // this.demo.getRlt2(viewer) + // this.demo.getRlt3(viewer) //热力图 + // this.demo.getCzml(viewer) //czml模型 + + } } diff --git a/src/views/Home/MapCtrl/Map3D/demo.js b/src/views/Home/MapCtrl/Map3D/demo.js index 01c88731f..27c1b0421 100644 --- a/src/views/Home/MapCtrl/Map3D/demo.js +++ b/src/views/Home/MapCtrl/Map3D/demo.js @@ -8,31 +8,24 @@ export default class LayerMgr { } //加载模型 - getGltf(viewer) { - const position = Cesium.Cartesian3.fromDegrees(114.762545, 31.495885,133.5) - viewer.entities.add({ - position: position, - model: { - uri: `${process.env.PUBLIC_URL}/models/dam/gszh_xyz.gltf` , - // color: Cesium.Color.WHITE.withAlpha(1.0), // 调整颜色和透明度 - // colorBlendMode: Cesium.ColorBlendMode.MIX, // 尝试不同的混合模式 - // colorBlendAmount: 0.05, - // imageBasedLighting: { - // imageBasedLightingFactor: new Cesium.Cartesian2(1.0, 1.0) - // }, - shadows: Cesium.ShadowMode.DISABLED, - scale: 0.52, - runAnimations: false - }, - orientation: Cesium.Transforms.headingPitchRollQuaternion( - position, + async getGltf(viewer) { + + // 使用 fromGltfAsync 异步加载模型 + const model = await Cesium.Model.fromGltfAsync({ + url: `${process.env.PUBLIC_URL}/models/dam/gszh_xyz.gltf`, + modelMatrix: Cesium.Transforms.headingPitchRollToFixedFrame( + Cesium.Cartesian3.fromDegrees(114.762545, 31.495885, 133.5), new Cesium.HeadingPitchRoll( Cesium.Math.toRadians(-88.8), Cesium.Math.toRadians(0.05), Cesium.Math.toRadians(0) - ) - ) + ) + ), + scale: 0.52 }); + + // 将模型添加到场景的图元集合中 + viewer.scene.primitives.add(model); } getWater(viewer) { const positions = [