网上常说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 );

本文介绍了如何使用Ogre+oFusion+3dsMax组合解决只能绑定一个.skeleton文件的问题,详细阐述了从创建mesh到合并多个骨骼动画的步骤,包括载入.skeleton文件、两两合并、更新mesh骨骼列表等关键操作,帮助游戏开发者实现模型在多个动作间的切换。
最低0.47元/天 解锁文章
4693

被折叠的 条评论
为什么被折叠?



