zoukankan      html  css  js  c++  java
  • ArcEngine 3D开发之动画1——动画的两种实现方式

    动画的实现方式主要有两种:IAnimationTrack和ICamera。

    一、Animation

    (1)、基于关键帧

    (2)、设置每个关键帧的ImeStamp来确定播放时间(该帧占总播放时间的百分比)

    (3)、便于使用,集成了视频输出接口。可输出.AVI

    二、Camera

    两个位置

    - Observer:Camera所在的位置
    - Target:Camera所指向的位置
    • 获取位置
    - GetObserverLatLonAlt
    - GetTargetLatLonAlt
    • 设置位置
    - SetObserverLatLonAlt
    - SetTargetLatLonAlt

    - 注意:这两个方法所设置的高度的单位必须是千米

    • 实现方式
    - 通过设置GlobeCamera的Observer和Target来控制视角。
    - 使用Timer控制来控制时间。
    • 特点:
    - 麻烦!
    - 可精确控制,实现Animation所不能实现的功能

    三、ArcGlobe中的导航模式

    (1)ArcGlobe下的导航模式是通过 使用照相机对象实现的。所有 3D 视图都对应一个包含观察点位置(observer,照相机在3D视图中的位置)和目标位置(Target,  即照相机对准的3D点)的照相机。

    (2)所有的3D导航方法都是通过控制以XYZ表示的Observer和Targeter的位置来实现的。

    - 移动观察点位置来从不同角度查看同一点。
    - 移动目标位置来从同一个位置查看其他点。
    - 同时移动观察点和目标位置可以在 3D 视图中飞行或移动到全新区域。

    四、综合比较两种方式,基于Camera的实现方法较为精确,但是较为复杂,需要不停的变换Observer和Targeter的位置。基于Animation的方法则创建关键帧,通过控制播放时间来实现动画。接下来的博文将分别介绍基于以上两种方法所实现的动画。




  • 相关阅读:
    Bootstrap 2.2.2 的新特性
    Apache POI 3.9 发布,性能显著提升
    SQL Relay 0.48 发布,数据库中继器
    ProjectForge 4.2.0 发布,项目管理系统
    红帽企业 Linux 发布 6.4 Beta 版本
    红薯 快速的 MySQL 本地和远程密码破解
    MariaDB 宣布成立基金会
    Percona XtraBackup 2.0.4 发布
    Rocks 6.1 发布,光盘机群解决方案
    精通Servlet研究,HttpServlet的实现追究
  • 原文地址:https://www.cnblogs.com/giser-whu/p/3720022.html
Copyright © 2011-2022 走看看