Go Back   Knife Edge > RealFlight - Designer's Corner > RealFlight G5 & G4 - Designer's Corner
Use of this site is subject to our Terms of Use. | Technical Support is available from Great Planes Software Support.

Reply
 
Thread Tools Rating: Thread Rating: 4 votes, 5.00 average. Display Modes
  #1  
Old 12-13-2010, 06:08 PM
Alek's Avatar
Alek Alek is offline
Registered User
 
Join Date: Dec 2007
Posts: 21
Lightbulb Low poly modeling & the KEX exporter

When bringing models into RealFlight, the KEX exporter plugin enforces a 20,000 triangle limit (including collision frames). This is done for several reasons:

1. Performance implications in-game. The more polygons any individual model contains, the more resources are required to draw that model on screen. Performance in any 3D application is a delicate balance between polygon and texture budgets, multiplied by how many objects will be on screen at any given moment, added to all the other features an application needs processing time for (flight physics, screen effects, etc.). The 20k limit is enforced to help maintain this balance in RealFlight. RealFlight needs to be able to render full 3D scenery, background objects and multiple aircraft on screen at once.

For comparison, 10k is still actually considered quite high for a single asset in a game or simulator (Gears of War, Microsoft Flight Sim, etc.). In most cases, as hardware becomes faster, it is more effective to use those performance gains to render more complex lighting, better shaders, and more elements on screen at one time instead of throwing more polygons at any single asset.

2. Import performance. There is an upper limit to how complex a single mesh can be and successfully load into RealFlight without causing stability issues. The KEX poly limit is enforced to maintain stable application performance.


In-house we always shoot for as close to 10k as possible for an aircraft. Helicopters will usually be higher, but should never go above 15k. For example, the new P-51 in G5 is 9.3k, the Russian Thunder model in G5.5 is 13.2k, and the Thunder Tiger Innovator from G5 is 14.4k. These numbers include all cockpit details, and exclude collision frames, propeller and rotor blades.

Important! Artists should keep in mind that a ‘poly’ can have three or more sides, and when we’re talking about poly goals and limits, we are only referring to polygons with exactly three sides. In Studio Max, make sure you are displaying both the “Polygon Count” and the “Triangle Count” in your viewport statistics (Click the plus sign in the upper left of the viewport, select “Configure…” then the “Statistics” tab).


A few tips:

-Focus on the silhouette of the object. Nothing screams ‘game model’ like rough curves or jagged edges. Sweeping external edges are a better geometry investment than a lot of internal details that could be brought to life with simplified geometry and exceptional textures.

-Don’t be afraid to weld. After you’ve made an initial pass at the basic forms, you should be constantly looking for places the mesh can be simplified without destroying those shapes. Points and edges that can be welded or deleted resulting in fewer triangles should always be eliminated.

-Prioritize details. Keep in mind at what distance the model will most usually be viewed from, and what the minimum and maximum ‘safe’ viewing distances will be for the object. Distribute polygons and texture space accordingly.

-Use smoothing groups to your advantage. Smoothing groups are a very powerful tool in Max. Put many polygons in the same smoothing group to average the surface shading and make it appear as if there is more smooth geometry than there actually is. Likewise, consider creating hard edges by splitting the smoothing group, instead of creating a chamfer or bevel.

-Use normal/specular maps. By adding a normal or specular map to your model, you activate ‘per pixel shading’, which renders much smoother highlights and shadows on the model. Even if you don’t want to paint in every detail, adding a very small normal map (128x128 pixels) will give you smoother highlights over the whole model.

-Research. There are many great resources online and in print for 3D modeling, and forums like CG Society and Polycount are both great communities to visit for inspiration and learning. This simple Max tutorial may help illustrate some of the above concepts, and give further insights into modeling and texturing low poly assets.


Attached are a few screenshots which show the wireframes of some of RealFlight’s more complex models. These shots will hopefully give you a better idea of how we build our assets for optimum efficiency and visual impact.
Attached Images
File Type: jpg innovator_shaded.jpg (200.8 KB, 94 views)
File Type: jpg innovator_wire.jpg (369.1 KB, 112 views)
File Type: jpg p-51_shaded.jpg (177.7 KB, 95 views)
File Type: jpg p-51_wire.jpg (253.0 KB, 118 views)
Reply With Quote
  #2  
