点击 Tiling -> Load
Sample_TileMesh::handleSettings()
->
dtFreeNavMesh(m_navMesh);
m_navMesh = loadAll("all_tiles_navmesh.bin");
m_navQuery->init(m_navMesh,2048);
其中
dtNavMesh* Sample_TileMesh::loadAll(constchar*path):
打开文件
读入文件头NavMeshSetHeaderheader;
分配并根据header初始化 dtNavMesh
然后读每一个tile
先读NavMeshTileHeader
然后读里面的data
mesh->addTile(data,tileHeader.dataSize,DT_TILE_FREE_DATA,tileHeader.tileRef,0);
所以:
all_tiles_navmesh.bin中的数据是:
NavMeshSetHeader
NavMeshTileHeader 1
Data 1
NavMeshTileHeader 2
Data 2
如果不是load的话,data是在buildTileMesh中build出来的