查看: 1846|回复: 5

记录下场景操作

[复制链接]

该用户从未签到

发表于 2011-7-29 14:33:32 | 显示全部楼层 |阅读模式
我想实现一个类似于游戏里面的回放功能,就是把在场景中做过的操作,比如说动画等过程记录下来,保存成一个文件。

不知道在osg里有没有类似的这种工具能实现这样的功能,做成录屏软件一样,把操作录下来。

该用户从未签到

发表于 2011-7-29 16:31:57 | 显示全部楼层
我记得是osgAnimation.path 文件可以记录,你看看FreeSouth的书里有一章提到了。至于录制和播放都内置有函数和类。

该用户从未签到

 楼主| 发表于 2011-7-29 16:33:43 | 显示全部楼层
回复 2# CWorld


    那个是记录相机漫游路径的,它不能记录下场景中进行的操作。

    请问录制和播放的内置的类是什么?

该用户从未签到

发表于 2011-7-30 16:44:12 | 显示全部楼层
本帖最后由 CWorld 于 2011-7-30 16:46 编辑

1 仔细看看你的问题,还真是,我查osg的源代码,对于视点记录的类的是AnimatphPath。播放视点的就是  AnimathonPathManipulator。

2.1至于记录某个物体的操作,记得以前上OpenGL的课,老师讲过,仿真回放,有锁定视点和不锁定视点两类。 2.1  我觉得你说的属于第二种,那么需要保存的就是模型视图矩阵中对模型操作的部分,说白了就是,在每次仿真时间的间隔,保存模型的缩放,旋转,平移矩 阵的关键点。然后记录到一个文件,然后对这个物体进行运动路径的播放。
  2.2 osg对视点的操作已经帮我们搭好了一个记录,获取矩阵,以及播放的框架和例子。

  2.3 理论上在osg里对物体的回放也应该可以这么做,但是我仔细想了想,对于单个物体似乎这么做还可以,如果场景中多个物体都运动呢?,而且节点的矩阵  关系怎么计算和使用?也没想到好的办法,这个可以问问Array等大神。

3 :这是osg官网上,我按照“osg simulation replay”关键字搜索时找到的一个帖子 http://forum.openscenegraph.org/viewtopic.php?t=991&view=previous帖子,我看了半天,似乎也没有什么解答。

该用户从未签到

 楼主| 发表于 2011-7-31 20:31:41 | 显示全部楼层
回复 4# CWorld


    虽然还是没搞懂,但还是谢谢你的回答。

该用户从未签到

发表于 2011-8-1 12:40:23 | 显示全部楼层
归根结底都是场景节点的回调更新
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表