To anyone familiar with the Unreal 3 engine

I’ve been working on some rigs for an unreal 3 mod and I’ve come to a crossroads. The problem I’m running into is the bone count for the engine. As you know, less bones equals less processing time so I want to keep my bone count as low as possible. I was under the impression that only bones that are skinned will show up in the engine (all of my rigs incorporate an IK/FK switch with 3 different bone chains for the arms). Unfortunately, this is not the case. All of the bones show up regardless of whether they are skinned or not. Then I thought that only the bones in the main hierarchy would show up in the engine so I disconnected the IK and FK driver bones from the hierarchy and constrained them instead. Even after that, they still show up. My question is: Is there a way to keep these bones from being imported into the engine?

I was under the impression that you constrain the rig and such, bake the animation and then import just the bind rig with the animation baked onto it. That way your not bringing 3 joint chains. Just 1 skinned bind chain.

That’s what I tried, but when I digested the animation, it still counted the bones. I should try baking the animation… Thanks!

On this UDN page you’ll find example max files, see if they help.
They have the in-game skeleton bound to an animated biped, so that’s how
they have full control over what bones get exported.

Also, if you haven’t read it already, this “Creating animations” page might
have some relevant info on the topic.

Awesome, thanks a bunch.

Yep you need to seperate your skinned hierachy from your control rig. Then, before exporting your skelMesh and PSA anima you need to strip the maya scene off everything you don’t want exported. So for the skelMesh export from a scene with just your mesh and skinned joints. Make sure the hierarchy is in bind pose foe this. For the animation you will need to bake keys to the skinned joints and remove all other nodes. You don’t need the mesh for exporting anima either, though it doesn’t hurt if it’s still there. I’m assuming you’re exporting through actorX?

I’ve written tools to do the scene strip and export calls automatically, it’s worth the te investment if you plan on exporting regularly.

On joint counts; you are not really limited, but once you go over 75 the skelMesh will be split into another clump. SkelMeshes are also slit into clumps per unique material, so if you do go over 75 joints there are efficiency considerations to do with how the materials overlay on your joint hierarchy.
Example 1:
Bipedal character has 2 unique materials - upperbody and lowerbody. In each area effected by the materials there are 40 joints, giving you a total of 80. Now, because the skelMesh has 2 materials it will be two clumps anyway, and because each area covered by the material is effected by only 40 joints respectively it will not auto slit base on joint counts. So in this case the skelMesh will 2 clumps

Example 2:
Same character with same two materials. This time the area covered by upperbody material is influenced by 76 joints and area covered by lowerbody by 4 joints. We have the same materials as before and the same joint count, but because a clump can only be infuenced by a max of 75 joints it will automatically split the skelMesh into a third clump.

So, you can see that joint count alone is only a part of what you need to consider. Really it’s that in conjunction with how your materials are layer out. Lots of clumps are inefficient as
each one requires a unique draw call to the rendered.

As a rough guideline we have 6-9 clumps for key characters with 80-100 joints, so clump generation is material driven. For fodder enemies 3-4 clumps with 70 or so joints, then a range somewhere between the two for more complex enemies.

Matt.

…apologies for typos, iPhone keypad and two large G&Ts!

I am first time visiting this nice forum, my freinds are alwasys asking me for the good recourses to read out and now I am gonna suggest them this nice one

I first came to this forum, I feel this forum is not active. Why not join some of the topics that should have been then do not talk