Thursday, February 22, 2007

Polycounts Revisited

I notice a new forum at Military Meshes devoted to low poly modeling. The topic of polycount limits comes up frequently at design sites such as FsDeveloper.com and Freeflightdesign.com forums. So what are the polycount limits when it comes to creating virtual aircraft for the MSFS & CFS series?

Firstly I would urge the reader to purchase a good book on creating content for computer games. My bible of the last 2 years has been 'Game Art: Creation, Direction and Careers' by Riccard Linde. This book put me right in a number of areas and dispelled a few myths about model creation that I had encountered across a few web forums. Additionaly I would also recommend 'Creating Art of the Game' by Matthew Omernick. Perhaps not as comprehensive as Linde's book but useful and enjoyable none the less.

What are the technical limitations of creating aircraft for MS simulators?

For CFS3 I think there is a limit of 64k indices per object in gmax. An aircraft model scene can contain many objects. It's unlikely that a well designed model would ever reach such limits. Models of 200,000k triangles are technically possible but not practical as one would encounter graphic card memory and bandwidth limitations. Counts of 70,000+ triangles are feasable and possible in the top level LOD and the aircraft will remain functional in the context of a combat sim such as CFS3, provided, and this is important...., provided the remaining LOD's are modeled in accordance with CFS3 SDK guidelines and examples. More sensible counts are in the 30,000-50,000 region and ideally in the 20,000-30,000 region. It's useful to be aware of these limits. A reasonable external model could be modelled using less than 30,000 triangles, but details such as engines, wires, rigging, struts, guns, crew, fixed undercarriage, floats, and exterior cockpit details can quickly exceed the triangle count of the main airframe if not careful.

Additionaly in CFS3 there is only a slight difference performance wise between an aircraft with a polycount of 5,000 and that with a count exceeding 60,000. The lighter model peaks at higher fps in CFS3 however there is only an approximate difference of about 3-4fps when it comes to average fps in the external view. When it comes to virtual cockpits I have found that triangle counts of about 80,000 are feasable, though counts much lower than that are preferable. Part count, animations and textures are important in determining performance in the virtual cockpit. The triangle count in the CFS3 Bristol Fighter was higher than I would have liked but that was due to it being a two man cockpit. Feedback on the perf of the CFS3 Bristol Fighter has been positive, with comments that it is light on the frames.

FS 2004 is the most limiting flight sim to model for. The makemdl compiler from the FS9 SDK has a limit of 64k vertices per module. i.e. 64k in the interior model and I would guess the same in the exterior LOD 400 module. The FS9 compiler also optimises and welds vertices closer than 4mm, though there are possible solutions, involving more work. I find that FS9 does a poor job on small round parts regardless of the resolution.

FSX on the other hand is absolutely beautiful to model for. At this time I know of no technical limitations of the export tools with vertex counts. I would say that modeling practices used for CFS3 could easily be applied to FSX with the added benefit of FSX materials system. With the overall perf issues in FSX one should always be cautious about going too far.

Feedback on perf of the FSX Biff has been positive... so I appear to be on the right track. After all it's all about pleasing the users.

These days with modern graphics cards polycount is not as critical as it used to be. Factors such as design of the mesh, textures, uv maps, part counts and materials all come in consideration. Indeed I would view part count and texture bandwidth as being more critical than polycount.

In a future article I hope to touch on some mesh creation techniques useful in the creation of virtual aircraft.

In the meantime I'm off to have a break for a couple of weeks.

cheers

Rob

Footnote: While there is considerable lattitude as to polycount in the current FS Sims.... always design for the smoothest and most detailed mesh, however aim for the lowest poly count possible to acheive that result. - Rob