Old 12-13-2010, 06:31 PM
jeffpn's Avatar
jeffpn jeffpn is offline
Registered User
 
Join Date: Mar 2005
Location: Beavercreek, OH
Posts: 18,386
Well, Mikey, the good news is that you got KE's attention...

Thank you for the explanation, Alek.
Reply With Quote
  #3  
Old 12-13-2010, 07:08 PM
Cowpig Cowpig is offline
Registered User
 
Join Date: Sep 2010
Location: [Classified], New Jersey
Posts: 1,126
Quote:
Originally Posted by Alek
When bringing models into RealFlight, the KEX exporter plugin enforces a 20,000 triangle limit (excluding collision frames and propeller/rotor blades).
Wait-clarification on my understanding:
The amount of triangles for the collision mesh is not counted with the number of triangles associated with the visual model?
__________________
'Go with what works, I guess.'

When free things go wrong-
'Let's just pretend open source is crap'-Not_Xptical
Reply With Quote
  #4  
Old 12-13-2010, 07:14 PM
Alek's Avatar
Alek Alek is offline
Registered User
 
Join Date: Dec 2007
Posts: 21
Correct, Cowpig.

Any frame tagged as ~CS_COLL and parented to a visual frame will not be counted toward the overall visual triangle count at export. Instead it will be counted toward the separate 1,500 tri limit for collision frames.

For this reason I find it useful to establish separate selection sets for collision frames and visual frames, and make sure to enable 'total+selection' in the viewport configuration dialog. This way it is easy to keep track of how many polys you really have for the visual, and for the collision, respectively.
Reply With Quote
  #5  
Old 12-13-2010, 07:19 PM
Cowpig Cowpig is offline
Registered User
 
Join Date: Sep 2010
Location: [Classified], New Jersey
Posts: 1,126
That's very helpful. Thanks.

20,000 for model, 1,500 for COLL.

I now have an extra 1,500 I can use on my current model.
__________________
'Go with what works, I guess.'

When free things go wrong-
'Let's just pretend open source is crap'-Not_Xptical
Reply With Quote
  #6  
Old 12-13-2010, 07:25 PM
pplace's Avatar
pplace pplace is offline
Registered User
 
Join Date: Oct 2006
Location: Minnesota
Posts: 1,595
Quote:
Originally Posted by Cowpig
That's very helpful. Thanks.

20,000 for model, 1,500 for COLL.

I now have an extra 1,500 I can use on my current model.
I'm not sure you got the "drift" of his topic. He's suggesting: Yes even though RF does have a poly limit of 20,000 (plus 1,500 collision) it's still BEST to limit your use of polys on any given model. Focus more on the exterior "visual" looks of the model, and possibly not so much on very minor detail or items that 99% likely will never be seen or noticed. This will help RF run more efficiently.

On the topic of RF performance: Which has more of a hit on RF performance.

Maxing out the poly limit at 20,000
or
Adding complex physics in the editor (movable pods, etc.)
Reply With Quote
  #7  
Old 12-13-2010, 07:27 PM
Cowpig Cowpig is offline
Registered User
 
Join Date: Sep 2010
Location: [Classified], New Jersey
Posts: 1,126
Yeah, I got that. I read the whole thing. This much detail just this once.
__________________
'Go with what works, I guess.'

When free things go wrong-
'Let's just pretend open source is crap'-Not_Xptical
Reply With Quote
  #8  
Old 12-13-2010, 07:30 PM
dhk79's Avatar
dhk79 dhk79 is offline
Registered User
 
Join Date: May 2006
Location: Alexandria, VA
Posts: 4,399
Quote:
Originally Posted by pplace
On the topic of RF performance: Which has more of a hit on RF performance.

Maxing out the poly limit at 20,000
or
Adding complex physics in the editor (movable pods, etc.)
From personal experiance, I'd go with the complex physics (but by complex, I'm talking about many nested movable pods).
__________________
- Knowing why ten things will not work is more important than not knowing why one does.
Doug's Project List
Reply With Quote
  #9  
Old 12-13-2010, 07:50 PM
pplace's Avatar
pplace pplace is offline
Registered User
 
