Home Website Youtube GitHub

Smoothed rigged mesh, for Unreal Engine Exports

Good day, I am sure it is not to late to say Happy New Year to all the mGear users as well!

:black_small_square: Maya 2023.2
:black_small_square: mGear version: 4.0.9
:black_small_square: Unreal Engine 5.1.0

I ran in to a little problem that I hope have an easy answer. :smile:
I have a rigged Character with great topology, for weight painting and deformation.
The rigged Character`s mesh from Maya needs to get smoothed before it gets exported to UE 5.1.0
(Epic got rid of Tessellation in the new version of UE)

This is what I have done for the moment:

  1. I’ve added a poly smooth to the geo. (The weights on my eyelids looks good)
  2. In order to export the smoothed geo to UE, I have to delete non-Deformer History to get rid of the
    Smooth node.
    After the non-Deformer History was deleted my weights on the lid looks like this (See pic)
    I understand why it happens, I am sure it is how Maya interprets the weights for the extra loops that was added by the smooth.
  3. Our pipeline is FBX based, we can not use Alembic for this project.
    ####################################################################

My question is:
How do you bring a rigged Character as a FBX in to UE 5.1.0 with out redoing or touching up the weights on the smoothed mesh?

Thanks in advance, have a great day!

####################################################################

Ideally you would have smoothed it first, and then did all your skinning.

So… this is what I would try:

First thing to try:

Make sure your skinCluster does NOT have “maintain max influences” turned on. Make sure no influences are locked. Then try again. Because maybe deleting non-deformer history would work better if those things are turned off. But probably not. Delete non-deformer history is often pretty problematic. As a rule, I highly suggest avoiding this command on production rigs.

Second thing to try:

  • Before deleting non-deformer history, duplicate the mesh. The duplicate will be smoothed, with no history.
  • Copy weights from smooth history to smooth duplicate. It might be perfect 1:1? I’m not sure if that smoothed info is stored. So it might work. It might not.
  • SkinCopy settings - Surface association: Closest Point on Surface. Influence Associations: [One-to-One, Closest Joint, Name]

Third thing to try: (This will likely only work if you smoothed AFTER skinning. If you skinned on top of a polySmooth, this will likely not work.)

  • Delete the polySmooth and get back to your actual mesh and skinning.
  • Duplicate the mesh. And smooth the duplicate. Delete history first.
  • Copy weights from low to smooth. (That also might not be perfect, but 95% chance it will be a LOT better than the delete non-deformer history algorithm.)

  • If you have blendshapes, transfer those too. I often do that by wrapDeforming a duplicate. Turning on each shape one at a time, and duplicating the wrapped mesh, renaming it the name of the shape. (I use a script for this.) Then delete the wrap, and use those as blendshapes on the new duplicated smoothed mesh.

(Make sure your wrapDeformer settings are set so that you don’t get the same stuttering interpolation. Choose a good falloff, etc.)


ngSkinTools

I assume you are skinning on lower poly meshes because it’s easier. But ngSkinTools makes skinning so much easier. You can use layers and masks. It’s Photoshop vs. Microsoft Paint for skinning.

It is extremely powerful. When you transfer layers from one mesh to another, it is FAR easier to clean up individual areas without messing up the other areas. But you have to learn the tool, of course. And it can take a while to wrap your head around the new workflow.


Sorry I couldn’t think of a shorter reply.

4 Likes