If you divide this up in 10 by 10 squares and use LOD all should be fine.
Even in Unity this wouldn’t be of any practical use being all in one. We aren’t yet on the unlimited “do what ever ones want” age, we have great graphics on games but still with a lot of tricks to get there
There isn’t like a known limit on file size or anything like that, but Armory will load the mesh for an object all in one go if it is all one object, so loading all of those faces at the same time is probably not the most efficient way to do it. Especially because you don’t actually need to see all of that at the same time.
If your world is split up into small enough pieces and Armory can then decide not to render or load objects that you can’t see, I think you could get away with quite a large world.
I don’t think there is any limit(mesh or file size) and armory should perform well even with 4 million faces
From @lubos’s tweet on armorpaint(pbr painting app made on top of armory):
and it been 7 months since that post, so except it to be improved a lot
Can you post the error you are getting when krom crashes or paste .blend file so that people can check it, it def might be something other than file/mesh size issue.
(p.s. Armory’s performance is way better than unity’s)
So I set about finding out the maximum resolution that will pass the ‘Armory Player’ test.
Dimension
Terrain (MB)
Texture (MB)
Tris (Million)
Krom
Browser
20000
89.2
80.7
12.5
fails
fails
17500
67.5
61.6
9.5
fails
fails
17000
64
58.3
9
fails
fails
17000
64
35.4
9
fails
fails
16000
55.7
51.3
7.9
ok
ok
15000
45.5
42.9
7
ok
ok
10000
18.8
19
3.1
ok
ok
The highest I can get it to is 16000 x 16000, which is still fairly impressive.
But clearly as has been mentioned above I need the benefit’s of some kind of LOD setup & breaking up terrain into smaller sections. Is there any documentation on how to setup LOD with nodes in Armory?
There is a simple LOD example you can check out. It automatically calculates the detail level based on distance, so there is no need to use nodes or Haxe logic.
Thanks zicklag,
Just had a play that is very cool, I’ll have to test asap - maybe I’ll write a big 1,2,3 in the middle of each tile so I can spot when it’s LOD’ing
And also have to figure out the best way to chop up a large terrain mesh!
manually cutting up terrain for LOD sounds pretty painful.
Seems like there should be some specific support for marking a mesh as a “large scale” terrain mesh, and then have Armory3d automatically split into chunks and generate LOD. for each chunk… either using heighmap techniques like geo-mip-mapping, or more general mesh-simplification techniques.
Your not far wrong to suggest it’s painful ! I’ve been battling this for days now - my main post trying to tackle it is here:
You can script the cutting up of terrain with python so no issue there.
I’m close but still getting edge anomalies, possibly due to floating point conversions - or some odd rounding going on. It’s likely because i’m trying to deal with such large mesh’s.
It would indeed be lovely if Armory dealt with LOD’s specifically for terrain, but at the moment I’m needing BlenderGIS to be able to import accurately real world GIS assets like sat data and heightmaps. I’m sure there is a way to work between the 2 plugins, I’m just not familiar enough with how blender handles large data sets.