Author Topic: Guidline for statics (polycount, texturesize) ?  (Read 1728 times)

Offline Knitschi

  • FH-Betatester
  • ***
  • Posts: 324
    • View Profile
Guidline for statics (polycount, texturesize) ?
« on: 03-08-2009, 13:08:23 »
I searched the modding section and fenrings tutorials for a guidline for statics but couldn't find any. Though I think I remember that I read something about this somwhere (maybe in the old forum?).

I would like to know:

-How many polys do you use for statics of diffrent sizes, for example houses, trees, small things like furniture...
-What texture sizes are recommended for the different textures like colormap, detailmap, lowdetailmap...

I know I could examine some of your content to find it out, but this will take alot of time. I hope you have the figures in mind so you can post them here in a few minutes.
It would be nice if you could add a small "tutorial" like the mapping standards on fenrings page. It just had to be a few lines long with the basic information.

I would be very grateful  :)

Offline Natty

  • Developer
  • ******
  • Posts: 3.170
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #1 on: 03-08-2009, 14:08:59 »
BF editor handles the sizes itself, just use the standard 512 sizes for the maps, at least on the first couple of maps you're doing... later on you can experiment, for example will smaller sizes if you're making huge maps, or larger if you ake tiny maps... but just keep it standard for starters. And work in scale 2.

When you create a new level in editor you can set all this, and you never have to care about it ever again for that particular level

Offline Ionizer

  • Full Member
  • ***
  • Posts: 1.524
  • Carrier of Squirrel Flu
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #2 on: 03-08-2009, 16:08:47 »
He said Statics, not maps.

Anyway, I found this with a quick Google search:

Quote
BF2 Mod Polycount Guidelines

Please note that these figures are still preliminary and it would be advisable for teams to initially target their models to be 75-80% of the stated recommendations.  Also of note is the fact that these figures are intended to get the most out of the Battlefield 2 engine, which is designed to support 100+ players in expansive environments with a mix of urban and open settings.

Objects
Buildings                                                             Rec. Max. Polygon count
House small (i.e sheds)                                           800
House Medium (i.e village houses)                      4000
House Huge (i.e City houses)                              6000

 
Number of building LOD steps and reduction in poly count.
LOD0    100%
LOD1      50%
LOD2      10%

Misc. Objects
Smaller object doesn’t have any strict rules since it is impossible to categorize them in to groups with a strict poly count.

Examples from FH2:


^That counts as a "Shed" I think, but (according to the FH2 Wiki Toddel) it has ~1200 542 polys.


^That might be a ""Medium House," but it has ~6000 2373;1641;1912 polys from left to right.


^And that is definitely a "Large house," but it has a whopping 14322 5958 polygons.

EDIT:  Cribbed out the irrelevant parts of the quote, while also trying to preempt confusion by editing my incorrect comments.
« Last Edit: 03-08-2009, 17:08:20 by Ionizer »
 

Offline Toddel

  • Administrator
  • ******
  • Posts: 713
  • Donate for the biggest BattleField Mod Supporter!!
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #3 on: 03-08-2009, 16:08:01 »
Quote from: Toddel
LODs and COLs

