Beard Groom No Longer Following Rest Of Face (REPORTED BUG)

Hello!

I ask this because my character’s beard suddenly changed relative location.

It was on his face one moment, and then when I went into play mode a few minutes later (after editing/beautifying the level) his beard was in the back of his head.

I restarted the Engine, and it still was in the back of his head.

I went into his BP and reset the relative location to 0,0,0 (default).

[[EDIT: I realized that the default location has been changed! The default relative location for all the other grooms are 0,0,0, but now the beard is something else.]]

Has something like this happened to anyone else? Should I place a redundant variable check to make sure it is always where it should be?

(PS: I know it’s very easy to blame the Engine if something goes wrong, when, usually, it’s our fault… but I dunno, I’m pretty sure I didn’t change anything.)

Values stored in blueprints default to zero when some node got disconnected.
However for beard suddenly snapping somewhere else indicates, you just moved it in component hierarchy, or did some mistakes with snapping to sockets or maybe animation blueprint.

Hard to really guess.

1 Like

PERCEPTIVE!

Because I’m just finding out as you wrote this that the body animation blueprint is interfering with the beard’s location.

When I disable the BODY AnimBP, the beard is in the correct location.

How should I disable the the BODY AnimBP from moving the beard?

I haven’t touched the AnimBP at all, so I don’t know why this is happening weeks later. It’s the default AnimBP.

Upon further inspection, it appears the beard is no longer following the transform/morphisms of the face. Despite being its child.

Advice?

Okay, so I’m actually relieved this is not my fault. There seems to be a bug with the BINDING.

  1. I need to go in the binding asset and change a value, any value, it doesn’t matter, so that the BINDING ASSET can “update”. If I do not change any values, it will not update.
  2. Then I remove the asset.
  3. Then I replace it.
  4. The beard attaches.
  5. I restart UNREAL ENGINE
  6. We’re back to square one.
  7. If I try to directly remove, then replace the binding asset, it WILL NOT WORK. In fact, I can’t even populate the asset query. I have to go INTO the asset, change a setting, and then I can get the binding to work.

If this isn’t a bug, I don’t know what is.

BUMP

Hello there, long time!
Is this a newly installed MH? Like the first of your project? Chek if you have Groom and Groom importer plugins installed. And check if you have skin cache marked as inclusive in your project settings. Also, check if that beard is supported only for LOD 0 and 1. If your LOD component is set to Force LOD = -1, it may cause glitches with unsupported groom assets. Then restart your project. Maybe that helps, worked for me a few months ago.

Hope that helps.
Keep up the good work.

1 Like

You’re ALIVE!

Great to hear from you as well!

No, I’ve been using the MetaHuman in this project for months now. Never any issues. I force the LOD at +1, and the skin cache is inclusive.

What exactly was your problem?

Because, as I’ve mentioned, when I refresh the groom binding (by changing a setting, then changing it back), and then reapplying the bind, it works again.

But if I DO NOT refresh the bind setting, even when I try to replace the bind setting after removing it, it no longer shows in the menu.

To me, that means that the Engine isn’t receiving any more information from it.

Possibly is just a glitch. I’ve noticed you reparented the MH to the Third Person Character. It happened to me in a similar way, and I just cleared all groom and binding assets, then reapply those one by one.

Yes, I’ve done that, but the issue is that the beard bind menu would not allow me to populate it when I tried to have the corresponding groom asset bind to it. All of the other groom assets bound just fine! The goatee, however, would not.

I tried this on my female character as well, and had the same issue. So, a reference somewhere with the asset or bind got corrupted.

I went to an older project, where the grooms/binds worked, migrated them into my current project, and now I can populate the menu! (Note! These binds must have a unique name such that they are not immediately re-binded to the original buggy binds. If your buggy groom/bind is “beard 1 / beard 1 bind” then change to “beard 1A / beard 1A bind”)

HOWEVER, upon startup of Unreal, this needs to be refreshed.

So, my workaround is to bind/rebind the grooms during the EVENTBEGINPLAY.

The original/buggy grooms/binds are called first, then immediately overridden by the new ones.

It’s essentially a patch, until Epic resolves this. But it’ll do for now, and it’s consistent.

Thanks for the help, and if you (or anyone else) has advice, I’m all ears!

2 Likes