查看: 1137|回复: 1

关于NodeCallback和AnimationPathCallback转化的问题

[复制链接]

该用户从未签到

发表于 2012-3-29 13:57:31 | 显示全部楼层 |阅读模式
本帖最后由 wellono 于 2012-3-29 16:12 编辑

    osgViewer::Viewer viewer;
    osg::ArgumentParser arguments( &argc, argv );
    osg::Node* root = osgDB::readNodeFiles( arguments );
    if ( !root ) root = osgDB::readNodeFile( "testanimation.OSG" );

       
    osg::AnimationPathCallback * cb=dynamic_cast<osg::AnimationPathCallback *>(root->getUpdateCallback());
    cb->setPause("true");
    viewer.setSceneData(root);
    return viewer.run();

其中testanimation.OSG是3Dmax导出来的一段动画,想通过获得节点中的animationPathCallback指针来控制动画。  

为什么会出现“osgTest2.exe 中的 0x0f2313c1 (osg80-osgd.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0x00000050 时发生访问冲突”这样的错误?难道需要重载一个NodeCallback类来实现控制动画的功能么?

该用户从未签到

发表于 2012-3-29 16:09:14 | 显示全部楼层
本帖最后由 buptwenze 于 2012-3-29 16:10 编辑

root 是一个 osg::Node 无法用dynamic_cast 转化为 osg::PositionAttitudeTransfor  , 因此会报错。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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