查看: 2391|回复: 9

如何控制模型的运动

[复制链接]

该用户从未签到

发表于 2009-3-4 12:59:31 | 显示全部楼层 |阅读模式
我现在按照之前高手的提示,已经将模型从3dsmax中到处到OSG中,别切在3dsmax中设置了一个气缸的运动,在osg中显示的时候就直接将这个运动呈现出来了,我现在想知道如何控制这个已经设置好的动作,在osg中?~谢谢~
模型已经在附件中了,请告示指点~谢谢~

Cylinder3.rar

12.92 KB, 下载次数: 115, 下载积分: 威望 1

这个是我的气缸模型

该用户从未签到

发表于 2009-3-4 13:11:16 | 显示全部楼层
找到AnimationPathCallback的位置,您的模型中在名为Cylinder0State的节点下有这个回调,可以使用getUpdateCallback获取其指针,并使用dynamic_cast转换为AnimationPathCallback,进而控制动画的播放和停止

该用户从未签到

 楼主| 发表于 2009-3-4 17:00:59 | 显示全部楼层
我通过您说的方法,活得了那个节点的回调函数,也转换成了AnimationPathCallback类型了,但是一旦通过其SetPause()方法设置,无论设置是false还是true,在运行时,都会导致错误而终止运行.

该用户从未签到

发表于 2009-3-4 19:11:20 | 显示全部楼层
dynamic_cast<>转换为AnimationPathCallback之后,有没有检查一下是否得到的是NULL?那样的话说明找错节点回调了。

该用户从未签到

 楼主| 发表于 2009-3-4 19:38:53 | 显示全部楼层
果然是,还是经验太少了啊~谢谢
再有请教一下您,在3dsmax中如何设置或者设置什么,可以是到处的模型导游多重节点和DOF节点?谢谢

该用户从未签到

发表于 2009-3-4 19:41:26 | 显示全部楼层
那个……导游多重节点是什么?
DOF节点往往只用在OpenFlight和Creator生成的模型中,其它格式的模型一般不会使用这个节点,它并不通用。

该用户从未签到

 楼主| 发表于 2009-3-5 08:25:26 | 显示全部楼层
呵呵,不是导游,我是想说导出
就是怎么使模型里带有多重节点,就是可以当然开关控制的那种~谢谢

该用户从未签到

发表于 2009-3-5 09:19:08 | 显示全部楼层
这个你可以在3dmax或者creator中设置相关的节点属性~~~

该用户从未签到

发表于 2009-3-5 09:21:38 | 显示全部楼层
这个还真不清楚,如果3dsmax中有类似的开关节点功能的话,导出的时候应该会转换为开关节点。得看看osgExp的源代码才知道

该用户从未签到

 楼主| 发表于 2009-3-5 09:42:03 | 显示全部楼层
版主能再多提示一点儿,如何在3dsmax中设置么?~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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