Creature Animation meshes turn transparent only when moving in 3d space.

Hello unreal community and devs!

My coder has found a very weird issue in unreal 5 that deals with meshes.

We have been working on a project for years now we started in unreal 4. It makes heavy use of many art assets I animated with Creature Animation software. It’s similar to other 2d bone mesh software such as SPINE. Recently we decided we want to see if we can migrate to unreal 5, and at first everything seemed to work good. All the meshes that use creature animation JSON’s animate just fine BUUUUT then we tried moving our character around the landscape… The mesh that creature file is attached to goes transparent and we don’t know why, nor does the creator of the creature software (I asked him about this issue first on the forum for creature animation, before coming here). He checked the rendering code for changes that would cause the issue but hasn’t found anything soo far.

OLD PROJECT ISSUES RULED OUT-

We tried making a brand new unreal project, update everything first (like drivers ect), ensure creature animation software is up to date, make a brand new creature file asset, and STILL it happens. This issue should be easily reproduced in other words.

I suspect SPINE assets probably don’t work right either even though I found a post on their forums saying it should work for UE5. I have a nasty suspicion it probably has issues too as isn’t used enough by anyone over there to have run into issues yet (UE5 is still relatively new after all). It’s like something has changed with how unreal handles these sorts of assets is my best guess, but I am not a coder.

So to be clear-
Meshes that use creature json’s animate perfectly fine if the mesh doesn’t move. This means for example trees I animated to blow in the wind. They are stationary in the world thus animate perfectly fine. But anything that moves in 3d space, such as player character or wild animals- those go completely transparent.

There’s also rendering order issues like certain scene elements appearing in front of the creature mesh when it should be behind and that this impacts masked materials that shouldn’t be able to be see through at all, as well as opaque. Transparent materials work though, but don’t have the self lightning.

Everything just breaks when it moves around. It’s a medical mystery, and we’d love to solve it because we want to use UE5 not only in this project, but everything we do going forward. I suspect this issue will effect more then just creature animation software so the community\dev team should probably consider this issue. If this is broken, what else is broken?

If anyone has any insight on this, we’d love to hear it. =)

Does the mesh use normal skeletal deformation on export?
You mention json animate. Is this animation data passed on in a json file? Is it some form of vertex animation embeded in the json data?

Do the materials on the movable creatures compile correctly? Are they marked as opaque, transparent or masked?

Yes it’s vertex animation. The materials compile correctly. My coder says “even checked if the material is on a regular mesh, like a plane or cube and it moves fine without the issue”, the materials are marked as masked.

It’s a truly weird problem. I mean even the dev of Creature Animation software calls it weird. =)

I think at this point we are all very curious what the answer to this is going to be.

Could you post a shot of the material? Are you using world space in any of it? This could lock information spatially in the world.

My coder says “not using world space so unless something in creature is referencing world space.”

Something has been discovered today though-

“When I changed shadow map method from Virtual Shadow Maps(Beta) to Shadow Maps it became even more translucent. With virtual on at certain angles it’s possible to make out the material better but it has some blocky artifacting over it as it moves But changed to Shadow Maps it is the same almost impossible to see everywhere but at certain angles the outline of it is visible sort of
It’s the first thing I’ve found that made any difference at all
It’s technically even worse, but the change is noteworthy.”

We plan to update this thread after more tests are done today. We also notice that unreal 5.1 beta is available, so we might try that too in hopes something was fixed. Not sure if the creature dev would need to issue a new runtime for 5.1 or not though.

We are preparing a demo of a brand new test project to show exactly what’s going on. Should have it ready today.

Here is a link to the Creature Animation Software’s github GitHub - kestrelm/Creature_UE4: Unreal Engine 4 Runtimes for Creature, the 2D Skeletal + Mesh Animation Tool.

The reference code can be checked there if anyone wants to take a look.

Switch the material to translucent and put the alpha to the opacity slot. It works even when the creature is moving

Sorry for a late reply, been trying things, sleeping on it, trying more things to see if we missed anything.

Translucent does work when in motion in UE5 yes, but it has issues that go back to unreal 4.

We didn’t use that method because it causes other issues. Mainly with limitations to lighting. The way we use masked materials we get really nice shadows cast from creature assets (trees making realistic shadows). It works great in unreal 4. So why does it completely break when the asset moves around in 3d space now in unreal 5?
Masked materials is surely not supposed to behave this way now in UE5 is it? Like what changed that this method doesn’t work now?

Also here is a demonstration of what happens. A brand new creature asset I made yesterday, in a brand new UE5 test project.

This transparency when moving did not occur in unreal 4.
UE5 Creature Transparent Example

Maybe 5.1 will fix this?. You can download the source from github & compile it for tests.

It won’t compile in 5.1 with creature.
Something weird happens where it tries to reference classes it says do not exist but they do.
Tested with brand new project using the 3rd person template.

5.1 beta 2 solved the issue (it’s possibly fixed in 5.1 beta 1 as well- didn’t get to test that).

However it will NOT complile unless you add some code. (hopefully the creature dev will fix this soon so this step won’t be needed by users).

Add
#include “EditorStyleSet.h”
to the following files in the source code for creature-

CreatureAnimStateMachineEditor.cpp
CreatureAnimStoreEditor.cpp

Everything works now, hopefully future versions of unreal won’t break it again, but the important thing is now we have a version of unreal 5 that works so we are good to go. Thank you for the help 3dRaven.