PDA

View Full Version : Max Polycount in ArmA 2



Takko
Jun 16 2009, 04:51
Always bewn curios about that

Murklor
Jun 16 2009, 05:14
A good modeller make an excellent mesh with as low amount of polygons as possible, no need to worry about max polycount ;)

I've never modelled in Arma before, but a wild guess would be ~1500 for weapons (probably not including scope and such) and ~2500-4000 for vehicles. Its usually around there anyway.

The real question is what the happens when you go overboard, lol. In the Battlefield series, you can fill up with polygons until you run out of vertex memory.

Soul_Assassin
Jun 16 2009, 05:18
It was mentioned by BIS that vehicles in arma aproach around 20000 polies.

Murklor
Jun 16 2009, 05:20
Wow are they really that high poly?

Well then it doesnt surprise me the engine run like arse :p

Guess I underestimated Arma...

Adumb
Jun 16 2009, 06:16
32000 points or faces, whatever comes first.

.kju [PvPscene]
Jun 16 2009, 06:39
Best post a cite. Otherwise its just rumors.

mikebart
Jun 16 2009, 06:40
It was mentioned by BIS that vehicles in arma aproach around 20000 polies.

Wow, thats a lot of polys, are you sure you dont mean 20000 verts?

Max Power
Jun 16 2009, 06:51
A good modeller make an excellent mesh with as low amount of polygons as possible, no need to worry about max polycount ;)

I've never modelled in Arma before, but a wild guess would be ~1500 for weapons (probably not including scope and such) and ~2500-4000 for vehicles. Its usually around there anyway.

The real question is what the happens when you go overboard, lol. In the Battlefield series, you can fill up with polygons until you run out of vertex memory.


Weapon models in ArmA 2 have up to 8k polies, Characters up to 10k, and vehicles up to 20k. I assume that is to mean triangles. This information in available on the facts and figures pdf in the press kit section of the official website.

As for maximum number of polies for a single entity, I remember something being said about that or perhaps maximum size or something in a discussion regarding the aircraft carrier some months ago.

MehMan
Jun 16 2009, 08:07
I've never modelled in Arma before, but a wild guess would be ~1500 for weapons (probably not including scope and such) and ~2500-4000 for vehicles. Its usually around there anyway.

lol, this isn't 1998 anymore. A 1500 poly weapon will look ugly. Why go so low when you can add detail without ruining preformance?

In any case, 10k tris I think should be more than enough to model a huge machine gun with ease. 20k should be enough to model any vehicle with ease and sufficient detail. Ships are different though, but you can't really make huge ships in arma anyway, so, eh.

What matters most is proper LODing, with vehicles you can have a large variety of viewpoints the pilots need more detail in the cockpit while the passangers need detail in the cargo compartment, etc etc.

That's just the different view LODs, then there's the actual LODs, where the rule of thumb is that you cut down polies/tris by 50% for every LOD.

mikebart
Jun 16 2009, 08:18
Kind of OT but doesnt Oxygen2 currently limit you to 16000 verts? so will we be limited to that until an upgrade comes out?

.kju [PvPscene]
Jun 16 2009, 11:17
Why go so low when you can add detail without ruining preformance?

* More units instead of detail.
* CPU/GPU used for AI/effects/scripts (features).

To name a few.

Abs
Jun 16 2009, 11:48
32000 points or faces, whatever comes first.

I would take what he says as law. This is a wise man.

Abs

Soul_Assassin
Jun 16 2009, 22:27
Why go so low when you can add detail without ruining preformance?
A good engineer is not the one who has nothing left to build but one that has nothing else to take away.

Kind of OT but doesnt Oxygen2 currently limit you to 16000 verts? so will we be limited to that until an upgrade comes out?

I think it was bulldozer actually crapping out on the polies, not O2. Now A2 as bulldozer it should be fine. Never the less new tools would be welcome.

mikebart
Jun 16 2009, 23:05
ah ok, i see.

I think the polycount also depends on what the model is, for something like a car where you have a high specular paint finish with possibly some chrome parts you need more polys to make those shaders render nicely.
Projecting you're normals from high poly models can allow you to cut out alot of polys, but can also add alot of extra time to you're project.

gms
Jun 16 2009, 23:15
What do you think 12000 triangles for the infantry weapon that's OK?

Max Power
Jun 17 2009, 02:10
Is every edge loop and bevel contributing to the model in a meaningful way?

Murklor
Jun 17 2009, 05:07
Is every edge loop and bevel contributing to the model in a meaningful way?
I would answer that with: never :p

