10 October 2009, 02:09 AM
This is a little long winded, but I hope it helps to clarify instancing in games.
Pretty much every game engine I've experienced on PS1, PS2, Xbox, Xbox 360 and PS3 uses some form of instancing. They may not call it that, but anytime they are loading an object into memory one time and reusing it multiple times across a "level" they are instancing.
No matter what, you will still take a hit on rendering, because the polys are being rendered, but you are only getting a memory hit once per asset.
The catch with instancing something like wheels, doors and such is that you would save memory on instancing the exact same mesh combination. However, if you want to mix and match wheels and doors, more than likely, the mesh combinations will be "baked" either during the loading phase of the game or on the fly. Most likely the meshes and textures would be baked together into an asset package stored in memory. On some engines, you be able to do a combination of asset baking and realtime combination by finding the most common combinations of chassis assets and the most common combinations of wheels, rims, etc. and baking them into two assets packages that are then combined by the engine realtime.
This all goes I bit beyond what you are asking, but I thought I would chime in with it.
Regarding your poly budgets of 1,500 polys. I would consider 1,500 tri's as being the number you need to hit including instanced parts. As a mentioned above, you will take a rendering hit on ALL polygons and most poly budgets are based off of rendering performance or frames per second rather than memory budgets.
If the engine also has a memory budget constraint for meshes, it is normally given as a vertex count (ie your mesh can have 1,500 tris and only 800 vertices). The vertices are what the engine is actually storing in memory. The tri's are recalculated realtime by the gpu or cpu or spu.
I hope this helps somewhat and please let me know if I need to clarify anything.
10 October 2009, 02:33 AM
Thank you for the reply. it actually clarifies a lot more then what i asked. I've been looking online to find a explanation of what goes on in the game and had no luck. What you posted is more then enough and greatly appreciated.
The task asked for 1500 poly's with no reference to quads or tri's, so i was trying to model a 1500 tri car without instances and it was getting me nowhere with any detail. Which made me ponder the instance question.
I believe the model stays as is, without any in game modification with switching parts like wheels,bumpers etc.
If i'm reading what you posted right, if the model has no changing textures/parts etc. Then using instances would not be a problem.
Thanks again, greatly appricated.
10 October 2009, 02:33 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.