Я работал над сценой UnityARworldMap. Пытался загрузить два или более карт мира (расширение .worldmap), которые я сохранил ранее. Начиная загрузку с одной карты мира, пройдя некоторое расстояние, я загружаю вторую карту мира и следующую карту мира через некоторое расстояние.
Я успешно загрузил первую карту arworldmap, и префабы достигают точных позиций в реальном мире. Проблема, с которой я столкнулся, заключается в том, что когда я загружаю вторую карту мира, префабы, загруженные на первую карту, меняют свою позицию (сбрасывают) и загружают в разных позициях. Причина, по которой я считаю, заключается в том, что вторая карта не содержит позиции префабов на первой карте. Без сброса, как загрузить другие карты вместе с первой картой?
public void Load(string flname)
{
//Loading file from persistent path
Debug.LogFormat("Loading ARWorldMap {0}", Loadpath);
var worldMap = ARWorldMap.Load(Loadpath);
if (worldMap != null)
{
m_LoadedMap = worldMap;
Debug.LogFormat("Map loaded. Center: {0} Extent: {1}", worldMap.center, worldMap.extent);
UnityARSessionNativeInterface.ARSessionShouldAttemptRelocalization = true;
var config = m_ARCameraManager.sessionConfiguration;
config.worldMap = worldMap;
UnityARSessionRunOption runOption = UnityARSessionRunOption.ARSessionRunOptionRemoveExistingAnchors | UnityARSessionRunOption.ARSessionRunOptionResetTracking;
Debug.Log("Restarting session with worldMap");
session.RunWithConfigAndOptions(config, runOption);
// StopPlaneDetection();
}
else
{
Debug.Log("No World Map loaded");
}
}
Так я загружаю карты через разные промежутки времени (см. Ниже).
Load(path+FileName2);//for second world map
Load(path+FileName3);//for third world map