Game Development Community

Some questions about LOD.

by Dennis Corp · in Artist Corner · 08/03/2005 (9:04 pm) · 6 replies

Hi, I'm somewhat new to the whole 3d modelling thing and I need to ask a few questsion regarding Level of Detail.

I have been making models using blender and the dts exporter, and following that procedure I end up with perfectly nice looking models. (Well nice to me anyway).

The procedure to make the models involves setting some empty objects, and naming them as such...

Shape --> Col0 --> Colision.cube.goes.here
Shape --> Detail32 --> Actual.model.goes.here

Where Shape is the parent, Col0 and Detail32 are children to Shape, and the other objects are then children to Col0 or Detail32

This is all fine, but that only gives the model a since level of detail.

What I would like to know is this.

A: Does the number in the object Detail## have a purpose if I only use 1 detail level.

B: When modellng multiple detail levels, should I use a specific set of numbers?
I have seen mention of details 16/32/64/128 etc...
This would also coincide with image sizes and everything else to do with programming.

C: If so, what exactly do the numbers mean?
Is Detail128 higher or lower quality than Detail16.

I also seen mention of the number relating to pixels, but in what context I cannot find again.

From what I do understand is that by only using 1 LOD, the model will always be max quality as soon as it is drawn on the screen, even if it is at a distance from the player.
I already know about fps, and the rendering stuff associated with, which is why you need multiple detail levels.

Are there any set standards that people generally follow.

As technical as this might sound, all I really need is to be advised on the recommendations and pointed in the right direction.

-Dennis

#1
08/04/2005 (5:20 am)
I believe that the number on detail is the number of pixels on screen at which the mesh will be switched. So the lower the number, the simpler the mesh. Mostly 32 is used when there is only one mesh, in a full LOD model you'll usually find 32, 64, 128 be this depends on whether the model needs it and how close you're gonna get.

Say you have a dragon that flies from the distance, right into the camera. You will need LOD from 32, 64, 128 and probably 256 for those close up shots.

What I want to know is how the hell you make the animation in blender carry over into those seperate meshes?
#2
08/04/2005 (7:09 am)
Hey, Bat, I just duplicated an armature and it kept links to the actions.

So, I'd assume you'd have not only multiple meshes, but armatures as well. Especially since you'd have to link the vertex groups with the new mesh to the new armature.

I haven't tested it, but I don't see why that wouldn't work.

In theory, you'd have the following heirarchy:

Shape -> Detail32 -> Armature32 -> Mesh32
Shape -> Detail64 -> Armature64 -> Mesh64
Shape -> Detail128 -> Armature128 -> Mesh128
#3
08/04/2005 (7:23 am)
So as an object gets closer to the camera the amount of pixels it's using grows.
These pixels (assuming left to right) would grow continuously until the object is taking up the entire screen width.

So for say a billboard that even at 50 feet, it would take up the entire screen width, it would effectively be at max detail.
The same billboard at half a mile would be tiny therefore only using a few pixels would effectively be at a lower detail level.

Makes sense to me, but what about different screen resolutions?
I guess that's why higher resolution gives better visual quality, since the same object, even though its small onscreen uses more pixels equating to a higher level of detail than on a low resolution.

I understand your question there also, but I have no idea about animation really.
I would probably have all the meshes in the center of the screen, then when you animate 1, it should animate the rest, since all of the meshes surround the bones. I could be way off though. :)

Thanks for your help man, I'll test it out over the weekend. Good luck with the animating.
#4
08/04/2005 (8:07 am)
@Dennis: you've got the logic a liitle bit off.

Each detail level had progressively more faces. When at a distance (the object is only taking up 16 pixels for instance) there is no point in drawing details that cannot be seen. So the LOD32 would only have, say 100 faces.
When the object is bigger on screen (160px), it needs more faces as you can see more detail, say 600 faces.

The screen resolution means that higher LODs are used much more. Its hard for an object to be 16 pixels on a 1280x1024 so the hardware is always rendering higher detail levels (more faces). That's why as the screen res gets higher, the processing power needs to be exponentially more powerful.
#5
08/04/2005 (8:13 pm)
Thanks FruitBatInShades I appreciate your help.
#6
08/04/2005 (9:59 pm)
Nice explanation, Bat. Thanks.