Jump to content
Sign in to follow this  
max power

3d Application Questions And Answers

Recommended Posts

This thread is intended to be a Q & A dialogue that hopefully will increase the knowledge base of the community as a whole with regards to 3d software. If you have any questions, feel free to ask them. I will do my best to respond to the questions I know the answers to.

If you know a technique you want to share but it isn't enough to write a whole tut or topic about, feel free to share!

I would like to request something of you up front in return for my participation in this thread. Please, no arguments about technical dogma or software bigotry. There are lots of ways to arrive at a solution in 3d art. That said, if you have any alternate methods, please share them!

Share this post


Link to post
Share on other sites

when i import my model from maya to o2 it flip my model from the right side to left ? do u get me or i need to post some pix describe

it more clearly

Share this post


Link to post
Share on other sites

never mind, i forgot to delete the history in maya, but thank u for da quick response.

Share this post


Link to post
Share on other sites

Hi, I hear from multiple sources that the number of "sections" is an important factor on deciding how good performance of a model will be, however I'm not really sure if I understand exactly what a section is. The wiki's explanation:

Quote[/b] ]Section - is created every time when there's need for the graphics card (GPU) to change parameters. This happens when information about each object, texture and material is read from the CPU or when bones limit is exceeded. The overhead for transmitting instructions between CPU and GPU then slows down the performance of scene-drawing, which could normally draw hundreds of polygons or textures.

Could you either simplify or visually demonstrate what a "section" is?

Thanks.

Share this post


Link to post
Share on other sites
Hi, I hear from multiple sources that the number of "sections" is an important factor on deciding how good performance of a model will be, however I'm not really sure if I understand exactly what a section is. The wiki's explanation:
Quote[/b] ]Section - is created every time when there's need for the graphics card (GPU) to change parameters. This happens when information about each object, texture and material is read from the CPU or when bones limit is exceeded. The overhead for transmitting instructions between CPU and GPU then slows down the performance of scene-drawing, which could normally draw hundreds of polygons or textures.

Could you either simplify or visually demonstrate what a "section" is?

Thanks.

I am not exactly sure, but fortunately I was just able to talk to the head technical artist of Propaganda Games (who did the new Turok game), about my tank model. It's his job to make sure everything is efficient at render time.. he's basically, as he describes it, 'the bad guy'. All the artists working want to get their art into the game, and it's his job think of reasons to keep it out. We had a brief discussion about modelling efficiency for games. I'll give you the sense I get from him and other sources of information.

A section is a sub object that doesn't share the same material map or other parameters with the rest of the model. This seems to be correlated with directx drawcalls. If you have a soldier whose body is on one texture map, and whose face and hands are on another, directx has to draw both separately. This is because it has to load up a new texture map and other things such as materials when it goes to draw the second section.

On the other hand, you have instancing. All instances (copies) of the same object can be drawn on the same draw call. For instance ( wink_o.gif ), if you have a forest full of trees that are all the same tree, you can draw the whole background on the same draw call. All the similar parts of all of the soldiers in a scene can be drawn on another draw call, etc.

The long and short of it is that variety is the performance killer. The more materials, textures, different kinds of objects, etc you have in one scene, the more times you'll make directx change gears to complete the scene. The sections described by BIS seem to be a description of how a model will be divided up at render time based on how many different textures and such it has attached to its geometric parts.

This is my sense of it, and anyone who knows more about it I'm sure will correct me.

Share this post


Link to post
Share on other sites

every face can be a selection.

we have a model with 10 faces. we give all 10 faces same texture and material . 10 faces = 1 section

we make it 5red/5black, with same material on all 10 faces

10 faces = 2 sections

5red/5black and 1st and last face get a different material each

10 faces= 4 sections

every face has a different texture but all same material

10 faces = 10 sections

every face has the same texture but all different material

10 faces = 10 sections

all have same texture and material, but 10 different numbers as "user value" (inside o2 face properties)

10 faces = 10 sections

the problems with texture loading from buildings like in the early arma versions nevertheless was from 1 section models with huge texture. older cards can handle alot of different sections with small textures much easier as 1 section with a huge texture. just imagine the ammount of textures that get loaded and dumped when you do a jet flight from bagango to paraiso via corazol. keep in mind that every object do several lod steps, with partially own textures to be loaded.

best is to keep sections and texturesize low i guess.

Share this post


Link to post
Share on other sites

Thanks for the replies, very informative!

the problems with texture loading from buildings like in the early arma versions nevertheless was from 1 section models with huge texture. older cards can handle alot of different sections with small textures much easier as 1 section with a huge texture.

That's exactly what I'm doing right now. crazy_o.gif

Are there any tutorials in the making explaining how to unwrap models for most efficient performance? I'm fearful that I'm putting a lot of effort into something that'll ultimately be of very poor quality. Especially considering that my aim is very large and dense urban areas, maximum performance is imperative.

Share this post


