APEX causes Morph Targets to not work

Greetings all,

When I apply APEX cloth to a material that has morph targets the morph targets no longer work. In the material I have checked both Used with Cloth and Used with Morph Targets. Am I missing something? Was there another box somewhere that I was supposed to check? I don’t think I’m forgetting anything. Pretty sure this is a bug.

(This is on a skeletal mesh btw.)

Hi Nightasy,

It is expected that assigning a clothing asset to the element of something utilizing morph targets will override the morph targets. That is why it is suggested to use separate Material IDs for the areas of the mesh that you want to simulate cloth.

Try adjusting your mesh so that the parts that are cloth have their own material element separate from the parts that need to morph and let me know if that helps!

EDIT Just to be clear you can use APEX cloth with morph targets you just have to be careful because where your APEX cloth material is applied will override the morph target information.

Ed

Ed,

That’s not the case in earlier versions:

IN that video he uses morph targets and the morph targets change the base shape and the APEX still works. It doesn't do that anymore. The morph target doesn't do anything with APEX applied.

I suppose I can figure out a way to work around it if I’m clever with Material assignments. We’re doing hair now and it’s quite inconvenient that the morph targets don’t do anything. What would be convenient is if that when applying a morph target the object would morph and then reactivate the APEX.

Is there a way through blueprint to disable APEX when morphing and then enable it once the morph is set?

Ah, you are correct sir. This actually seems to be an issue that has been around for a while and has slipped through the cracks. I’m going to investigate what version this started breaking in. I also plan to follow up with a bug report. It may take till tomorrow for me to check this though.

UPDATE: Okay I got lucky and found the version relatively quickly. This functionality broke in 4.11 and was working in 4.10 I’ll update you when the JIRA is made.

Hi Nightasy,

Just getting back to you! I have reproduced this issue and logged a report for it here: Unreal Engine Issues and Bug Tracker (UE-38256)

You can track the report’s status as the issue is reviewed by our development staff.

Cheers,

Ed Burgess

Excellent news!

I know you’re quite busy but if you happen to hear of what area of code they change to fix this please let me know. Our team is developing a large scale MMoRPG using UE4.12.5 and I fear we may be a bit dug into that specific version of the engine at this point where an upgrade would be too problematic. We may have to implement the fix ourselves as it’s probably unlikely that the fix will be integrated in a revision of 4.12, being that you guys are already working on UE4.14.

So, I got some more information regarding this subject.

This is marked as by design and the developers had informed me that Morph targets on clothing are no longer supported. This was due to the many optimizations made. However, we are looking at supporting it again in a better way in future.

You can go over the 4.11 release notes as they mention optimizations made to APEX cloth.

Well, that was a bad “by design” decision. Optimizing is only a good idea when it doesn’t negatively impact the functionality. I mean really, what a terrible decision. What you’re telling me is that APEX was better in previous versions of the engine because it supported morph targets. That’s what you essentially just told me. Doesn’t matter what they optimized, I don’t even have to look. It was better when it worked with morph targets.

What files would I have to revert in the source to get it back the way it was?

This remains a BUG in my eyes. I know it’s not your fault and sorry if I sound bullish but what a terrible idea it was to remove that functionality. I would personally say, REVERT all of the optimizations to back when it worked with morph targets and then redo the optimization so that it STILL works with morph targets. They broke one the coolest aspects of working with APEX in UE4.

Anyhow, thanks for looking into it. This is just terrible… whoever made that decision… yea, that guy… I’m pointing at him and shaking my head… Who throws a shoe? Honestly…

There were many files that were changed as the engine framework was updated drastically in that time period. I would have to contact the specific engineers that worked on these optimizations and comb through the changes to find out what files to revert.

Even still that would be a risky venture since reverting these files may impact the engine in a negative way. A suggestion one of my coworkers had is to create a 4.10 build and only pull in functionality that you need from later versions. Then migrate your project to this highly-customized 4.10 build.

Otherwise you may have to wait until we are able to put that functionality back in or use clever workarounds.

Well, apart from waiting for it to be “FIXED” because it is a “BUG”, we’ll most likely have to hire someone to fix it in the source. Given that it worked in previous versions of the engine when it wasn’t bugged it’s likely that the right person for the job can get it working again. Just have to compare the code and find out how it got broken.

Anyhow, thanks for your time.

No doubt. This is a top concern for our team in the future. If it’s not added in then we plan to code the feature in ourselves. Very big issue here. Currently we’ve managed to work around it for the time being but the workaround is very limited.

Personally I feel that removing a “priority” feature of a system does not equate to optimizing a system. They’ve made it worse. You can’t shoot a gift horse and call it lucky number thirteen. Epic done shot the horse and buried it behind the track on this one.

This is a feature we could really use on our game too. we have ship sails that currently use apex cloth and Im looking for solutions to fold them up when you cycle through different sail states. morph targets/ blenshapes was going to be our best solution. I hope the “we are looking at supporting it again in a better way in future” is not and empty statement. its getting really frustrating when features get removed because of various optimizations.

yeah our programmer support on issues like this is super limited. not to mention expensive. We are getting close to tech alpha and Im afraid we are going to ship with out it. would have a much better result and aesthetic if the 2 features worked together like they used to.

As far as I know, integration of Apex with Morph Targets isn’t on our immediate roadmap. Don’t rely on this feature being implemented soon if it is important for your project. I would recommend reverting to a previous version or implementing a fix yourself.

Even if there are plans to work on this there is no telling when they will be put in motion.

I won’t be able to make my character skinny or fat with apex. there’s an apex alternative in the works?
I mean… Like, every game on this generation has some kind of character customization, I don’t understand how this isn’t an important issue. =’(

is this feature going to re-implemented with the new cloth tool? being able to mix morph targets with cloth sim is very helpful.

morph target + cloth not working for me… And I really need to make my character to get fat =(

This is still broken in 18.00

Can we get a view from EPIC as to if this will be “fixed” or is this no longer desired.

Not to add to the broken record… but I am using the built in clothing (apex) tool. And it does not seem to be related to material groups, but the second you apply a clothing asset even before adding any weights, it disables the morph targets.Could anyone elaborate on what they meant up there when they were talking about separate material groups? or was that before the built in tool when importing, and now that its a built in tool it disables morph targets for the entire mesh?

I would have to agree that even if there were some sub optimal results that would have to be finagled, or if sometimes the results were just down right undesirable, it would still be more effective not to have it auto disable morph targets.

Edit: Using 4.17.2

Mock Up Games

Morph targets with cloth has been disabled by design for the foreseeable future, don’t expect this to get addressed within the next year (or maybe even ever).

As a result of the new cloth pipeline you can collide with many more collision capsules (which are now the capsules in your physics asset, rather being separate) so now we can have many more shapes to collide with - so there is a possibility of having a more detailed shape, it might be possible to implement different sizes of physics asset to represent different body sizes.

I feel (but I am not sure) that the cloth has now been implemented at an earlier stage in the pipeline (for efficiency) so the engine now does morph OR cloth. It simply can’t do both.

Regarding material groups. Not 100% sure but I think whats being talked about here is the fact you can have 1 asset with multiple materials, some materials can have morphs, others can have clothing applied. So morphs and cloth on the same asset - but not on the same material.

I hope that helps.

Wjones