动画分析
来源:互联网 发布:空气曲棍球 淘宝 编辑:程序博客网 时间:2024/06/07 03:43
1. SceneNode Animation是根据mInitPosition等进行的,而不是根据当前的位置移动;
2. 如果想设置为根据当前的位置进行移动,则需要在动画开始前设置setInitialState,将当前状态作为动画的起始状态;
3. 动画结束后,不会恢复到原来的位置,而是动画结束时候的位置(说明动画的最后变换是写到了Node中的mPosition, mOrientation, mScale中了);
4.结论:ogre如何实现了节点动画?
4.1 从Animation中得到两个帧,插值两个变换得到中间状态;
4.2 将插值得到的变换加上mInitPosition得到最后的变换;
4.3 动画中的关键帧保存的是相对动画起始位置的变换,而不是相对上一个关键帧的变换;
4.4 动画的最终结果是保存在mPosition等中的,后面如果对该节点进行变换操作,是相对于动画结束的位置进行的。
4.5 动画的执行实在SceneManager中的_applySceneAnimations函数中进行的,每次调用_renderScene时都会调用该函数,前者先调用resetToInitialState使Node回到m_InitPosition的状态,然后调用Animation的apply函数得到插值的变换,在作用到Node上去。
2. 如果想设置为根据当前的位置进行移动,则需要在动画开始前设置setInitialState,将当前状态作为动画的起始状态;
3. 动画结束后,不会恢复到原来的位置,而是动画结束时候的位置(说明动画的最后变换是写到了Node中的mPosition, mOrientation, mScale中了);
4.结论:ogre如何实现了节点动画?
4.1 从Animation中得到两个帧,插值两个变换得到中间状态;
4.2 将插值得到的变换加上mInitPosition得到最后的变换;
4.3 动画中的关键帧保存的是相对动画起始位置的变换,而不是相对上一个关键帧的变换;
4.4 动画的最终结果是保存在mPosition等中的,后面如果对该节点进行变换操作,是相对于动画结束的位置进行的。
4.5 动画的执行实在SceneManager中的_applySceneAnimations函数中进行的,每次调用_renderScene时都会调用该函数,前者先调用resetToInitialState使Node回到m_InitPosition的状态,然后调用Animation的apply函数得到插值的变换,在作用到Node上去。
- 动画分析
- Android 动画分析之Tween动画分析
- Android 动画分析之Tween动画分析
- android 动画模块 分析
- 分析android动画模块
- 分析android动画模块
- 分析android动画模块
- 分析android动画模块
- Animation 动画模块分析
- 分析android动画模块
- android 动画模块分析
- android 动画分析
- 分析android动画模块
- 分析android动画模块
- android 动画分析
- android 动画模块 分析
- 分析android动画模块
- 开机动画流程分析
- cache组相连,页着色
- 黑马程序员_关于内部类和外部类的调用关系
- 黑马程序员_内部类的访问规则:
- [gkk]会员注册与激活
- SQLServer 2008以上误操作数据库恢复方法——日志尾部备份
- 动画分析
- VS2010扩展VAX的安装使用
- Java:理解Java中函数参数传递的【按值传递】和【按引用传递】
- iOS开发视频教程 UI部分:2.iOS平台开发限制和方式
- 最短路1008与1009
- Two star programming(对话Linus Torvalds:大多黑客甚至连指针都未理解)
- sqldatasource bind gridview (date between)
- HTTP 501 错误 – 未实现 (Not implemented) .
- iOS开发视频教程 UI部分:3、Hello World