Join Date: Oct 2006
Location: Minnesota
Posts: 1,595
Quote:
Originally Posted by dhk79
From personal experience, I'd go with the complex physics (but by complex, I'm talking about many nested movable pods).
Okay thanks. That was my thinking as well. If I remember correctly the only time I ever saw any sort of "sluggishness" was when I set up my Boeing Clipper (it had numerous movable pods for the control surfaces, water flaps, etc.

Obviously the best answer is to limit the use of both polys and real complex editors. Overall this has never been a big issue though, so I feel things are okie dokie with RF

Thanks again
Reply With Quote
  #10  
Old 12-13-2010, 08:18 PM
flexible's Avatar
flexible flexible is offline
Registered User
 
Join Date: Jul 2008
Location: na
Posts: 2,263
Send a message via ICQ to flexible Send a message via AIM to flexible
I don't see moveable pods interfearing, as long as I change all the defaults to (1)
__________________
Fly it like it is made out of rubber
Victory or Death
"Ineptocracy"

Wings 3D for dummies
Mapping in Wings 3D for Dummies
Pivots in Max for Dummies
Linking the Hierarchy in Max for Dummies
Reply With Quote
  #11  
Old 12-13-2010, 08:29 PM
Maj. Numbskully's Avatar
Maj. Numbskully Maj. Numbskully is offline
Registered User
 
Join Date: Jan 2009
Location: Gatesville Texas
Posts: 7,650
I always thought that numerous pods was a big performance hit ...
Isn't that how that one user was crashing sessions?
__________________
Photography MegaryT [[°©;]
(aka Maj. Numbskully)
https://plus.google.com/collection/IPvFbB
Reply With Quote
  #12  
Old 12-13-2010, 08:38 PM
Dr.Moo!'s Avatar
Dr.Moo! Dr.Moo! is offline
Registered User
 
Join Date: Mar 2009
Posts: 660
It is if you have ALOT of them, and Yeah, but That was fixed
__________________
T B4 U P

Fly 'em till the rotor comes off!

There is a line between what is normal and what is crazy and I think we all just crossed that line. Yes, we definitely crossed the line with this topic.
It has been a pleasure Posting with you and flying with you guys, after we are all banned forever till we die, we will just have to find something else to do, and in the end Break it!!

-csgill75
Reply With Quote
  #13  
Old 12-13-2010, 08:56 PM
Maj. Numbskully's Avatar
Maj. Numbskully Maj. Numbskully is offline
Registered User
 
Join Date: Jan 2009
Location: Gatesville Texas
Posts: 7,650
fixed for G5+
but not for 3.+ / 4.+
I believe flex is running 3.5 so I would think it would effect him
.maybe he has not yet put so many that he sees a hit
__________________
Photography MegaryT [[°©;]
(aka Maj. Numbskully)
https://plus.google.com/collection/IPvFbB
Reply With Quote
  #14  
Old 12-13-2010, 09:07 PM
Dr.Moo!'s Avatar
Dr.Moo! Dr.Moo! is offline
Registered User
 
Join Date: Mar 2009
Posts: 660
30+ causes a big hit, 64+ becomes horrible.... If I remember correctly
__________________
T B4 U P

Fly 'em till the rotor comes off!

There is a line between what is normal and what is crazy and I think we all just crossed that line. Yes, we definitely crossed the line with this topic.
It has been a pleasure Posting with you and flying with you guys, after we are all banned forever till we die, we will just have to find something else to do, and in the end Break it!!

-csgill75
Reply With Quote
  #15  
Old 12-13-2010, 09:38 PM
flexible's Avatar
flexible flexible is offline
Registered User
 
Join Date: Jul 2008
Location: na
Posts: 2,263
Send a message via ICQ to flexible Send a message via AIM to flexible
It only takes a few pods to change performance, if you do not reset the defaults to 1 or 0.
Attached Images
File Type: jpg ScreenShot001.jpg (84.1 KB, 60 views)
__________________
Fly it like it is made out of rubber
Victory or Death
"Ineptocracy"

Wings 3D for dummies
Mapping in Wings 3D for Dummies
Pivots in Max for Dummies
Linking the Hierarchy in Max for Dummies
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:40 PM.