cesium设置线贴地和开启地形深度检测

ps :cesium各个版本下载 https://cesium.com/downloads/cesiumjs/
一、clampToGround属性设置线是否贴地,默认为flase,不贴地
在这里插入图片描述

在这里插入图片描述

二、开启地形深度检测

ex: viewer.scene.globe.depthTestAgainstTerrain = true; //默认为false
开启地形检测后,会计算其他地理要素和地形之间的遮挡关系。未开启时,将会出现场景变化时,地物位置显示不正确。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Cesium 中,要设置 plane 面地属性,可以在创建 `GeometryInstance` 对象时设置 `modelMatrix` 属性。具体代码如下: ``` var planeGeometry = new Cesium.PlaneGeometry({ vertexFormat: Cesium.VertexFormat.POSITION_ONLY, }); var planeInstance = new Cesium.GeometryInstance({ geometry: planeGeometry, modelMatrix: Cesium.Transforms.eastNorthUpToFixedFrame(position), }); var planePrimitive = new Cesium.Primitive({ geometryInstances: planeInstance, appearance: new Cesium.MaterialAppearance({ translucent: true, material: new Cesium.Material({ fabric: { type: "Color", uniforms: { color: new Cesium.Color(1.0, 0.0, 0.0, 0.5), }, }, }), }), }); viewer.scene.primitives.add(planePrimitive); ``` 在上面的代码中,`modelMatrix` 属性使用 `Cesium.Transforms.eastNorthUpToFixedFrame(position)` 方法设置为 `position` 的东北天坐标系。这样,创建的 plane 对象就会自动地形表面上。同时,`appearance` 属性使用 `Cesium.MaterialAppearance` 类型,并设置 `translucent` 属性为 `true`,表示可以透视渲染,实现半透明效果。 如果需要调整 plane 的高度,可以在 `modelMatrix` 中通过 `Cesium.Matrix4.multiplyByTranslation` 方法添加一个偏移矩阵来实现。例如,将 `position` 坐标的高度增加 100 米,代码如下: ``` var planeInstance = new Cesium.GeometryInstance({ geometry: planeGeometry, modelMatrix: Cesium.Matrix4.multiplyByTranslation( Cesium.Transforms.eastNorthUpToFixedFrame(position), new Cesium.Cartesian3(0.0, 0.0, 100.0), new Cesium.Matrix4() ), }); ``` 上述代码中,将 `Cesium.Transforms.eastNorthUpToFixedFrame(position)` 方法返回的矩阵与一个偏移量 `(0.0, 0.0, 100.0)` 相乘,得到新的 `modelMatrix` 矩阵。这样创建的 plane 对象就会高出地形表面 100 米。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值