Each model is made by:

    * LOD0 - this is what you see ingame

    * COL0 - this is a 1:1 Copy of your LOD0, you need to clean up all unneeded UV channels. You need to set up materials for the surfaces (concrete, wood stairs etc) you can clean up you model from unneeded Texture Cuts to make the col0 as lowpoly (lowtri games count in tris!) as possible. Dice did not do that - their models look horrible.

    * COL1 - this is the collisions for Vehicles against Statics. you can make it as simple as possible. a tank will never enter a house and the Plane does not care if you have a 3 side cylinder as Chimney or a out modeled one.

    * COL2 - this is the collision for players. You need to take care a lot of this collision. BF2 is very picky against all small steps etc. I spend a lot of time for the upcoming release [i.e., 2.15] with cleaning up old models and make them more accessible. This Col is the one that demands the most resources from the Server, the Server must compare all Soldier movements with the statics and give you a feedback. This models must be also as highpoly as possible.

      Notes on col2:

          o Steps must be made a ramps. You have to add a Stairmaterial on these Ramps this is a special material that let the Soldier climb higher angle. You need to select a special material for footstep sounds (stairs_concrete, stairs_ wood, stairs_metal). Add these ramps also on entrances make sure you have always little stairs in house entrances, that allows the mapper to vary the Highplacement a bit.
          o Windows if the are to small to get out close it in your col2. you can save a lot of polys.
          o Roof construction wood delete it inside your house better add a compete plane below the beams if player could reach it.
          o Doors could be made from 2 planes which represent the two door surfaces. you can delete the small sides of your Box. players cant enter the small sides and you can save lot of polys here.
          o Garbage, Stones and Fallen Logs need only Col2 if its important to reach something or player could hide inside. If not delete it, or you will get stick on it.
          o Rubble could use a concrete_stairs material is sometimes better to climb.
          o Make sure it is not possible to stick somewhere between logs or stones. better close small gaps. Also some time the feet of the player can stick into the LODs. Well IMO its more worth to have a smooth Moving as Perfect look.
          o If you have a closed house or something a player could glitch inside you can add a Pyramid inside with Deathmaterial. The Cheat0r will die Immediately as he touch it. Wink


    * COL3 - this is for BOTS. If you want to use your static on Bot supported Maps you need this. The COL3 must be made from one piece!
      IMPORTANT, if you have more the piece the Mesh is broken and bf2 creates a big Box as COL3. if you have spawnpoints inside the Singleplayer will not work.
      Made from one piece mean that you have to extrude any door and anything you want as detail in your col3. Bots don't need a handrail on stairs. Bots will never walk on roofs. never climb ladders. so you can delete everything in unreachable Areas.
      A not enterable static can have a Simple BOX as COL3, if you don't want that bf2 generate it automatically.




LODs
If you have a Model which is under a special Polycount and have a big size its not always possible to create lods, and its not needed.

Example1: a big wooden Crate. 3x3x3m you have 2 tris/side. This model really dont need a LOD. you can see it over long Range and its lowpoly.
Example2: BF2 Rocks - they have 500 tris and only 1 lod. The size is so big compared to the model that its better to save the lods.

Lods create lightmapsamples for shadows. More lods more sample. You see?

well if you have a model like a small house you can create lods.


    * LOD1 is the Model that is shown to Persons using bad PC´s. Keep that in mind if you create your lods. It should have 75% polys of the LOD0.
      You can reach that by welding verts from champfered Stairs/corners or you can make a waterpipe in LOD0 8-sided and in LOD1 4-sided. Delete all the small details which are not important for the Model. Doorhandles everything you could not seen if you are 10 m away.

    * LOD2 is for medium Range you can delete surfaces inside your model, ceiling to name one. But make sure you don't delete surfaces which can be seen from outside. Also keep in mind that the house could be placed and you can probably look at the ceiling from below through the windows. You can remove inner parts pf chimneys etc... LOD2 50% of LOD0

    * LOD3 is for long distances. Make this very low. Delete the complete inside of your model. You can add a box inside to make sure you cannot see through the inside of your walls. Steps could be simplified to ramps, etc.... LOD3 should be as low as possible. LOD3 25% of LOD1 or below.


You must keep in mind that as better the lods are, as faster can you lod. if you can see any visible changes on your lods you can have a LOD3 at 30m. This improves your performance a lot.

Note: before you start to work on your LODs, export the LOD0 and render the Shadows for one Time. To do this its best that one of your mappers creates you a empty small map with a Spawn for both sides. It would be best to have a neutral lightsetup. Now you can place your static on the map and Render the shadows. If everything is ok, go back to your 3d tool and create the Lods. If you skip this test it might be possible that you have Lightmap errors all over your Static and the most annoying thing over all your Lods. The fastest way to get rid of bad lods is deleting;) and fix LOD0 and do new LODs.


Summing up
COL0 Decals and Sound
COL1 Vehicle
COL2 Player
COL3 Bots

