Jump to content

How to manage models in big levels


Alessandro
 Share

Recommended Posts

Hello,

 

I need to make a big game level, so my problem is not only related to terrain or tree management (LE does it automatically).

I wish to know how to manage objects in the game. For example: if I make a terrain with 1000 buldings (spread over the entire terrain), do I need to manually load/unload the models, or the engine can manage them automatically (e.g. using the distance and object hierarchy)?

In the case I need to load/unload models, how can I do it in an asynchronous mode (loading models and textures in background, while the player is playing)?

Do I need to set some specific properties to the models in the editor?

 

Thank you!

Link to comment
Share on other sites

Hello,

 

I need to make a big game level, so my problem is not only related to terrain or tree management (LE does it automatically).

I wish to know how to manage objects in the game. For example: if I make a terrain with 1000 buldings (spread over the entire terrain), do I need to manually load/unload the models, or the engine can manage them automatically (e.g. using the distance and object hierarchy)?

In the case I need to load/unload models, how can I do it in an asynchronous mode (loading models and textures in background, while the player is playing)?

Do I need to set some specific properties to the models in the editor?

 

Thank you!

 

Any help? No suggestions? No hints?

I think this should be an important topic, since LE manages big terrains, and over big terrains one must put a lot of objects! So... maybe a guide or hints could be useful.

Link to comment
Share on other sites

The engine handles it automatically. Indeed, even when you have 3000 models behind you, nothing is rendered, and the distance culling does the same.

Ryzen 9 RX 6800M ■ 16GB XF8 Windows 11 ■
Ultra ■ LE 2.53DWS 5.6  Reaper ■ C/C++ C# ■ Fortran 2008 ■ Story ■
■ Homepage: https://canardia.com ■

Link to comment
Share on other sites

Just to add.

 

Performance depends greatly on what version of LE you're using. The latest 2.32 uses a quadtree to cull entities and is better for large numbers of entities.

 

2.31 is a little different. You don't just count the number of models, but also the number of child objects in each model. In our project for example we have 500 compounds alone, each compound had 15 objects (walls and out buildings). Even though it was just 500 buildings there were in fact 7500. By collapsing LODs into single objects performance doubled in 2.31 alone. This had no effect in 2.32 which shows how well the quadtree system works.

 

Big terrains can take a long time to load. So take my advice, save often, multiple backups. And if you think the editor has crashed, just wait and leave it, chances are it's just busy.

6600 2.4G / GTX 460 280.26 / 4GB Windows 7

Author: GROME Terrain Modeling for Unity, UDK, Ogre3D from PackT

Tricubic Studios Ltd. ~ Combat Helo

Link to comment
Share on other sites

Clicking UPDATE SDK on LE's group in your "PROGRAMS" start menu you can choose the version to download (you should download any version in its own empty folder).

 

I have win7 and I have no program installed in my startmenu.

Where is the program that perform updates in Leadwerks folder?

Link to comment
Share on other sites

Sorry, (while my LE is downloading and reinstalling again), please Josh can you check my forum activation for area like programming? I even noticed I cannot post in "showcase".

I sent and email with requested details to support LE yesterday.

Thank you for your help!

Link to comment
Share on other sites

about original post:

I guess vegetation system don't uses this culling method.

accidentally I checked this today:

 

Culling_01.jpg

Culling_02.jpg

as you can see tri count is both images are almost the same.

is that because of leaves transparency?

Omid Saadat

OD Arts Blog

 

AMD Phenom II X4 940 - Geforce 8800GTS - 4GB RAM - XP x86

AMD 6000+ - Geforce 9800 GT - 2GB RAM - XP x86 (Home pc)

Intel Core i7 - Geforce 310M - 4GB Ram - Win7 x64 (Laptop)

Link to comment
Share on other sites

To use occlusion culling, individual instances have to be drawn without instancing. This makes occlusion culling slower than not using it for most objects. Only expensive-to-render objects like lights and animated meshes are worth using occlusion culling on.

 

In version 3.0, a more large-scale occlusion culling system will be used to discard chunks of scenery. But you wouldn't really want me to implement this right now would you, considering how many problems we had with the release of 2.32 initially? Do we really need more objects flashing on and off right now?

My job is to make tools you love, with the features you want, and performance you can't live without.

Link to comment
Share on other sites

@ Alessandro: yes I have LOD for them..

 

@:

First: I know you will not implement this in current version. And I don’t want to bother you with useless suggestions. It’s enough for me, if you just consider some of these Ideas or pick some point from game developers problems. And it’s not actually matter for me, which version will you use them.

However I think for leadwerks having some good quality games in markets is better than having good engine without any games on markets. It will take “at least” 6 months to finish LE3, after that it will take at least one year to develop a good quality game with that. And you know after this long time game technologies WILL change and same cycle may repeat.

Second: you consider your problems and I consider mines. I know I have to make my game using 2.32r5, and before I post any feature request or something like my previous post, I clearly know that it will not be in my game. Hopefully some bugs will be fixing for me, nothing else. Hope you got me.

 

So please take this kind of posts easy. they are not for making rush.

Omid Saadat

OD Arts Blog

 

AMD Phenom II X4 940 - Geforce 8800GTS - 4GB RAM - XP x86

AMD 6000+ - Geforce 9800 GT - 2GB RAM - XP x86 (Home pc)

Intel Core i7 - Geforce 310M - 4GB Ram - Win7 x64 (Laptop)

Link to comment
Share on other sites

To the OP:

 

I wish to know how to manage objects in the game. For example: if I make a terrain with 1000 buildings (spread over the entire terrain), do I need to manually load/unload the models, or the engine can manage them automatically (e.g. using the distance and object hierarchy)?

You load the level/scene and this loads the terrain and prepares (or executes?) model loading. The object's meshes are loaded when they first come into view afaik (maybe this is only with shaders and materials, maybe all the objects/meshes get loaded when loading the map initially).

You don't need to do anything manually (unless you want to).

There's no unloading.

 

In the case I need to load/unload models, how can I do it in an asynchronous mode (loading models and textures in background, while the player is playing)?

Do I need to set some specific properties to the models in the editor?

You cannot and the engine doesn't do this. Therefore, there are no properties for anything like streamed loading in the editor.

 

 

What the engine does is it loads you level and there you go, that's it. No need to worry about (un)loading stuff but also none of the advantages (less memory usage, faster initial loading) of it.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...