|
|
我在使用IPhysiqueExport导出数据的时候遇到一个问题,请指教。
对于同一个Node:
(1) 为了得到其Mesh的所有顶点,我这么做:
INode* pSelectedNode = pInterface->GetSelNode(0);
GeomObject* NodeGeomObject = static_cast<GeomObject*>(NodeObjectState.obj);
Mesh* pMesh = NodeGeomObject->GetRenderMesh(0, pSelectedNode, m_NullView, iNeedDelete);
for(int i = 0; i < pMesh->getNumVerts(); ++i)
{
// Export each vetex.
}
(2)为了得到每个顶点的骨架的weight,我这么做:
// Get an IPhyContextExport interface.
IPhysiqueExport* pPhysiqueExport = (IPhysiqueExport*)pPhysiqueModifier->GetInterface(I_PHYINTERFACE);
IPhyContextExport* pPhyContextExport = (IPhyContextExport*)pPhysiqueExport->GetContextInterface(pSelectedNode);
int iNumberOfVertices = pPhyContextExport->GetNumberVertices();
// 或int iNumberOfVertices = objectState.obj->NumPoints(); 结果是一样的
for(int i = 0; i < iNumberOfVertices; ++i)
{
// Export weights.
}
可是两者得到的顶点数目不一样!他们对应的关系是怎么样的?
也就是说,Mesh中的一个顶点怎么对应到Phsique中的一个顶点,两者的index一致吗?
请指教,谢谢!
|
|