Link to post
Share on other sites
Thanks for the replies, very informative!
the problems with texture loading from buildings like in the early arma versions nevertheless was from 1 section models with huge texture. older cards can handle alot of different sections with small textures much easier as 1 section with a huge texture.

That's exactly what I'm doing right now. crazy_o.gif

Are there any tutorials in the making explaining how to unwrap models for most efficient performance? I'm fearful that I'm putting a lot of effort into something that'll ultimately be of very poor quality. Especially considering that my aim is very large and dense urban areas, maximum performance is imperative.

The first thing you do will suck compared to the second, it's all about practise. If you're in the middle of a large project, then maybe practise on some smaller ones first if it's really a concern.

Put things that are close together close to each other on the uv map so that the computer doesn't have to hunt all over the place looking for pieces. Try to get as much on one texture as possible. Try to utilize as much space on the uv map as possible. Blank empty space = wasted memory.

Share this post


Link to post
Share on other sites
Put things that are close together close to each other on the uv map so that the computer doesn't have to hunt all over the place looking for pieces. Try to get as much on one texture as possible. Try to utilize as much space on the uv map as possible. Blank empty space = wasted memory.

Yeah that's pretty much what I'm doing, basically I'm using 1 texture per building which is 2048x2048 px where I filled in as much as possible and stacking like crazy.

As an example, here's a building I did today:

PIC

Now usually I tend to keep all the UV coordinates within one box, but today I decided to try and take a little extra advantage of textures being seamless. The two bottom tiles (brick and plaster wall) of the texture are seamless. So I figured if I stretched one wall on the building across two boxes I'd get a higher detailed wall which would leave me with more free space on the rest of the texture. Is this recommended, or should I keep UV coordinates within one box?

Also, let's say I make 20 buildings and 10 textures which are 2048x2048 px, then I use one tex per two buildings, ie. there is a pair of structures per texture. Would this be inefficient for performance?

Share this post


Link to post
Share on other sites
Put things that are close together close to each other on the uv map so that the computer doesn't have to hunt all over the place looking for pieces. Try to get as much on one texture as possible. Try to utilize as much space on the uv map as possible. Blank empty space = wasted memory.

Yeah that's pretty much what I'm doing, basically I'm using 1 texture per building which is 2048x2048 px where I filled in as much as possible and stacking like crazy.

As an example, here's a building I did today:

PIC

Now usually I tend to keep all the UV coordinates within one box, but today I decided to try and take a little extra advantage of textures being seamless. The two bottom tiles (brick and plaster wall) of the texture are seamless. So I figured if I stretched one wall on the building across two boxes I'd get a higher detailed wall which would leave me with more free space on the rest of the texture. Is this recommended, or should I keep UV coordinates within one box?

Also, let's say I make 20 buildings and 10 textures which are 2048x2048 px, then I use one tex per two buildings, ie. there is a pair of structures per texture. Would this be inefficient for performance?

Usually it's not recommended but I don't know how ArmA's engine works. Their tank tracks, for example, only have one or two treads taking up the whole square, then repeated indefinitely. I assume they animate the tracks by moving the tread uvs up and down... So you have BIS precedence on your side.

Share this post


Link to post
Share on other sites

now the question is if a single door texture and the dirttexture right upper corner wouldnt make more sense as smaller single maps.

the dirt texture 256x256, door 128x256, there are examples where bis did it that way. not only with textures that were used on multiple objects. for example check the benzina_schnell fuelstation 6 sections, 6 textures. would have been possible with less.

looking to other games, it seems to be a good way to use a texture on as many objects as possible. 4 windows textures, 4 doors, some wall, some roof and then mix them up to look not too boring.

but in other games every level is suited the role you play, if infantry, high quality, cause you near to see every scratch. when in a vehicle you dont need that high level of detail. and pilots are happy with some cubes with a rooftexture. thats the problem of this free game environment, its hard to find the balance.

Share this post


Link to post
Share on other sites
Quote[/b] ]Also, let's say I make 20 buildings and 10 textures which are 2048x2048 px, then I use one tex per two buildings, ie. there is a pair of structures per texture. Would this be inefficient for performance?

you see only one house but the texture is loaded completly in memory. 1024x1024 per house of course save ram when only one is in sight. 512x512 texture per house leave another 512 to use for details, window and doo f.er, wich can be left out in lower lod´s or be replaced with a small fast loading texture.

2048x2048 is a 2.7mb file, 10 textures are 27mb, only 10 houses are visible you waste 13.5 mb memory. 256mb has my card, around 5%used with textures not needed. looks inefficent to me, at least regarding memory usage.

Share this post


Link to post
Share on other sites

a 1024x1024 texture is enough for a building. 2048x2048 should be keep for humans or heavy detailled structures. + with the normal map, the quality of a 1024x1024 texture can be increased.

but for objects which are used for different buildings: shutters or roof by example. i would make a separate texture for them. that seems useless to load a whole texture just only for few objects

this is my thought. smile_o.gif

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×