View Full Version : Definition of Cluster

01 January 2007, 12:28 AM
Hello all,

I have a quick question regarding clusters. I'm making models for my friend and I's game, and we are using the OGRE engine with my copy of XSI (so I'm using the OGRE .mesh exporter). My question is how does XSI handle clusters? Are they simply for ease of selecting or are they exported as render groups? For instance, I'm working on an AR-15 (cliche, I know, but it's an integral part of our game so far) and the OGRE engine says it has around 11 render groups, and it's taking a significant hit to the frames per second. Are clusters related to this, and if not, any idea on how I get rid of the render groups?

Thanks in advance,

Ben Day

01 January 2007, 01:27 AM
Most likely someone else will a better explanation than me, but here's my go:

Clusters host properties ("cluster properties", such as uvs, envelope weights, etc) used to read and write non-destructive data that depends on geometric components (points, edges, polygons, etc).

The data lives only in the cluster property, unless you freeze the said cluster property. Generally the cluster itself keeps track of the components and their built-in attributes, while the property it holds uses it to maintain the "custom" data.

This is why things like envelope weights, uvs, weight maps, etc, live on the object as long as the cluster property is there. If you remove the cluster property, those custom attributes are gone. If you freeze, some cluster properties (like hard edges) can change destructively the geometry. On the other hand if the cluster is left, the components it refers to are still available for other cluster properties to be created.

So strictly speaking clusters are not render group or selection sets. They're just recordings of components, that can have multiple use. You should avoid having unnecessary clusters on the object.
As for performance I have no idea, but I know that using materials on polygon clusters is not such an uncommon workflow in game production.


01 January 2007, 11:52 PM
So clusters are like mini-objects all part of one object? They hold all the information regarding the actual geometry in separate sections to be accessed independantly, no?

This in mind, I'd still like to try to have my whole gun in one giant cluster, since everything should be rendered together (I have made the gun in separate pieces for low-poly reasons). is there anyway I can collapse clusters without losing my UVs?


01 January 2007, 10:56 AM
You need to merge the separate objects into one as a copy and export that. Right now you're probably exporting X number of objects with X number of UV sets.

01 January 2007, 02:48 PM
But doesn't Polygon - Merge delete all the UVs of objects being merged?

I tried that once - merging all objects into one. But I exported the file to modo, since it has the pelting tool and it was far faster to do the picatinney rail in modo, and when I reimported the .obj file, XSI broke it up into separate clusters again. Or I can reimport them as objects, but I will have negated merging them in the first place.

I was thinking their may be some way to simply remove the cluster separations while keeping all the polygon information intact. Maybe selecting all the polygons and trying "Remove from Cluster" or something. Any other ideas? This is just a guess.

01 January 2007, 06:07 PM
Only if you tell it to will it delete the source objects. It's right there in the properties editor that pops up. There are two buttons in the Inputs section that say Hide/Unhide and Delete. Merging and not deleting is simply creating a new object with the attributes (UV sets, weight maps, etc.) merged into one.

Select all objects > Create > Poly mesh > Merge | Inputs: Hide, Tolerance: 0, UVs: Merge

That will give you one object with all the UVs in one map and hide all of the input objects while preserving their structure. Select the new object and place it on a new layer and call it export model or whatever suits you. The only things you don't want in the one mesh are anything removable in the game, like magazines. You'll want to export a separate model with its own UV set for that.

For the most part you'll want to merge everything together to get one UV map. There certainly are times when you want multiple sets of UVs (like if you want to use 2x 1024 textures) but rarely ever more than 2 sets.

That's my best guess of what's happening based on my experience in other engines and the workflow required.

01 January 2007, 06:11 PM
Ah, that's excellent help. Thanks a ton. Got it figured out now.

CGTalk Moderation
01 January 2007, 06:11 PM
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.