LOD0 Visible Mesh 100%
LOD1 LOWSPECS MESH 75%
LOD2 Mid Range 50%
LOD3 Long Range 25% or lower



Quote from: Toddel
Default sizes and values for modeling
Toddel wrote:
-50cm for outer walls
-25 for inner walls
-a doorway is 1m wide and 2m high.
-a door is 5cm thick
-windows blinds are 5cm thick.
-a storey is 3m high
-stairs are ~25cm each.
-windows are differnt from static to static.


FH2's texture resolution scale is 1 cm = 1,7066666667 pixels.
Or in other words, 3 m = 300 cm = 512 pixels.

(These values should be accurate but need confirmation)   

Offline Toddel

  • Administrator
  • ******
  • Posts: 713
  • Donate for the biggest BattleField Mod Supporter!!
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #4 on: 03-08-2009, 16:08:13 »
all Wiki Poly counts are Wrong


542 Polys


2373;1641;1912
5958 Polys

Offline Ionizer

  • Full Member
  • ***
  • Posts: 1.524
  • Carrier of Squirrel Flu
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #5 on: 03-08-2009, 16:08:32 »
Hmm...  Might as well just delete my entire post, it seems out of date and your is more helpful anyway.  Plus, I have no idea what I'm talking about.

EDIT: Or I could just edit out the stupid stuff.
« Last Edit: 03-08-2009, 17:08:04 by Ionizer »
 

Offline Knitschi

  • FH-Betatester
  • ***
  • Posts: 324
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #6 on: 03-08-2009, 17:08:04 »
Thanks a lot guys! that was very helpful.

Now I have only two questions left:

- What happens if an object has no lod meshes?

- How many 3ds max length units are one meter ingame?
« Last Edit: 03-08-2009, 18:08:50 by Knitschi »

Offline Toddel

  • Administrator
  • ******
  • Posts: 713
  • Donate for the biggest BattleField Mod Supporter!!
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #7 on: 03-08-2009, 17:08:39 »
http://www.bb-mapping-designs.de/phpkit/include.php?path=content/articles.php&contentid=29&PHPKITSID=3b005ef5f429920a1d0048ca9b37a306

check this out.



NOTE: The guy in this Tutorial do not everything correct!! or at least not how i or we at fh2 would do it. but for a start its a good Tutorial. Oh its german but i saw in your Profil that you have a "berlin" email so i guess you will understand it. ;)
« Last Edit: 03-08-2009, 17:08:25 by Toddel »

Offline Knitschi

  • FH-Betatester
  • ***
  • Posts: 324
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #8 on: 03-08-2009, 18:08:02 »
Yes I am german  ;)

I read the tutorial about multylayer texturing. Do you use the dirt and crack layers for your statics in fh 2 ?
It seems to be quite some work to make all those layers.

Edit:
I searched through the StaticObjects folder a little and some more questions occured.

Why don't you have a full set of textures for each object? Does this save memory? It seems that color textures are used by multiple objects as there are very few of them.
You have colored textures as detail texture while the guy in the tutorial said that the detail texture is a bumpmap und should be in greyscales. What are detail textures realy about?
« Last Edit: 03-08-2009, 18:08:21 by Knitschi »

Offline Toddel

  • Administrator
  • ******
  • Posts: 713
  • Donate for the biggest BattleField Mod Supporter!!
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #9 on: 03-08-2009, 19:08:03 »
thats what i meant about he dont say anything right.

Before anything else the BF2 system is very dumb system for statics. Having big Textures is only good for reducing Drawcalls. to have as less drawcalls as possible its importent to have in best case all the Textures you need in 1 Texture.

what bf2 use is to have a color texture that lays under a Detailtexture. Detailtextures can be desaturated or colored. they will lay as a layer over the colortexture. this is good to give a base color to the static. if you have a very good Detail texture that should look like on your texture you can just use a white colortexture and you have your pure detailtexture. when you want this same detail with some greenish dirt for example on a bridge that stands in the water then you add a greenish colortexture. to the parts where you want it. the Dirt layer is more usefull imo as the Color layer imo. because you can use allmost 1 Dirt texture for the complete game. Then there is the crack layer. he is also very nice because you can also use 1 texture for the entire game. chipped plaster bullet holes all this stuff. will look more or less the same all the time.

