创建模型实体
Entity* entObject = mSceneMgr->createEntity(“object”, “ogrehead.mesh”);
createEntity() (创建实体) 在当前场景中创建一个实体实例并返回它的对象指针,作为 SceneManager 类的一个成员函数,它有两个重载:
Entity * Ogre::SceneManager::createEntity (
const String & entityName, // 实体名称(同一场景中不能有相同的实体名称)
PrefabType ptype // 预制类型(不需要读取模型,直接在程序中创建简单几何体,
// 目前只有平面 PT_PLANE 一种预制类型)
) [virtual]
Entity * Ogre::SceneManager::createEntity (
const String & entityName, // 实体名称(同一场景中不能有相同的实体名称)
const String & meshName // 模型名称(需要从硬盘上读取的模型的文件名)
) [virtual]
这里用的是第二个重载,也就是从硬盘上读取模型,模型文件名 “ogrehead.mesh” ,这个文件在 OGRE\Samples\Media\models 目录下。查看一下这个目录,里面有一些 *.mesh 文件,还有一些 *.skeleton 文件 。
* .mesh 文件包含了静态模型和材质的信息,*.skeleton 文件对应一个同名的 *.mesh 文件,保存这个模型的骨骼和动画信息(如果有)。使用 createEntity() 方法,不管是不是带骨骼带动画的 *.mesh ,都一样读取