Cesium入门12 - Camera Modes - 相机模式

Cesium入门12 - Camera Modes - 相机模式

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

为了展现我们的无人机飞行,让我们用相机模式进行实验。我们将保持简单的两个基本的相机模式,用户可以切换之间。

  • Free Mode : 默认相机控制。
  • Drone Mode : 让相机跟随无人机通过飞行在一个固定的距离。

自由模式不需要代码,因为它使用默认控件。至于无人机跟随模式,我们可以使用摄像机的内置实体跟踪功能来定位摄像机,并用偏移量定位无人机。这就使得相机即使在移动时也能从指定的实体中得到固定的偏移量。为了跟踪一个实体,我们简单地设置viewer.trackedEntity

要切换到自由相机模式,我们可以将viewer.trackedEntity实体设置为未定义,然后使用camera.flyTo()返回到我们的Home视角。

以下是相机模式的函数:

// Create a follow camera by tracking the drone entity
function setViewMode() {
    if (droneModeElement.checked) {
        viewer.trackedEntity = drone;
    } else {
        viewer.trackedEntity = undefined;
        viewer.scene.camera.flyTo(homeCameraView);
    }
}

为了把这个附加到HTML输入,我们可以附加这个函数来change事件到适当的元素上:

var freeModeElement = document.getElementById('freeMode');
var droneModeElement = document.getElementById('droneMode');

// Create a follow camera by tracking the drone entity
function setViewMode() {
    if (droneModeElement.checked) {
        viewer.trackedEntity = drone;
    } else {
        viewer.trackedEntity = undefined;
        viewer.scene.camera.flyTo(homeCameraView);
    }
}

freeModeElement.addEventListener('change', setCameraMode);
droneModeElement.addEventListener('change', setCameraMode);

最后,当用户双击实体时,实体会被自动跟踪。如果用户通过单击开始跟踪无人机,我们可以添加一些处理来自动更新UI。

viewer.trackedEntityChanged.addEventListener(function() {
    if (viewer.trackedEntity === drone) {
        freeModeElement.checked = false;
        droneModeElement.checked = true;
    }
});

这是我们的两个相机模式-我们现在可以自由切换到无人机相机视角,看起来像这样:


image

Cesium中文网交流QQ群:807482793

Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 美国恐怖故事系列很多的凶杀啊凶宅啊都是有真实事件依据的,像是疯人院那季的疯人院,旅馆那季的旅馆等。 这季第二季播出...
    安迩東阅读 5,405评论 0 2
  • 你该怎么样真是一句讨人厌的话被操控的木偶身后却是自我满意乐此不疲 牵线下前行没有达到希冀的从无想要的错了全是自己我...
    花遥阅读 3,051评论 0 3
  • 所以,对于提示一个人生活态度形成的最初环境,儿童期的早期记忆极为有用。早期记忆之所以有特殊作用,原因有二:其一,它...
    丶青衣素酒灬阅读 2,875评论 0 0
  • 人生的岔路口,一转身就是一世。 这是继《我可能不会爱你》之后,看到的一部有意义的台剧。一改我对杨丞琳甜心教主的印象...
    草莓简溪阅读 4,558评论 9 10