Maybe I'm old-school, but I really like low polygon meshes. That's why they came up with normal maps. Plus I'm damaged from being handed modders meshes in BF... I remember cutting a simple building down from 2000 polygons to 400 and it looked exactly the same *shudders*

scubaman3D
Jun 17 2009, 05:16
What do you think 12000 triangles for the infantry weapon that's OK?

Yes, thats fine. This isn't OFP anymore :p

I have stated elsewhere that some of the models I made for ArmA1 were nearly 13k tris and I've never had a single person complain about it and its never been an issue for me.

However, a good rule of thumb/guideline is to stick around 10k tris. Some of the BIS weaps approach 9k tris, I believe.

Synide
Jun 17 2009, 09:33
I would take what he says as law. This is a wise man.

Abs

In theory, technically the data structures support significantly more than 32k poly's (or verts), especially if you start using proxies. And, you can get a working model in-game with many more than 32k... However, this does effect other factors in the game. In practice, there are reasonable set of 'rules-of-thumb' that one should try to adhere to when modelling various models for Real Virtuality engine. Use the BIS ArmA1 example models as a guide for this.


Always bewn curios about that

Your question has no 'real' definitive answer as it depends on a reasonably large amount of variable factors. Remember, the answer to your question is always.... 42.

da12thMonkey
Jun 17 2009, 10:12
* More units instead of detail.
* CPU/GPU used for AI/effects/scripts (features).

To name a few.

If there are lots of objects on screen I'd be more concerned about the section count of the models and the texture resolution of those sections than their face count to be honest.

Section count appeared to have a more significant impact on ArmA's performance than face count, and unfortunately it's something that gets overlooked. Good LODs are important though; I've always been advised to try to half the face count in every resolution LOD.

As scubaman said, he's put weapons with fairly a high polycount (for a weapon) in ArmA without causing significant frame-rate issues for the end user because they're well optimized; with reasonable section counts and good LODs.


I would take what he says as law. This is a wise man.

Abs

QFT; Adam knows what he's talking about. Even if the engine can do more, I'd take his advise on what's a good target face/point count for models that represent the usual content of the game.

gms
Jun 17 2009, 10:31
Have not bevels. The model implemented by all the rules of low-poly. But there are 16-24 segments in cylinders of barrel&etc, and lot of holes in mesh, what don't want make with Alpha.

TheSun
Jun 17 2009, 11:55
Weapon models in ArmA 2 have up to 8k polies, Characters up to 10k, and vehicles up to 20k. I assume that is to mean triangles.

This should be kept as a guideline for everyone since it matches in most cases the game's models.

Placebo
Jun 17 2009, 12:37
Spam posts removed, I'll assume they're spam rather than abusive comments aimed at another forum member which would have resulted in post restrictions for the three of you.

raedor
Jun 17 2009, 13:42
I'd suggest to stop spamming, it'll just bring you in some more points...

mikebart
Jun 18 2009, 01:52
Have not bevels. The model implemented by all the rules of low-poly. But there are 16-24 segments in cylinders of barrel&etc, and lot of holes in mesh, what don't want make with Alpha.

Its ok to have 16-24 segments, but to keep them as one "section" you'll need to have them share one texture. Each moving part needs to be its own section though.

You can check you're sections in the resource library in O2

Max Power
Jun 18 2009, 03:37
Have not bevels. The model implemented by all the rules of low-poly. But there are 16-24 segments in cylinders of barrel&etc, and lot of holes in mesh, what don't want make with Alpha.

Bevels can contribute to a model in a meaningful way. If you think that all of the edge loops are necessary, then I would say that your model is probably alright.

NodUnit
Jun 18 2009, 06:53
This should be kept as a guideline for everyone since it matches in most cases the game's models.

Not quite, if you take a look at the models in O2 you will see that they are primarily quads with some tri's (when polies are spoken of it generally means tri's) included pending on model, especially vehicles.

However if you triangulate it or export it to be opened in another 3D program such as Max it auto triangulates and shows the real polygon count.

Some of which quite high, lets just say it is amazing you can run with so many humvee's with 50 cal's and A-10's at once without having much trouble.


Now that's not to say that you should go bizerk and polyhappy, it just means that this engine is easier with the polygons then textures and materials.

Normal maps are great they take more cycles then a diffuse so sometimes substituting certain parts with simple poly effects (excluded if you are using a normal map for it entirerly of course, unless you want to use low poly bevels with a normal map to make it appear more defined to use the best of both) may let it run better, and look more realistic especially if you add this to the shadow LOD

