See above.
Steps to Reproduce
Generic scope of the question: our team wants to have a widget or a solution at their disposal purposed to generate semi-random metahumans. The target market is Film VFX (visual fidelity over real-time optimization, level sequences with animations keyed to the metahumans), the scope of the semi-random metahumans should be contextual, allowing artists to fill a scene with extra characters (e.g., a “soldier” preset, defined by DataTables with soldier-specific metahuman clothing). We’d also like the solution to be generic enough to fit different character types (ideally a matter of swapping DataTables to reference different SkeletalMesh clothing).
Specific narrowing of the question: I’d assume a viable way to achieve the aforementioned would be the Mutable plugin. Correct me if I’m wrong here.
Regarding attempting Mutable to generate semi-randomized populations, I’ve encountered some critical bugs that prevents us from fully utilizing this plugin. Namely:
- groom assets not being displayed correctly on a metahuman
- Mutable previews not working (grooms, population preview)
- Mutable assets included in a Level Sequence crash Unreal Editor on reopen
To replicate the issues:
- download some metahumans with grooms from Bridge
- follow the groom tutorial to attach a groom asset to a metahuman: https://github.com/anticto/Mutable-Documentation/wiki/Grooms [Image Removed]
- when adjusting the mutable nodes accordingly and hitting the “Compile” button, the preview instance shows correctly (as depicted in image above)
- when changing instance parameter “Hair” on the preview instance (dropdown GUI), the hair groom breaks down all over the place of the metahuman; only hitting the “Compile” button again fixes it[Image Removed]
- when generating a Customizable Object Instance (COI) and saving it as asset through Mutable’s Customizable Population Class, followed by adding this COI into a Level Sequence, the COI metahuman has its groom broken down, just like in the uncompiled preview window[Image Removed]
- when saving a Level Sequence with COI Metahuman in it, closing Unreal Editor, reopening Unreal Editor, and reopening said Level Seuqence, the editor crashes. I’m attaching the crashlog.
Furthermore (minor issue):
- when creating a Customizable Population Class based on a Customizable Object (Metahuman), the preview button (“Test Population Class”) does nothing, not displaying any variations of the metahuman
---
In the end, is it reasonable to expect Customizable Object Instances (Metahumans) to work in Level Sequences?
Furthermore, if the Mutable plugin is in Beta and its extensions are experimental (Groom extension for Mutable, Mutable Population), what is the ETA on fixing these bugs?
Hi Pavel, nice to meet you.
Thank you for reporting the issues you are encountering with mutable. I will assign this task to a colleague that has worked on adding support for the Grooms in Mutable and has also fixed some bugs related to the interaction that exists between Mutable and the level Sequencer.
In regard to the mutable Populations plugin, while we have plans on fixing it and, maybe, expanding upon it, we can not allocate time for it at this moment. I sadly can not give you an estimate date for it to be fixed, as I really do not know when we will have resources to allocate to that.
Again, thank you for reporting the issues you are facing with mutable.
Have a nice day!
Daniel Moreno
Hi Pavel,
Grooms are currently in experimental so it is expected that you see some issues. Although they are in experimental, they can still use them if you take into account the following consideration:
Currently grooms are bind using triangle indices at compilation. This means that if you perform any operations that modifies then number of triangles (clipping or merging), the triangles indies will change and the hair strands will be attached to incorrect triangles (hence why you see hair in places it should not be).
Although I am missing some information, looks like in your CO you are performing some clip operations to remove the vertices under the shirt and/or pants. I am right? As a workaround you can have the head in a second component which then you make sure it is never modified (we use this trick in the Mutable Sample Cyborg).
To answer why sometimes looks like it is working, probably the groom is not binding at all. It is only on the right position relatively to the root. You can check that by playing and animation in the viewport and seeing if the groom follows the head.
Hi Gerard & Daniel,
So I tried the things you had suggested. Some progress was made, but I’m afraid it is more bugs up ahead.
Regarding changing triangle indices (clipping, etc.), I did not make any such alterations during CO generation.
“looks like in your CO you are performing some clip operations to remove the vertices under the shirt and/or pants. I am right?”
Upon double checking the wireframe of the metahuman body i had worked with, the base mesh had some optimizations in place - e.g., deleted vertices of soles. No further dynamic changes were made in the Mutable graph though.
“As a workaround you can have the head in a second component which then you make sure it is never modified (we use this trick in the Mutable Sample Cyborg).”
“You can check that by playing and animation in the viewport and seeing if the groom follows the head.”
This works, the groom follows the head indeed.
However, I’d be stuck with two mesh components now (body, head). Meaning that I am no longer able to assign metahuman animations to such CO in a level sequence (as in: when searching for animations, metahuman ones are no longer available to be assigned).
Furthermore, when I place such CO into a level sequence, save the level sequence, close Unreal Editor, reopen Unreal Editor, and reopen the level sequence, the editor still crashes - the crashlog I had attached to the original post is still relevant.
Unfortunately we do not have release date for Grooms, so they will still be in experimental for a while. Currently if you perform mesh operations, the only workaround is using two components. It is strange that you do not see Metahuman animations since the Skeleton is the same regardless of 1 or 2 components. Which asset type are you using for the animations?
About the crash, it has been fixed in 5.6.