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的方法则创建关键帧,通过控制播放时间来实现动画。接下来的博文将分别介绍基于以上两种方法所实现的动画。




原文地址:https://www.cnblogs.com/giser-whu/p/3720022.html