Of course you can also fake 3D even better with this engine since the shadow LOD is seperate rather then auto generated by the meshes. And that just like regular LOD's shadow's have atleast 2 LOD's but beware since this particular is a bit more...restrained.

EricM
Jun 18 2009, 08:27
The important part is to create the different LODS, not so much the higher polycount of the most detailled lod.

It's ok to have 15/20 000 tris on a close-up, if you have a 10 000/5000/2000/etc... poly versions for when going further away.

Good UV mapping is also very important performance-wise as the game make extensive use of rvmats.

TheSun
Jun 18 2009, 08:48
@<hidden>
I was talking about triangulated ArmA2 models...except the characters, i know nothing about their poly(tris) count. Basically you could say that the modelling standards are the same as they were with ArmA (to some extent).

earl
Jun 19 2009, 20:50
The important part is to create the different LODS, not so much the higher polycount of the most detailled lod.

I think its the best answer.

32768 vertices is a hard limit in ArmA -- as directx counts them. O2's points count is not quite the same thing depending on the number of sharp edges you have. I guess it applies to ArmA2 as well. I think its the max size of the vertex buffer. You'll know when you get there since buldozer fails to draw the model.

Hboybowen
Aug 31 2009, 19:47
wait so what should i watch for in my polycount

Hboybowen
Jan 27 2010, 18:53
can we get a official post on this subject

rstratton
Jan 27 2010, 21:20
I think its the best answer.

32768 vertices is a hard limit in ArmA -- as directx counts them. O2's points count is not quite the same thing depending on the number of sharp edges you have. I guess it applies to ArmA2 as well. I think its the max size of the vertex buffer. You'll know when you get there since buldozer fails to draw the model.

official enough?

NZDF CRASH
Jan 27 2010, 21:48
you can always use proxies if you have a model with super high poly count that breaks the arma2 limit

F2F_BHO
Sep 18 2010, 19:56
Okay , i give what are proxies and how do we use them

NZDF CRASH
Sep 18 2010, 21:37
you copy the excess parts onto a new empty model then save and create a proxy on the orginal model to the new model

JDog
Sep 19 2010, 05:49
Yea idk what proxies are either lol, which might help considering my project and that im on the detailing stage. Are you saying its basically two models attached together? Still same amount of polys/vertices right, just in different models that "co-exist" haha? In the end for performance it still comes down to how many polys are drawn on the screen right?

Franze
Sep 19 2010, 07:35
Hmm, kind of an old thread to dig up, fellas.

"Proxies" is close enough subject I suppose...

A proxy is an object displayed by proxy like the name says. The gunner, driver, cargo, etc. positions on a model are proxies, along with things like missile weapons and so on. Proxies only apply to view LODs - they can't add to geometry, memory, etc. Proxies can be animated however.

JDog
Sep 19 2010, 18:18
I feel like an idiot cuz this is probably a simple concept that I'm just not getting haha.

I looked in O2 and saw the Create > Proxy dialog. I mean I guess I understand its just to link/create the resolution LOD of one model into another? I suppose I'm just not understanding the benefit since its the same amount of polys on screen anyway. But then I'm working on a carrier which has no view (gunner/driver/etc) LODs so maybe I'm just not in the right mindset.

Fox '09
Sep 19 2010, 18:34
if you have more than 32000 polys or whatever on your model, you have to split it up into proxies. or if it is too big then you have to split it up.. it's not for optimization (correct me if i am wrong)

Franze
Sep 19 2010, 20:35
I feel like an idiot cuz this is probably a simple concept that I'm just not getting haha.

I looked in O2 and saw the Create > Proxy dialog. I mean I guess I understand its just to link/create the resolution LOD of one model into another? I suppose I'm just not understanding the benefit since its the same amount of polys on screen anyway. But then I'm working on a carrier which has no view (gunner/driver/etc) LODs so maybe I'm just not in the right mindset.

Simple demonstration: Make a simple model, like a box or a chair. Then in another model - say a car - use the proxy dialog and load the simple model you made. Now that proxy is represented by a triangle; you don't see the object in O2. However, when you load buldozer, the proxy model is being displayed along with your current model. The advantage is the game treats a proxy as a separate object, so if you have too many polies on one object and need to cut back, using proxies is a way to cut back on that limit. The intended usage though is for the above - missiles, cargo, etc.

namman2
Sep 19 2010, 20:42
it's not for optimization AFAIK it's for fixing some bugs eg : the model wont show up although it has low poly count
or if you want to add more details and you are hi on poly count

andersson
Sep 19 2010, 21:50
Its not for fixing bugs.
Proxies are used to show a model on another model. Examples are NV-goggles, AT-weapons on the back, missiles under the wings and so on. Then some modders are using that feature to get around some limitations.

