ogre+oFusion+3dsMax如何合并多个骨骼动画文件

    网上常说ogre+oFusion+3dsMax是开源游戏编程的黄金组合,但是在刚接触时我就遇到了一个问题,用oFusion导出的.mesh只能和一个.skeleton文件绑定,而一个.skeleton中只只能包含一个动作,这问题就大了,一般游戏,一个模型都应该能在n个动作中切换,为了解决这个问题,我在ogre3d.org的论坛中泡了好一阵子,终于找到了解决方案,为了让后来人能够少走弯路,总结如下:

    (1)创建mesh

    (2)载入2个与.mesh相关的.skeleton文件(一般需要从3dsMax中导出2次)

    (3)两两合并

    (4)接着重复步骤2,3

    (5)更新mesh的骨骼列表

 

    源代码如下:

    //已经载入的.mesh文件(step.1)

    Entity* tmpEnt = mSceneMgr->getEntity( idName );

 

    //其中的两个.skeleton的合并(step.2-3)
    SkeletonPtr pSkeletonMaster = SkeletonManager::getSingleton().getByName( anim_1.c_str() );
    SkeletonPtr pSkeletonSearch = SkeletonManager::getSingleton().load( anim_2.c_str(),   ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME );

  Skeleton::BoneHandleMap boneHandleMap;
  pSkeletonSearch->_buildMapBoneByHandle( pSkeletonSearch.getPointer(), boneHandleMap );
  pSkeletonMaster->_mergeSkeletonA

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值