osgEarth AnimationPath路径动画
目录
osg::AnimationPath 封装了一个随时间变化的过程,可以用来更新相机位置和模型对象的位置。
飞机飞行实例
-
void doAPreLine()
-
{
-
osg::ref_ptr<osg::Vec4Array> vaTemp = new osg::Vec4Array;
-
-
// 设置飞行路径
-
vaTemp->push_back(osg::Vec4(109.1347, 34.3834, 437, 50));
-
vaTemp->push_back(osg::Vec4(109.1347, 34.3834, 487, 80));
-
vaTemp->push_back(osg::Vec4(109.1174, 34.3686, 500, 80));
-
vaTemp->push_back(osg::Vec4(108.8794, 34.1944, 3000, 200));
-
vaTemp->push_back(osg::Vec4(107.1302, 34.3941, 5000, 200));
-
vaTemp->push_back(osg::Vec4(108.9387, 34.9202, 8000, 200));
-
vaTemp->push_back(osg::Vec4(109.5066, 34.51, 8000, 200));
-
vaTemp->push_back(osg::Vec4(109.1347, 34.3834, 437, 200));
-
osg::ref_ptr<osg::AnimationPath> apc = new osg::AnimationPath(vaTemp);
-
-
// 创建动画回调
-
osg::ref_ptr<osg::AnimationPathCallback> animationPath = new osg::AnimationPathCallback(apc, 0, 1);
-
// 调用动画回调 (mtfly 是飞机矩阵)
-
mtfly->addUpdateCallback(animationPath);
-
-
}
路径动画暂停
-
// 路径动画暂停
-
animationPath->setPause(true);
路径动画继续
-
// 路径动画继续
-
animationPath->setPause(false);
osgEarth 视角跟踪飞机飞行
相机跟踪飞机移动
-
osg::ref_ptr<osgEarth::Util::EarthManipulator> em; // 地球操作器
-
-
// 跟踪飞机移动 (flyAirport 是 飞机节点)
-
em->setTetherNode(flyAirport);
视角移动到特定地点
-
// 新建视点
-
osgEarth::Viewpoint vp;
-
// 设置视点位置
-
vp.setNode(flyAirpoit);
-
// 设置距离
-
vp.setRange(1500);
-
// 设置水平角度和垂直角度
-
vp.setHeading(-13);
-
vp.setPitch(-42);
-
// 设置视点 (参数:视点 和 转移到视点的时间(单位秒))
-
em->setViewpoint(vp, 5);
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibccba
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22