cesium HeightReference详解

58 篇文章 2 订阅

HeightReference指相对于地形的位置,只和地形有关系,和三维模型没有关系。

一、NONE

NONE是绝对高度,是entity距离椭球表面(椭球无地形)的距离,比如entity高度为130,不管场景中是否有地形,entity都在距离椭球表面130米的位置。如果此时有地形,并且地形高度为120,那么entity距离地形的距离就是10。

let car = viewer.entities.add({
                position: Cesium.Cartesian3.fromDegrees(119.181807, 28.140487, 130),
                model: {
                    uri: "./data/car.gltf",
                    heightReference: Cesium.HeightReference.NONE,
                },
            });

二、CLAMP_TO_GROUND

CLAMP_TO_GROUND指该位置与地形相适应,意思就是entity贴地。比如entity高度为130,如果场景中有地形,地形高度为120,此时entity贴地形,高度为120;如果场景中没有地形,此时entity贴在椭球表面,高度为0。因此只要设置CLAMP_TO_GROUND,entity本身的高度就没有意义了,entity实际高度由场景中是否有地形决定。

let car = viewer.entities.add({
                position: Cesium.Cartesian3.fromDegrees(119.181807, 28.140487, 130),
                model: {
                    uri: "./data/car.gltf",
                    heightReference: Cesium.HeightReference.CLAMP_TO_GROUND,
                },
            });

三、RELATIVE_TO_GROUND

RELATIVE_TO_GROUND指该位置相对于地形的高度,此时设置entity的高度就是一个相对于地形的相对值。比如设置entity为10,如果场景中没有地形,那么entity就距离椭球表面高度为10;如果场景中有地形,并且地形高度为120,那么entity就距离地形高度为10,此时entity距离椭球表面的高度就是120+10=130;

let car = viewer.entities.add({
                position: Cesium.Cartesian3.fromDegrees(119.181807, 28.140487, 10),
                model: {
                    uri: "./data/car.gltf",
                    heightReference: Cesium.HeightReference.RELATIVE_TO_GROUND,
                },
            });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值