LOD Forest - A Tryout

A new Demo is available on my Website. I tried to realize a god looking LOD System as i’ve seen often in commercial Games. Without Popups! The Result looks god but it isn’t LOD anymore. The Big Problems that Blender have with Alpha Textures, Object communication and total Object count cost’s more CPU Power than drawing the max Detail Objects. :frowning: But You can see very nice how this Methode of LOD works.

Make a Topview (Wire and Texture Mode) to see the Scrips in Action. If You can’t believe that Blender is faster without this, just disconnect the “LOD Power” Sensor from the LOD Skript and see what happens.

This is NOT a “How to make a realtime Forest”-Demo! This File explains the Problems, Blender have with many Objects, sending Data between them and Alpha Textures.

Cu, Doc

Er, my computer runs the forest better without the LOD Power sensor than with. I get 28 without it and 22 with. Messed up?

Pooba

The normal framerate of a blender game on my pc is around 50, when I run the lod demo, the framerate chances into 25 or sometimes 18. I also didn’t see any thing of lack or slow game play, and aplha of the grass seems working fine on my pc, no problems with the demo. Bytheway, it’s a great cool demo, something what I’ve waited for, but can you write a little tutorial to make a simple plane with some objects onto it with that script, I took a look on the source, but I didn’t find the ‘light’ if you know what I mean. But keep going, very impresive demo :o :stuck_out_tongue: :smiley: Thanks dude you rocks 8)

That’s what i say. Blender is faster without this. So, that’s not a LOD Solution for Blender. (Not yet.) So, don’ try this at Home! :smiley: This Kind of LOD System should be integrated into the Blender Source. Maybe then we can save FPS, but at the Moment, with Scriptings, IPO’s and the known Blender Probs, it cost’s. :frowning:

Oh, i forgotten something. If the File is running so slow on Your Machine, just disable the second Layer. Now You’ve only the Trees and the File should run faster. :wink:
Doc

(emphasis mine)

I hope you don’t mean that a commercial game would use alpha transparency to avoid “popping”

uhh, I get lots of python errors, hold on while I instal 2.25
ok, no speed improvement, and there doesn’t seem to be much of a difference between multiple lod-is settings

well anyways, from what I have seen of comercial games and techniques is to increase the number of detail levels, or on the extreme end (doom III) use displacement mapping.

Not? What else? :o

Have a look at the Grass and Trees in Games like UT2k3; UT2; Gothic2; Postal² … (the List is endless). What’s the Name of these LOD Methode? I know, it’s not displacement mapping. As i know, with this it’s possible to generate a komplex 3D Terrain/Object form a simple Grayscale Texture. That’s not what my Forest Demo do. I’m a little confused now.

Doc

Heres an example of LOD:
LOD

Your not really using LOD, your culling objects.

Level-Of-Detail is for meshes, changing the amount of polygons in realtime, > when close up < when farther away.

The alpha blending just slows the scene down, it’s not really worth it.

Nice shots, but do you’ve got a blend file of it, showing lod in blender? I made a lod in blender, like the lod file on the gamekit cd, but How can I chance the alpha of it, because when I walk trogh the level, suddenly a object appears from nothing, so I want that like the forest culling demo, like they did it with the grass, how can I do that?

It’s not worth it because it just slows it down more. Most culling methods in blender actually slow it down rather than help it out. I think the replace mesh operation is pretty slow, so LOD solutions that use replace mesh will probably be slower than without, at least when it updates the meshes. As far as culling goes, using the built in sensors are out unless you have a small object set because I believe they slow things down a lot when there are a lot of objects. Plus there are other evil bugs related to near sensors too :frowning:

Hopefully we get back solid soon and get some culling methods in-source.

Bytheway, the lod I made from a source of the gamekit cd, isn’t slow. When U run it, my frames a sec are just 50 and not like the forest one 18, so it’s faster, total lod object are 6 spheres in 3 different meshes, and the highest vertice sphere is just the normal sphere (32 vertices and many rings), that’s why I want to develope it more with alpha technic.

JD-multi
What Framerate do You get if You run Your Game with max Detail and without Your LOD Script? I bet, it’s nearly the same as with LOD.

As You can see in the Forest Demo, Blender is not able do realize this fading Stuff satisfyingly. Better, use Youre Resources for more usefull Things. :wink:

In the Forest, the Trees are fading from a 2D Plate to a 3D Object. The Plate has a Texture with a Pic from the 3D Model. So, the fading Process is nearly invisible. I don’t know the Result if You fade from a LowPoly Model into a HighPoly Model. I don’t think, that looks nice.

Doc

As You can see in the Forest Demo, Blender is not able do realize this fading Stuff satisfyingly. Better, use Youre Resources for more usefull Things.

You have too many grass objects, join a bunch of them to maker less objects and then it wouldn’t be so bad.

I don’t know the Result if You fade from a LowPoly Model into a HighPoly Model. I don’t think, that looks nice.

Fading objects out of nowhere doesn’t look to good either. Thats not was LOD is about, it’s about performance increase.

I know, i use to many Objects [!] Because Blender can’t handle them. That sucks, and i just want to show tat.

Yes, blender needs to be able to support more objects at once. Then we could at least do psudo-particle systems.

Pooba

cant you fix your script to move the objects to an unseen layer instead of makeing them invisable!

that would mean blender wouldent even think of the objects!

that should work… shouldent it?

Is it possible to move Objects to an other Layer while the Game is running? I don’ think so. :frowning: Layer IPO’s do not work in the Game Engine.

you shore :frowning:

Even if layer IPOs did work in realtime, (I’m pretty sure they don’t,) Blender does consider objects in inactive layers. All objects in inactive layers are processed and precached when the scene starts.

yikes :s thanks for the tip.