WIP: Leopard 2 A5
-
Fine, so atm. we have 126 Tris for one wheel.
Now what if we think about to create two wheels in one part,
because most of the bottom geometry might be hidden anyway, so …=========================================
2 wheels in one part, … 184 Tris.=========================================
You could simply texture the middle part in dark color, so “Joe Pilot” might not spot the “fake”.
(I quickly did another darker cyl here to explain the texture thing)=========================================
Let’s select those polys left and right and detach them to a new object.=========================================
If we hide that fresh detached object, we see some potential to poly optimize further.=========================================
Long story short, if we make it look like a tube (or create a new one), …=========================================
… then we have saved again 24 Tris.
Unhide our detached object again.=========================================
And we can still reduce some Tris …
Hide the main object to get free view on our detached object.
Now select those 8 edges like I did and collapse them.=========================================
… another 8 Tris saved.==========================================
Uhmm, looks a little small if we unhide our main object.=========================================
So simply scale the detached object in xy.=========================================
Finally we could end up with 152 Triangles for two wheels.At the end select all vertex of each object and use the Weld tool with a low distance value.
Beside reducing the sides of the cylinder(s) that’s the max. Tri optimizion a modeller can do
for such an object, IMHO.And sure Arek, you can also save 4 Tris from the single wheel by using detach, select/collapse edges,
then scale detached object.I hope this post helps you and others, and maybe even creates ideas how to save some Tris
in other 3D modelling situations.Cheers,
LS -
I’ve read that you should not have faces with more than 4 sides? for some reason. I think it was something about triangles, a square make two triangles. Is that of importance too?
Regards
F -
Sorry Arek, but …
I’ve read that you should not have faces with more than 4 sides?
In 3dsmax (and for my understanding) a Face is a triangle.
How can a triangle have more than 3 sides?IIRC and AFAIK some modellers try to avoid Polygons with more than 4 sides for some reason.
In the end everything is based on Triangles in 3D world.
I think it was something about triangles, a square make two triangles.
Correct.
Is that of importance too?
Yes.
In 3dsmax create a box, add an edit poly modifier, press 1 on the keyboard to change to Vertex submode.
Select one Vertex of the box and move it 30% into the box.Press 4 on the keyboard to change to Polgon submode.
In the Edit Polygons rollout menu press Turn.Now you see all those triangles.
on a side which is affected by the moved Vertex, click on a dashed line to turn it’s direction
and watch how the look of your model changes.Cheers,
LS -
Thank you for your kind explanation, Lazystone!
I don’t have time to make it, but it is really great that you take time to show your knowledge!
It is moreover very clear and useful for beginners or apprentices!
Best regards,
Radium
-
In 3dsmax (and for my unstanding) a Face is a triangle.
Hi Lazy, AFAIK a face isn’t necessarily a triangle, but can also refer to a quad (2 triangles). For example the quads that we render the clouds and PS particles on are called faces, but each is made of 2 triangles.
-
Hi Lazy, AFAIK a face isn’t necessarily a triangle, but can also refer to a quad (2 triangles). For example the quads that we render the clouds and PS particles on are called faces, but each is made of 2 triangles.
That’s why I said “in 3dsmax”.
I know there are differently meanings for the same term in the 3D modellers world,
and that’s why not only newbie 3D modellers are confused sometimes.It’s the same when we talk about max. polycount but mean triangles.
… not long ago I was misleading Pumpyhead by using the word polycount instead of triscount … LOL.Cheers,
LS -
@LS
Thank you very much for the great tutorial.My wheel is 106 tris ATM and split into 4 parts:
I have deleted invisible poly (count…each poly 2x tris):
You could simply texture the middle part in dark color, so “Joe Pilot” might not spot the “fake”.
(I quickly did another darker cyl here to explain the texture thing)You’re right “Joe Pilot” might not spot the “fake” cyl… But if someone wants to make a screenshot (near distance), it may look not nice.
So I did the green part of the wheel:A better example is here:
rendering without the green parts:rendering with a green parts:
I have to try Your idea.
I also have another think …delete green part and yellow part change in LodEditor as LP- NodeType, then rendering will be 2 sides (I have not tested it yet).
The next think…in my wheel is… reduction from 12 sided cylinder to less in the blue part… but I leave it until my model is below 4K.I hope you understand what I mean :)… And please share your experience … Master lazystone. :bowd:;)
Eghi
-
@LS
Thank you very much for the great tutorial.My wheel is 106 tris ATM and split into 4 parts:
I have deleted invisible poly (count…each poly 2x tris):
This might not be as efficient as you think. Compare vertex counts between what you have and if the wheel was one object. Vertices are the things the engine has to transform in order to get your model from object space into world space.
Plus anything that breaks the rendering batch is bad i.e. ptype changes, shading groups, texture change.
Any break in rendering batch mean another draw call, with each draw call you get 300 tris for free effectively. So low level lods less than 300 are probably pointless but they must be all one batch.
Regards
Dave -
My wheel is 106 tris ATM
I also have another think …delete green part and yellow part change in LodEditor as LP- NodeType, then rendering will be 2 sides (I have not tested it yet).
The next think…in my wheel is… reduction from 12 sided cylinder to less in the blue part… but I leave it until my model is below 4K.2- sided rendering would be nice, … keep us updated
I hope you understand what I mean
Absolutely
@Eghi:And please share your experience
Pfff, buy a book or watch tutorials at youtube.
… Master lazystone. :bowd:;)
Compared to those real Masters around, I’m still a rookie.Cheers,
LS -
Compared to those real Masters around, I’m still a rookie.Cheers,
LSWow, the new of the day: Finally, I found the lazy rookie :rofl:
Haha…
Nikos. -
This might not be as efficient as you think.
I guess we thought about polycount (tris), that’s all.
Compare vertex counts between what you have and if the wheel was one object. Vertices are the things the engine has to transform in order to get your model from object space into world space.
Do vertex counts weight more than tri counts?
If the wheel is one object the tri count is 144.
So I think the result in post #16 is the best, tri count is 126 and vertex count is
also less than if the wheel was one object. No?Plus anything that breaks the rendering batch is bad i.e. ptype changes, shading groups, texture change.
Any break in rendering batch mean another draw call, with each draw call you get 300 tris for free effectively. So low level lods less than 300 are probably pointless but they must be all one batch.
Regards
DaveIs the GFX engine smart enough to render all identically ptypes first, then next,
… all identically shading groups first, then next, etc.
or do it render how it comes (which results in more draw calls)?Cheers,
LS -
+1 eager for the answers…
-
What can I say about that? if you remember I came almost to any “new model(s)” thread in the forum and asked to keep tris count to the limits, but some people just say “yea yea yea, so we will make it an independent download”… so people think we are kidding… but at the end of the day your V-Card, whatever type or quality it is, is drawing triangles, so people make 60K vehicles with crazy LOD distance, you have a column of such 6-7 vehicles in front of you, you also have TGP on them, so you got ~300K tris rendered double time just for those vehicles…
I’m not saying the limits cannot get a big higher in the future, but as you see it’s possible to create great looking ground vehicles, ACs and ships within the limits, and with correct LOD distance
Totally agree, there are some good low poly models already in falcon, a thousand ( or two ) poly model can be a big improvement on many of the others.
I don’t need hi detail models on the average ground unit, but it would be nice to see the lods transition nicely preserving the outline/shape texture out to at least 3000ft and then to have decent destroyed models to BDA after.
-
2k Tris limit is hard target for Vehicles with 12 or more Wheels without normal maps.
In other hand, is it very difficult to reduce tris count for LODs from Objects with very high tris count. -
Do vertex counts weight more than tri counts?
Not sure how tris count is calculated in 3D Max but I believe WD knows what he is talking about… e.g a simple cube has 8 vertices, but 12 tris… vertices is indeed what’s being translated, rotated and transformed by DirectX, tris are usually what’s being drawn by draw calls.
Is the GFX engine smart enough to render all identically ptypes first, then next,
… all identically shading groups first, then next, etc.
or do it render how it comes (which results in more draw calls)?Yes, DirectX is a state machine, so you set states for e.g texturing, blending, materila (Ptype) and you draw all you can by a single draw call (of course assuming you pushed everything you need in a smart way to a common vertex and index buffers, because buffers are also set for a draw call…), then if say you need to replace texture then you must update the current texture DirectX will use and execute another draw call, same if you need to update material, you need to update the DirectX state with the material properties and execute another draw call, etc etc… so for example you better have an Aircraft with 1x2048 texture than 4x1024 or 16x512 to cover the same area, much more efficient.
-
If the wheel is one object the tri count is 144.
So I think the result in post #16 is the best, tri count is 126 and vertex count is
also less than if the wheel was one object. No?As I-Hawk explained it has to do with the draw calls so it’s not possible to say from your description because you haven’t specified things like texture usage/mapping and smoothing. If the 144 tri object was one smooth group and didn’t break texture mapping then yes it would probably be more efficient because it could be drawn in one draw call. You can see why giving a simple tri count as the limit is easier for most to deal with.
It would be nice if we have a model viewer that told us how many draw calls a model needed. That was something that DXEdit from FF did which was useful.
I’ve seen some people use untextured polys in models thinking they were being more efficient but as soon as the pType changes it’s another draw call.
Use the node summary in the export to see what pTypes are being generated for the LOD, it can help you ensure that a few incorrect pTypes are getting through adding extra draw calls.
Regards
Dave -
:munch:
:mrgreen:
Regards,
demer -
Not sure how tris count is calculated in 3D Max but I believe WD knows what he is talking about… e.g a simple cube has 8 vertices, but 12 tris… vertices is indeed what’s being translated, rotated and transformed by DirectX, tris are usually what’s being drawn by draw calls.
No doubt
Correct, a simple cube has 8 vertices, but 12 tris.
@LS:
Is the GFX engine smart enough …
Yes, DirectX is a state machine, so you set states for e.g texturing, blending, materila (Ptype) and you draw all you can by a single draw call (of course assuming you pushed everything you need in a smart way to a common vertex and index buffers, because buffers are also set for a draw call…), then if say you need to replace texture then you must update the current texture DirectX will use and execute another draw call, same if you need to update material, you need to update the DirectX state with the material properties and execute another draw call, etc etc… so for example you better have an Aircraft with 1x2048 texture than 4x1024 or 16x512 to cover the same area, much more efficient.
Just to get this right, … in case of smoothing groups (SG) for example …
I know we should use max. 3 SGs, so if I have modelled a untextured tank like Eghi did,
and I have used only SG1, SG2, SG3 and one ptype for the whole model,
then this model will have 4 draw calls, one for each SG + 1 ptype?Cheers,
LS -
As I-Hawk explained it has to do with the draw calls so it’s not possible to say from your description because you haven’t specified things like texture usage/mapping and smoothing. If the 144 tri object was one smooth group and didn’t break texture mapping then yes it would probably be more efficient because it could be drawn in one draw call.
OK, I got it, … it’s all about draw calls, not tri- or vertex count.
You can see why giving a simple tri count as the limit is easier for most to deal with.
Oh, I was also fine with the tri count limit, until I found out that I can keep the limit,
but still being not that efficiently.It would be nice if we have a model viewer that told us how many draw calls a model needed. That was something that DXEdit from FF did which was useful.
Sounds good, … wouldn’t similar be possible within your 3ds plugin?
I’ve seen some people use untextured polys in models thinking they were being more efficient but as soon as the pType changes it’s another draw call.
OK
Use the node summary in the export to see what pTypes are being generated for the LOD, it can help you ensure that a few incorrect pTypes are getting through adding extra draw calls.
Sure, i always use it during export.;)
Cheers,
LS -
Keep it at two calls……ptype2 and ptype14…you will be amazed soon…LOL!!!
The Illuminati…LOL!!!