CryEngine5.5用程式碼讀出模型的各個資料(頂點、UV、法線等)
阿新 • • 發佈:2018-12-14
IRenderNode** pTestRenderNode = nullptr;
uint32 count = gEnv->p3DEngine->GetObjectsByType(EERType::eERType_Brush, pTestRenderNode);
if (count != 0)
{
IStatObj* pObj = pTestRenderNode[0]->GetEntityStatObj();
IRenderMesh* pRM = pStatObj->GetRenderMesh();
if (pRM)
{
IIndexedMesh* pIM = pRM->GetIndexedMesh();
CMesh* pMesh = pIM->GetMesh();
//讀出模型資訊
Vec3* pVertices0 = pMesh->GetStreamPtr<Vec3>(CMesh::POSITIONS);
vtx_idx* pIndices0 = pMesh->GetStreamPtr<vtx_idx>(CMesh::INDICES);
SMeshTexCoord* pTexCoords0 = pMesh->GetStreamPtr<SMeshTexCoord>(CMesh: :TEXCOORDS);
SMeshTangents* pTangents = pMesh->GetStreamPtr<SMeshTangents>(CMesh::TANGENTS);
SMeshColor* pColor0 = pMesh->GetStreamPtr<SMeshColor>(CMesh::COLORS_0);
SMeshColor* pColor1 = pMesh->GetStreamPtr<SMeshColor>(CMesh::COLORS_1);
}
}