MapData Sample()
	{
		Terrain terrain = Terrain.activeTerrain;
		if (terrain == null)
		{
			Debug.LogError("No Terrain.");
			return null;
		}
		int xCount = Mathf.RoundToInt(terrain.terrainData.size.x);
		int zCount = Mathf.RoundToInt(terrain.terrainData.size.z);
		if (!Mathf.IsPowerOfTwo(xCount) || !Mathf.IsPowerOfTwo(zCount))
		{
			Debug.LogError("terrain size no PowerOfTwo.");
			return null;
		}
		MapData data = new MapData(xCount, zCount);
		data.name = System.IO.Path.GetFileNameWithoutExtension(EditorApplication.currentScene);



		data.terrain = terrain;
		data.SetHeights(thisTarget.GetTerrainHeight(terrain, thisTarget.terrainLayerID, gridSize, true));
		data.SetNeighbourHeights(thisTarget.GetTerrainHeight(terrain, thisTarget.terrainLayerID, gridSize, false));
		data.SetReachable(thisTarget.GetReachableFromNavMesh(terrain.terrainData.size, terrain.GetPosition(), gridSize));

		return data;
	}