Mixamo/Fuse characters fall though the floor

TeagansDad

New member
When I use the Character Manager to build a character using a model from Mixamo (including but not limited to characters created in Fuse), the character immediately falls through the floor when I press play.

This did not happen in the original Opsive Store version from Sept 9th; it started after I got the updated version from the Opsive Store on Sept 18th. I've tried two Fuse-created characters as well as a "stock" Y-bot model, and it happens with all of them. I have tried copying all of the components from Nolan in the demo scene, but it makes no difference.

I tried setting up a character model from a different source (one of Riko's animation packs), and it worked fine. So far, I've only seen it with Mixamo characters.

Third Person Controller (v2)
Unity 2018.2.6f1
Steps to reproduce: drag a humanoid Mixamo character model into the scene, open the Character Manager, assign the character, and complete the build process using the default settings.
 
After further experimentation, the issue seems to be that TPC/UCC does not like character models with the skeleton as a direct child of the root GameObject. The standard Mixamo and Fuse characters all follow this same structure:

1537397492474.png

I checked out a few other character models to see if I was on to something. All of these work fine:

Nolan:

1537397525974.png

Archer (Riko's Archer Animset Pro):

1537397569798.png

One of Explosive's demo packages:

1537397613992.png

So I tried creating an empty GameObject as a parent of the Mixamo character model and moved the Animator component to it. When it came to the Ragdoll setup in the Character Manager, I had to assign all of the transforms manually, as it did not detect any of them. However, after I did that, the character worked fine:

1537397911832.png


So there's something to go on. :)
 
I think that this is related to the CapsuleColliderPositioner not resizing correctly. Open CapsuleColliderPositioner.Initialize and move:

Code:
var localPosition = m_SecondEndCapTarget.localPosition;
localPosition.y = m_CapsuleCollider.height;
m_SecondEndCapTarget.localPosition = localPosition;

to be within the if(m_SecondEndCapTarget == null) block.
 
This was the winning solution. THanks Justin.

Hey, how about a "locked" solutions megathread where you have them all consolidated?
 
This didn't work for me. I was using a Mixamo character:

private void Initialize()
{

// If the CapsuleCollider doesn't have a second end cap then the character doesn't have an animator. The end cap should be
// a child GameObject so abilities (such as HeightChange) can adjust the collider height.
var localPosition = m_SecondEndCapTarget.localPosition;
localPosition.y = m_CapsuleCollider.height;
m_SecondEndCapTarget.localPosition = localPosition;

if (m_SecondEndCapTarget == null) {

m_SecondEndCapTarget = new GameObject("EndCap").transform;
m_SecondEndCapTarget.SetParentOrigin(m_Transform);
EventHandler.RegisterEvent<float>(m_CharacterGameObject, "OnHeightChangeAdjustHeight", AdjustCapsuleColliderHeight);
localPosition = m_SecondEndCapTarget.localPosition;
localPosition.y = m_CapsuleCollider.height;
m_SecondEndCapTarget.localPosition = localPosition;
}

This is what the code is supposed to look like correct?
 
I think that this is related to the CapsuleColliderPositioner not resizing correctly. Open CapsuleColliderPositioner.Initialize and move:

Code:
var localPosition = m_SecondEndCapTarget.localPosition;
localPosition.y = m_CapsuleCollider.height;
m_SecondEndCapTarget.localPosition = localPosition;
to be within the if(m_SecondEndCapTarget == null) block.

This just worked for me Justin. I had the problem after downloading the updated UCC package from opsive.com. Thank you so much.
 
I tried Justin's added code to the place where he said and got a couple of errors. I then moved this above the if(m_SecondEndCapTarget == null) block:

var localPosition = m_SecondEndCapTarget.localPosition;
localPosition.y = m_CapsuleCollider.height;
m_SecondEndCapTarget.localPosition = localPosition;

After I did this the errors were gone, but the original problem of characters falling through the floor is still there. Wait, was there an update already?
 
Last edited:
After I did this the errors were gone, but the original problem of characters falling through the floor is still there. Wait, was there an update already?

I was asking on Discord, and I believe Matt confirmed it. It had the same name with the original file from two weeks ago, but when I imported it, this fall through problem came through. Maybe you already imported that one already.
 
All my Daz characters also fall though the floor. all the above fixes will not work to remedy the problem. i need to move on with my project. time is money. i can't wait for long to get a working solution. is it possible to get a refund. if i cant use my already paid for (expensive daz characters) , i will need to use a different controller that works.
 
Last edited:
Can you send me a repro scene of the character still falling through the floor? I'd love to get it fixed.
 
Can you send me a copy of the character that you are using? I don't have access to a Daz3D character. In the meantime if you disable the CapsuleColliderPositioner under the Character/Collider/CapsuleCollider GameObject it'll prevent the character from falling through the floor.
 
Last edited:
Can you send me a copy of the character that you are using? I don't have access to a Daz3D character. In the meantime if you disable the CapsuleColliderPositioner under the Character/Collider/CapsuleCollider GameObject it'll prevent the character from falling through the floor.

Morph3D uses the exact same DAZ3d character, which is under the asset store.
 
this is looks like an error I encounter few days ago and justin said it was capsule collider reposition bug and send a fix via email. here is the fix, you can try if it solves your problem too
 
You're good @Northstar79 :)

Version 2.0.1 is now out and the fix is within this version. Please update to the latest and let me know if you are still having any issues.
 
I've been having this issue with Nolan in the UltimateCharacterController demo, the code fix above didn't do anything to fix it, and neither did updating. I accidentally purchased the upgrade for TPC to TPC2, followed by the full first person controller rather than the ultimate character controller. is it possible I'm missing something because of that?
 
Top