|
|
发表于 2008-10-3 21:39:00
|
显示全部楼层
Re:OGRE能支持复杂的换装效果吗?(高手进,新手来捧个
都可以支持的 ..
1.支持绑定型的换装效果, Entity::attachObjectToBone就能实现..
2.支持换纹理类型的.这个找到对于的submesh的texture替换一下就好了.一般游戏会有个默认装备,保留下老texname的就好了..
代码如下:
SubEntity* pSub = ent->getSubEntity(subMeshName);
const MaterialPtr& pMat = pSub->getMaterial();
tchCount = pMat->getNumTechniques();
for(int tch = 0; tch < tchCount; ++tch)
{
Technique* pTch = pMat->getTechnique(tch);
pasCount = pTch->getNumPasses();
for(int pas = 0; pas < pasCount; ++pas)
{
Pass* pPass = pTch->getPass(pas);
texCount = pPass->getNumTextureUnitStates();
Pass::TextureUnitStateIterator texIte = pPass->getTextureUnitStateIterator();
while( texIte.hasMoreElements())
{
texIte.getNext()->setTextureName(newTexName)
}
}
}
|
|