Game Development Community

Question about model node hierarchy

by Brandon Russell · in Torque 3D Professional · 08/17/2010 (1:49 pm) · 2 replies

Hello all,

I've been attempting to export some complex actor models from SoftImage and I've ran into a little bit of a snap. My problem is I have an actor made up of 4 or more seperate model parts, much like a robot. I made individual convex collision meshes for each part, as well as an overall "bounds" cube around the entire model.

In the node layout I'm getting confused as to how it should be exported. I understand "bounds" should be on the root level, but how do I name the individual collision meshes to note that they are in fact collision meshes and not standard meshes.

I tried:

root
|
-- base01
|
-- meshbody
-- collision01
|
-- base02
|
-- meshLftArm
-- collision02

etc..

SoftImage will not let me name a node/entity with the same name so I'm having to name the collisions differently. I'm not even sure if I'm even close to doing it correctly. Any help is much appreciated.

-Brandon

#1
08/17/2010 (10:20 pm)
Take a look at the LOD and Collision Geometry sections of the official docs.

For generic convex meshes, the name should start with ColConvex, and should end with the detail level size (a negative number). You can use any (non-numeric) characters in between to make the name unique. eg.

root
+- base01
|  +- meshbody2
|  +- ColConvex_body-1
|
+- base02
|  +- meshLftArm2
|  +- ColConvex_LftArm-1
+- bounds

Note that you can use the '_' character instead of '-' if Softimage doesn't allow '-'s in names. This hierarchy would create two detail levels: one at size 2 containing the normal (visible) meshes, and one at size -1 containing the collision meshes.
#2
08/18/2010 (1:36 pm)
Thank you for your help.

I actually had to dig on offsite posts till I found the answer. What I ended up doing was setting it up like this inside XSI.

root
+- base01
|  +- detail2
|  +- collision-1
|  +- start01
|  |  +- meshbody2
|  |  +- colconvex-1
|  +- start02
|  |  +- meshbodyB2
|  |  +- colconvexB-1
|  +- start03
|  |  +- meshbodyC2
|  |  +- colconvexC-1
+- bounds

Now, if that is correct or not I'm not 100% sure, but it does allow me to export as COLLADA and re-import it into ShapeEditor ingame and select TrailingNumber of 2 and it properly imports the shapes and then setups the collisions properly too. I then run the console command "ShapeEditor.shape.saveShape("whatever.dts");" and it exports my changes out to a solid DTS file.

If that is the only way for now, this process should really be looked over and made more streamlined, at least incorporate the ability of ShapeEditor to save out the changes of the collada file to a pure DTS file so you don't have to manually enter in that command.