ogre中每个骨骼动画分多个文件导出,解决动作变形的问题
2011-08-01 22:46
861 查看
网络上好些游戏是把人物所有的骨骼动画做成了一个文件,然后导出一个skeleton,1-20帧为animation1,21-40帧为animation2这样,就美术来说可以不是很方便,大一点的游戏这样一个文件里就可能有成百上千个动作,也不利于查找。
于是寻找多个骨骼文件合成的方法,最开始用addLinkedSkeletonAnimationSource,本以为可以用,但是发现这样连接了之后骨骼动画出现变形,所以找到另一种方法:
//实体用的主骨骼,注意这个骨骼一定是无骨骼动画的空骨骼文件
SkeletonPtr pSkeletonMaster = SkeletonManager::getSingleton().getByName( "player.skeleton" );
//附加骨骼
SkeletonPtr pSkeletonSearch = SkeletonManager::getSingleton().load( "player_run.skeleton", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME );
Skeleton::BoneHandleMap boneHandleMap;
pSkeletonSearch->_buildMapBoneByHandle( pSkeletonSearch.getPointer(), boneHandleMap );
pSkeletonMaster->_mergeSkeletonAnimations( pSkeletonSearch.getPointer(), boneHandleMap );
SkeletonManager::getSingleton().remove( “player_run.skeleton” );
//最后记得刷新实体动画
entity->getSkeleton()->_refreshAnimationState( tmpEnt->getAllAnimationStates() );
于是寻找多个骨骼文件合成的方法,最开始用addLinkedSkeletonAnimationSource,本以为可以用,但是发现这样连接了之后骨骼动画出现变形,所以找到另一种方法:
//实体用的主骨骼,注意这个骨骼一定是无骨骼动画的空骨骼文件
SkeletonPtr pSkeletonMaster = SkeletonManager::getSingleton().getByName( "player.skeleton" );
//附加骨骼
SkeletonPtr pSkeletonSearch = SkeletonManager::getSingleton().load( "player_run.skeleton", ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME );
Skeleton::BoneHandleMap boneHandleMap;
pSkeletonSearch->_buildMapBoneByHandle( pSkeletonSearch.getPointer(), boneHandleMap );
pSkeletonMaster->_mergeSkeletonAnimations( pSkeletonSearch.getPointer(), boneHandleMap );
SkeletonManager::getSingleton().remove( “player_run.skeleton” );
//最后记得刷新实体动画
entity->getSkeleton()->_refreshAnimationState( tmpEnt->getAllAnimationStates() );
相关文章推荐
- ogre中每个骨骼动画分多个文件导出,解决动作变形的问题
- OgreMax导出场景文件错位问题解决
- pch文件 解决每个文件都需要重复引入的问题
- 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题
- 从SketchUP导出3D Model为*.mdb 文件之致命问题解决!
- 导出文件在IE和火狐中文件名乱码问题的解决
- 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题
- 解决安卓style文件中设置Activity退出动画无效或者被干扰的问题
- 【Ecstore2.0】导出问题解决(未导出或导出文件为0字节)
- iReport导出Excel文件一个字段要占用多列问题的解决
- cocos2dx3.0无法取消Armatrue骨骼动画中的补间效果问题的解决办法
- mysql SQLyog导入导出csv文件,解决编码问题
- Win7下如何用Eclipse导出jar类型的文件,如何用鼠标双击打开jar类型的文件的方法及解决双击后一闪而过的问题
- 数据库导出后的.SQL文件特别大,问题解决
- 解决firefox保存winrar时不能勾选“以后自动采用相同的动作处理此类文件”的问题
- 导出excel文件 解决科学计数法问题 datagridview导出字符串变数字问题
- 大量数据导出为Excel文件的问题解决
- 解决Spine骨骼混合动画错乱问题
- 学习拾遗 --导出excel文件 解决科学计数法问题
- Mysql5.6版本导出sql文件数据导入到5.7版本出现的问题解决方法