About Dynamic Loading and LoadPoints
In order to give a smooth exploration experience and an efficient system of nested submaps we decided to differentiate between static (or old method) and dynamic (or new method) loading.
STATIC: means map will be loaded all at once, with all assets in memory and sent as DrawCall s to the gpu. It may severely impact performance for large maps with many assets.
DYNAMIC: map will be loaded in chunks when in range of a LoadPoint. Anchored maps, or different cinematic maps, can be preloaded using custom virtual points with a radius, attachable to other nodes called LoadPoint s.
LoadPoints can be instantiated freely and added to the relevant pool into the GridManager, that will take care of feeding maps, that will loads / unload based on positions.
To add a map with a load point into the world:
gridManager.add('camera.map', 'prova1', 'dynamic', 2)
gridManager.get('prova1').setPos(Point3(2,3,0))
gridManager.addLoadPoint(LoadPoint('test', Point3(1,1,0), 3))
gridManager.addLoadPoint(LoadPoint('test2', Point3(5,7,0), 1))
Next week effort will be put into finalizing this feature and polishing the world management, allowing for map anchoring, recursive Grids and (possibly) a wider world management.
This should allow us on putting the pieces together and begin the Motionless engine tech demo level.
Cheers!