查看: 2962|回复: 16

求助:关于osg中模型动画的问题

[复制链接]

该用户从未签到

发表于 2009-8-24 15:54:00 | 显示全部楼层 |阅读模式
如何在osg中实现模型的动画效果,比如osg有个自带的glider.osg,如何旋转飞机的螺旋桨呢,使得在空中的飞行更具真实感。
还有就是用3dmax、creater、Deep等软件制作的模型,在里面实现了动画的效果,为什么导出ive或3ds格式后导入osg中就不没有动画效果了呢??
多谢高人指导,万分感谢!!

该用户从未签到

发表于 2009-8-24 16:29:24 | 显示全部楼层
旋转飞机的螺旋桨,就要取得螺旋桨对象,然后对其添加动画路径,例如AnimationPath
导出后没有效果很正常,因为导出插件(例如osgExp)没有做这些支持,而开源社区的好处就是您可以随时参与进行完善。

该用户从未签到

发表于 2009-8-24 20:44:36 | 显示全部楼层
要在creator等建模工具中添加DOF节点

该用户从未签到

 楼主| 发表于 2009-8-25 10:06:29 | 显示全部楼层
非常谢谢。

该用户从未签到

 楼主| 发表于 2009-8-25 10:27:37 | 显示全部楼层
再请教一下,使用AnimationPath对模型添加动画路径只是针对用osg本身生成的模型操作的,而本人现有很多模型,如飞机坦克舰艇之类,都是vrml格式的,由几个w3d格式组成,有一个xml格式的文件,用别的软件打开是能看到动画效果的,转到3dmax中是没有骨骼的,只是一些多边形加一些纹理材质。
版主的意思是OSGExp插件不支持动画导出,但是在osg中也没有办法获取模型具体对象,因为导入的模型就是一个对象了。不知道我说明白没有??
现在除了致力添加OSGExp相关支持外,还有没有别的方法实现导入模型的动画效果????
希望高手指点!!

该用户从未签到

发表于 2009-8-25 12:23:46 | 显示全部楼层
暂时没有

该用户从未签到

 楼主| 发表于 2009-8-25 12:44:13 | 显示全部楼层
??不过还是万分感谢!!
那就研究一下osgexp吧,这个东西有源码吗??

该用户从未签到

发表于 2009-8-25 12:58:59 | 显示全部楼层
有的。
此外我们完全可以获取导入的某个对象之后,再为其设置场景动画。3dsmax等建模软件中设置的动画效果和纹理效果永远不可能完整地导入到实时系统中来,因此不要过于依赖前者

该用户从未签到

 楼主| 发表于 2009-8-25 13:13:21 | 显示全部楼层
谢谢,刚找到了,在Sourceforge上下载了,0.9.6的。看看先。
可能我没有说清楚我之前的意思:导入的模型对象,是可以设置其场景动画的,这一点我已经实现了;我的意思是比如说导入一个飞机模型,让其在空中按一定轨迹运动,可以实现,可是让它的某个部位如螺旋桨也转动起来就实现不了了,我的飞机模型是在一个网站上下载的,vmrl格式的,用Deep和3dmax打开是有动画的,转化成ive或flt格式的就不动了。
如果建立一个虚拟场景,模型制作的工作量是非常大的,现有现成的很多模型,就差让它动了!!!!

该用户从未签到

发表于 2009-8-25 13:27:39 | 显示全部楼层
那么您也可以自己写插件来实现,如果熟练的话,一两天就可以导入大部分的动画数据了

该用户从未签到

 楼主| 发表于 2009-8-25 13:33:27 | 显示全部楼层
好,谢谢了!试试看!

该用户从未签到

发表于 2009-8-26 11:52:17 | 显示全部楼层
3Dmax里可以试试添加Sequence

该用户从未签到

发表于 2009-8-26 13:23:07 | 显示全部楼层
你可以看一下osg文件里有没有动画的信息。。。如果没有,你仔细看看插件的选项对不对。。。我导出过的有动画的模型

该用户从未签到

发表于 2009-8-26 13:47:11 | 显示全部楼层
在3dmax里做模型,给螺旋桨取个名字,然后导出成*.osg
然后使用findNodeVisitor findNodeX("groupBlock"); 其中"groupBlock"就是要控制的对象名称
找到对象就可以对其任意的平移和旋转,我就是这么做的

该用户从未签到

 楼主| 发表于 2009-8-27 20:22:44 | 显示全部楼层
多谢各位前辈,已经实现了!!!

该用户从未签到

发表于 2009-8-28 12:16:07 | 显示全部楼层
我也在做相关工作,麻烦LZ详细介绍一下实现方法。

该用户从未签到

 楼主| 发表于 2009-8-28 21:22:53 | 显示全部楼层
你想实现什么啊??我就是下载了一些模型,wrl格式的,用3dmax导入,然后用osgExp插件导出osg格式或ive格式的就可以,在导出对话框选项中选中Animation,还有其他一些,可自己根据需要选择。
基本就可以导入到osg中的,然后根据上面指导的那样在代码中获取模型对象进行动画的控制。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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