much better for performance but less Flexible is how dice did it for heroes. there 1 house loads 1 texture. that means they have there walls, roof, doors , windows and Rainpipe or what ever on one Texture. that reduce drawcalls a lot compared to bf2 where you have many more drawcalls. 1 for the roof textures 1 for the wall 1 for the windows etc. this is insane. We did that for 2.2 and we are really sad about. i would love to redo all the statics and reduce the drawcalls alot by using more well thought about textures. if we where a  REAL Gamestudio and i would be the Boss we would redo all this stuff. but we cant do that because it would delay fh2.2 for several months. so we have to eat this for now. we will keep this in mind for the future.

to say it short forget the color texture. for now...Detail is the importent thing.

oh there i have a nice idea about the use of detail textures. if you check out the dice bf2 map wake you can see that they used Ground tiles for a roof texture. you can do that if you have a detail that is not very clear and desaturated. thats the advantage of grey detail texture. this would never work for a "Dutch red brick wall" but for a strike at karkand backyard brickwall with differnt color paintet.


Offline Knitschi

  • FH-Betatester
  • ***
  • Posts: 324
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #10 on: 03-08-2009, 21:08:29 »
Thank you that you took the time for such a long reply!  :D

This was very interesting. I just repeat it in my words to see if i got it right.

Normally I should not use the color texture.
As many objects as possible should use one big texture to reduce the number of drawcalls.
(what is the biggest possible texture size?)

Offline Natty

  • Developer
  • ******
  • Posts: 3.170
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #11 on: 03-08-2009, 22:08:36 »
He said Statics, not maps.


ah ok, colormap/detail/lowdetail is a typical mappin reference so I took for granted he wanted to know that also...  :D

Offline Toddel

  • Administrator
  • ******
  • Posts: 713
  • Donate for the biggest BattleField Mod Supporter!!
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #12 on: 03-08-2009, 23:08:12 »
you need the color texture. but its not importent for the look of the detailtextures. If you want the details pure you use a white colortexture, (we have a tiny one in fh2) if you want to have the details colored you use a color texture as base.

Quote from: Knitschi
As many objects as possible should use one big texture to reduce the number of drawcalls.
(what is the biggest possible texture size?)

the Biggest Texture you can use is 2048x2048. But to answer the rest of your Question. well thas not so easy to answer. its the best to have as less drawcalls/static as possible. but not to use the less Textures as possible. if you have a bathtub for example. it would be usefull to have the texture on a small texturesize. if you want to have the Textures for a house with all the different textures i mentioned before i would use a bigger texture. but then again you can come into a problem that you cant make all Textures Tileable very good. we used for FH2 2048x512 Textures for Houses. while we made the error and have them seperated. means we have roof on 1 texture and plaster on a different. then we have the misc stuuf on a 3rd and the windows on a 4th. this is good for the most flexible way to Texture different house and allows it to make the highest number of variations but again you raise the number of drawcalls/static.

to make it short: think very well before you start which Textures you need and in which way. Then make the Texture for it.

Offline Knitschi

  • FH-Betatester
  • ***
  • Posts: 324
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #13 on: 03-08-2009, 23:08:52 »
Ok. I will try to keep your advice in mind.

Edit:
Is the size limited to 2048 x 2048 = 4194304 pixels, or is the edge length limited to 2048 ?
I mean can I use 64 x 4096 textures for example?
« Last Edit: 03-08-2009, 23:08:58 by Knitschi »

Offline Toddel

  • Administrator
  • ******
  • Posts: 713
  • Donate for the biggest BattleField Mod Supporter!!
    • View Profile
Re: Guidline for statics (polycount, texturesize) ?
« Reply #14 on: 04-08-2009, 15:08:43 »
i dont know exatly. ::) i saw allready textures with 1024x8 or so. but who should want that? ::)