Hi!
As some of You might know for some time I’m working on 3D mmorpg game with 2D movement (like eg diablo). I dont have much experience with 3D graphics and I’d like to ask more experienced and smarter People than me for advice.
My current idea is to separate zone into 32x32 segments. Initially map will be 16x16 ( = 256 segments in total) segments with player range of visibility of 2 sectors. I builded prototype in the blender and it works nicely. As a root for each segment i used empty mesh which after convertion to glb is turning into transform node. Each sector consist of 3 planes:
- Ground - invisible used for picking world position needed for movement and spells etc.
- Collision grid - I was thinking to use planes with 1x1 cells to keep collisions data. eventually it will be disposed from loaded map or digested and removed at former steps
- map - plane with other meshes as a childs.
Why i have map and ground plane? From my undestanding just simply putting models on the map will cause performance overhead with increased draw calls I wanted keep ‘ground’ intact and merge ‘zone’ with all other meshes which are places on top of it. But not sure if its feasible to perform such merge. I think I cannot just merge meshes with different materials, possible way it to merge on UV’s lvl? I dont understand it yet.
So the question is: is it valid approach?, what are my alternatives? How would You approach this problem?
screenshot of inspector from current prototype: