C1—— cesium相机

相机操作entities加载时提供了较为方便的 viewer.trackedEntity 函数;

方法 2追踪 model 较为复杂,需要手动操作相机变换。


// primitives加载时锁定相机
viewer.scene.screenSpaceCameraController.enableRotate = false;//锁定相机
let model = viewer.scene.primitives.add( new Cesium.Model.fromGltf({
    url : '../src/data/GLTF/dazuBIM.gltf',
    modelMatrix : modelMatrix,
    scale : 1,
}) );
model.readyPromise.then(function(argument) {
    viewer.scene.screenSpaceCameraController.enableInputs = true;//解除锁定相机
});

一个完整的相机

viewer.camera.setView
viewer.camera.flyTo({
  duration: duration,
  destination: cameraTransform.destination,
  orientation: {
    direction: cameraTransform.direction,
    up: cameraTransform.up,
  },
  easingFunction: Cesium.EasingFunction.QUADRATIC_IN_OUT,
  duration: 5, // 设置飞行持续时间,默认会根据距离来计算
  complete: function() {}, // 到达位置后执行的回调函数
  cancle: function() {}, // 如果取消飞行则会调用此函数
  pitchAdjustHeight: -90, // 如果摄像机飞越高于该值,则调整俯仰俯仰的俯仰角度,并将地球保持在视口中。
  maximumHeight: 5000, // 相机最大飞行高度
  flyOverLongitude: 100, // 如果到达目的地有2种方式,设置值后会强制选择方向飞过这个经度(这个,很好用)
});
viewer.trackedEntity = label;  
viewer.trackedEntity = undefined;

Cesium 中两种添加 model 方法的区别 - flypopo - 博客园。添加对象看了很多觉得这篇文章哦总结的比较好

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值