Ogre中动态绑定骨骼动画

Ogre中动态绑定骨骼动画

Ogre中的骨骼动画通常是一个代表角色skin的多边形网格.mesh和一个代表bones运动轨迹的.skeleton(一个角色的所有动作如walk、wave、swim、和dance等都包含在这个.skeleton中)。通常Ogre在加载.mesh的时候,会自动把和.mesh关联的.skeleton进行绑定。

但是,很多时候,一个mesh只对应一个skeleton是不方便的,因为不同的角色常会使用同样的骨骼动画,如果让一个mesh对应多个skeleton和让多个mesh可以对应同一个skeleton那么就比较方便了。

可以这样组织文件:

mesh方面:角色1.mesh 角色2.mesh

Skeleton方面,把每个动作分开放到各自的.skeleton文件中:walk.skeleton/wave.skeleton/swim.skeleton/dance.skeleton

在代码中进行动态绑定skeleton的代码:

AvatarEntity = SceneManager->createEntity("Avatar_entity", “角色1.mesh”);

if (AvatarEntity->hasSkeleton())

{

Ogre::SkeletonInstance *skeleton = AvatarEntity->getSkeleton();

skeleton –>addLinkedSkeletonAnimationSource(“walk.skeleton”);

skeleton->refreshAvailableAnimationState();

}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值