CryEngine 示例程序太少,自己琢磨了下模型的动态添加删除:
添加模型:
// create RenderNode by type
IRenderNode* pBrush = gEnv->p3DEngine->CreateRenderNode(eERType_Brush);
// set matrix
Matrix34 mat;
mat.SetIdentity();
mat.SetTranslation(Vec3(0, 0, 34)); // 32 is the ground
IStatObj* pObj = gEnv->p3DEngine->LoadStatObj("objects\\sphere.cgf",false); // false is not has lod
if (pObj && pBrush)
{
pBrush->SetEntityStatObj(0, pObj,&mat); // set the object to renderNode
gEnv->p3DEngine->RegisterEntity(pBrush); // register Renderobject to SceneTree
}
删除模型:
gEnv->p3DEngine->UnRegisterEntityDirect(pBrush); // remove from sceneTree
gEnv->p3DEngine->DeleteRenderNode(pBrush); // delete RenderNode and Object for release memory