Fox '09
Sep 20 2010, 01:16
proxies are really easy to use , i dont understand the confusion. plus, if you have trouble placing proxies , you can always go to view -> show proxies

JDog
Sep 20 2010, 04:58
ok i get it. somehow reading the previous pages i got the idea it was for optimization somehow and that was confusing me. idk that i'll personally have any use for this, doubtful but maybe.

[FRL]Myke
Sep 20 2010, 12:02
ok i get it. somehow reading the previous pages i got the idea it was for optimization somehow and that was confusing me. idk that i'll personally have any use for this, doubtful but maybe.

It is perfect for your interior, especially the chairs. Although you can work with copy/pasting the chair, using proxies instead has one big advantage: if you're reworking the chair as separate model, all chairs used on your carrier will immediately use the reworked one. So it prevents the hassle to search and replace every single chair in your model.

Besides that, i guess it is more comfortable to work on a object without a whole carrier in the same O2 window.

PuFu
Sep 20 2010, 12:26
ok i get it. somehow reading the previous pages i got the idea it was for optimization somehow and that was confusing me. idk that i'll personally have any use for this, doubtful but maybe.
It is similar to how 3ds max (i think you used that as your modelling software) is dealing with Xrefs.

The main advantage besides what Myke is saying is that you can split up the model in several parts, all with their own animations and LODs etc, using them inside one model only.

JDog
Sep 21 2010, 20:29
Thanks guys. Pufu... don't confuse me even more lol. No idea what Xrefs are. I am a total modeling n00b haha this is like my first real project. And yea Myke I see what you mean. In max when I copied the chairs I did so as an instance though so, the changes are automatic via that method as well. I can always isolate the object I want to work on or hide certain other objects to make viewing stuff easier too. Anyway thanks again I got my basic understanding of it now :)

Rommel
Jan 26 2011, 10:06
I'm not exactly wanting to dig up an old thread, but well I'm interested in the answer to a question.

If theres a 15bit (32,767) max number of vertices, how many are actually drawn in the engine at any one time? Or is purely a per model constant... yet you mention DirectX?

edit: 8bit... lol, I mean 15bit

PuFu
Jan 26 2011, 11:08
* the 32.767 is the vertex normal (http://msdn.microsoft.com/en-us/library/bb173380(v=vs.85).aspx) max count per P3D (due using 8bit-indices as you pointed out)

Regarding the amount of vertex the RV engine can handle(via DirectX 9), i can't tell. And i doubt anyone besides BI devs knows about it being capped or not.
All i know is that DX9 doesn't have a hard limit set - the limit is your memory size.

scubaman3D
Jan 26 2011, 13:27
I'm not exactly wanting to dig up an old thread, but well I'm interested in the answer to a question.

If theres a 8bit (32,767) max number of vertices, how many are actually drawn in the engine at any one time? Or is purely a per model constant... yet you mention DirectX?

as an example, I'm working on a vehicle for VBS2. The customer required that it had a 3D interior and it will have a functioning ramp that you can climb in and out of. The poly count is currently ~22,000 triangles (~16k O2 'points).

Bulldozer can render the model without a problem. However, if I select my model and hit 'U' to sharp all faces, this blasts the amount of vertex normals past 32k and bulldozer gives an error "Too many vertices" and will not render anymore.

The point count remained ~16k but the vert count changed. For this reason, it is smarter to split geometry along hard edges to save on the amount of vertexes. This allows you to play with the 'sharpness' of edges without sending vertexes over the limit.

Unfortunately, I don't know how to get O2 to tell me how many vertexes there are on the model..

Sparky
Feb 24 2011, 23:37
I thin that vertex count and polycount are at the bottom of your O2 screen.

About proxies.
Be cautious, although proxies is a good technic to save some of the polies actually made on the vehicle, there are some things that you need to take care and walkaround them.

i apologize to the admins about reposting a post of mine from an other thread but it's the best example to demonstrate the proxie use.
The following is part of the HWM pack 4.0 release which included an ah64a.

--------
ok, since we've promissed to reveal the polycount. here it is.

The AH64 is quite BIG poly, BUT, we based the design, on proxies in order to minimize the parts render by the engine at a time, and make it off course loadable in game.
Unfortunately since the model has a lot of details, we've created quite a few maps to get textured and in quite big size cause we wanted the best we could get. And that has as a result quite a few sections.
Although we gave our best to eliminate ST point errors, no planar face errors, nd keep the section count the minimum, still we are quite high.

