Save & Load

点击 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是在buildTileMeshbuild出来的

猜你喜欢

转载自blog.csdn.net/icebergliu1234/article/details/80340923
今日推荐