Also keep in mind, that all the 3 weaponry versions are based on that one p3d.
But anyway.

Here the screens

The 1st O2 screen represents the AH64 as is in game, proxy parts are visible by the triangles

http://hwm.armedassault.info/personal/developement/ah64/ingame.jpg

The next image represents the WHOLE ah64 combined, no proxies, higher version of cockpit that in the ingame version areavailbale only to pilot view and gunner view and even the missiles.

http://hwm.armedassault.info/personal/developement/ah64/raw.jpg

You can read polycount/tri count and sections on the bottom, the last image hasn't very meaning since you can't have this polycount drawn at a time, basically cause of the cockpit, which are visible only in 1st person view, for 3rd person view it has been replaced with a simplified proxy of them.
---------
comparing the previous images you can see that we have designed the wheels, the missile pylons, the whole interior cockpit,the tads and some other parts as proxies, also by noticing the bottom of each image you can see that we have already break the barrier of 30000polys (quads - no tris) since Arma1, using the proxy technic.
BUT, here are the side effects. at least for ArmA1 since i haven't work with Arma2.
1)Engine doesn't handle proxies the same, which means that damage textures etc, aren't change for the proxie parts, you need to work with scripting technics in order to make an illusion. So, better use proxies for smaller parts which probably you will make them disappear when the vehicle will destruct.
2)since proxies are rendered seperately of the main object, as seperate you can have layered problems, which means that you can see some parts through the other, or you won't be able to see.


alsop digging up, that post i found an other research of mine about what a high poly model could cause to your system (ArmA1), here it is.
------------------------------------------------------------------------
Well i think it doesn't matter very much the polycount at this point since the source for the BIG Fps drop is an other factor.

So to sum up

Issue
-Stringtable problem with the non_English ArmA Versions (will be fixed in next version)
-FOV although FOV isn't really an issue but a personal taste thing, since the majority wants a closer FOV, it's going to be fixed
-Flight Model, Well at this point we can't invest very much in researching for the ultimate FM, but we will try some ideas to find a better one
-Leopard Armor, well don't worry about that wait and see... http://forums.bistudio.com/oldsmileys/wink_o.gif
-Tail Rotor, wrong spin direction, will be fixed in next version.
-Glass grey effect, that issue needs some research before we can have a solution, we're going to try though.
-Bullet Proof glass, Can easily fixed.

The Chopy/Frame Drop Issue

After the frame drop issue, we begun to invastigate in order to find the source. We do a varius tests in order to see different combinations and sum up with the safest results.
Scores that will presented here, are from my PC which is at the low-med PC category to RUN ArmA. The configuration is
Intel PIV Prescott 3.2Ghz, 2GB Ram 400Mhz, ATI X1950Pro Sapphire 512MB Ram AGP.
ArmA configuration, all options to max, with terrain detail LOW, postprocess LOW and view distance 1630, Screen Resolution 1280X1024.
With the following PC and ArmA configuration i Have 25-28FPS in an empty Rahmadi.
The test was to have 9 empty AH64A's with players back at them and when the mission starts to turn and face them in a way that all of them can be on screen from close distance

Results
http://hwm.armedassault.info/personal/other/results_table.jpg

As you can see the number of materials and Texture sizes doesn't have great effect on the FPS Drop issue but the Major Factor for the FPS Drop is primarily the Huge Number of selections and secondly the shadow polycount and the model polycount. Indeed if you consider that there are around 78 selections only for hydra missile proxies, plus 78 for the flashes, plus 16 for hellfires the number is raising quite high.
The better results for a low-end version could be a version that uses the 2nd LOD as 1st, and with no missile proxy disapearing or flashes (at list the way we do it now).
Also the thing that must be revaluate for this version is dummy selections that have been left there from editing and probably have no use, but may raise the lag possibility, and a better more less poly shadow, or even an other lod (no matter if i think that won't have FPS effect since the problem is greater in closer distance. Also we need to consider the possibility for an other last LOD very low poly, and lowering the Resolution LOD numbers in order to achieve faster lod switching if that's possible.

Hope that table can helps others to learn what thinks to avoid, in order not to face the same issue as we do.
-------------------------------------------------------------------------------------

these are all i can remember now.
The key when using proxies to lower your polucount but keeping the details high, is to use always smaller parts which aren't significant for the engine as proxies and not big and significant, like a turret or the maingun cause you will have problems. And off course try to make proper LODs

Kraetzer
Feb 25 2011, 09:37
For sure the Texture of one Model makes not a Problem but bring up many with 2048x2048 in the same area and you will get your drops.

The Drawcalls weight more than the Polygones.