Additive Animations driven by Curve Value

So Hello’s to everyone who uses his/her time for reading this,
I’ve stumbled across a little Problem while trying to create my own little facial animation system (FaceFX is too expensive and Pose Assets cause the Root Bone of the mesh to move randomly into any direction).
My Idea was to use a set of additive animations and overlay them based on a Anim Curve Value like Morph Target Curves are working. Now I’m having the problem that the Engine simply refuses to blend the Additives (my AnimBP Setup is attached, I’m using this AnimBP as the default PostProcess Anim BP because it also contains dynamic Armor Animation and I want the facial additives to be available across all animations. If I set the Blend Alpha to a Constant, like 1 it’s blended correctly but as soon as I plug in the Curve Value into the Alpha-Input of the Node nothing happens if I change the Curves Value inside an Animation Asset.
Does anyone know what could be the Problem here?

Greetings
RRe36

Hey RRe36,

Can you ensure that the Return Values on the Get Curve Value nodes are returning what you’re expecting? You can right click the pin and watch the value. It’ll only show results for the preview window unless you use the debug filter to show something in game.

Can you plug a standard float into a few of the alphas as well and manipulate that? Here we can make sure that values other than 0 or 1 will work.

I’d just like to make sure those are working right off the bat.

I’ll try that and btw. I’ve switched back to UE 4.14 because of an annoying Sequencer bug I’ll explain later, including a video that shows the exact problem. UE 4.14 or 4.15 doesn’t seem to matter for this bug as it occurs on both versions.
EDIT: Will take a little longer as I have to rebuild this System on 4.14 as I haven’t copied it over yet.

Even more Interesting: Strangely it seems to work fine on 4.14 with slight changes which I’ve already tried in 4.15. In 4.15 I’ve tried some constants and they worked but it seems that curves only gave a value of zero.
Aside from that only simulation or preview Viewports show the additives. A normal not-simulating-cinematic Viewport won’t preview them.

So you’re saying this works in 4.14, but not 4.15? If that’s the case, could you set up an example project and send it to me so that I can see everything you’re doing? It doesn’t have to include your assets…it can be with the mannequin.

I’ll do this in the next few days and test if I can reproduce the problem with an empty project.

Hi RRe36,

We have not heard back from you in a few days, so we are marking this post as Resolved for tracking purposes. If you are still experiencing the issue you reported, please respond to this message with additional information and we will follow up.

I’ve been busy for a few days so I didn’t really got the time to test it on 4.15 but for now everything works on 4.14 and I’ve not experienced any new problem related to this. I’ll still have to test the sequencer on 4.15 because I’ve came across a very annoying bug there.
More specifically: The Animation of Skeletal Meshes seems to be kinda broken as they’ve started to flicker after the update to 4.15 and it seems like they are playing at super speed. I’ve only set the play speed of the animations to 4 or 5 depending on the animation in both the Sequencer and the Persona viewer.
Will try if this still occurs with a completely clean project but for now I’m working on some other things.

Hey RRe36,

If you run into additional issues, please log them as separate AnswerHub posts so we can keep each issue isolated. Until we can get an example of this happening, there isn’t much I can do here.

Did so :slight_smile:

Hey RRe36,

I’m a little confused by this example project and your instructions to show an issue. When you say “Set the Curve to 1”, that isn’t meant to set a “default” for the curve value. That curve value is 0 unless it is defined in an animation sequence (which it isn’t in your project).

Your example map has missing actor references when I try to open it.

That example map is not part of the issue :slight_smile:
The attached image shows what I am talking about. In 4.14 I’ve created Curves to attach and detach additional Meshes depending on the animation.
In 4.14 the attachment of the Cube worked in the Persona windows for the Skeletons and animations but since 4.15 it’s not working in these windows and that makes it impossible to use systems like my Curve Based Additive Blending as you can’t see the result of the curves

I’m talking about the changed curve values in these Windows not being read by the PostProcess AnimBP. As you can see in my image, I’ve set the Curve value to 1 (like you would do to test things like Morph Targets and Material Curves, except I want to preview the attachment or the Additive Blending by reading and processing the Curve Value inside the PostProcess AnimBP) and the more annoying problem is that this Preview of whatever you use the curves for inside the PP-AnimBP also won’t work in the Animation Preview/Edit Window.

https://1drv.ms/u/s!AswRtxYZXkm6hSMw4UwHhwt3jrn7 The (almost) same basic Project for UE 4.14. Just open up the Asset and drag the Curve Slider to 1 and then do the same in 4.16 and you’ll see the difference. (The Cube won’t disappear unless you reopen the asset because I was too lazy too add the required Nodes to the Graph, also affects the previously uploaded project)
EDIT: Ignore the missing FMOD Plugin Message

Hey RRe36,

Thanks for the repro project! I’ve entered UE-47567. Just to note, this MIGHT have been an intentional change to avoid running an irreversible branch of a Post Process AnimBP. I.E. in this case the box doesn’t go away unless you re-open the .

It seems to be necessary to revive this thread as I’ve created another project on 4.16, that could make good use of Curve Driven Additives. I’ve uploaded a little Test-Project: https://1drv.ms/u/s!AswRtxYZXkm6hSLUjUmABB783B1y Just open the in the content root folder and set the Curve Value to 1.
A static mesh is supposed to be attached to the cone but nothing happens. If you set static values in the AnimBP (I’ve assigned it as default AnimBP) the cube either attaches permanently or not (You need to reopen the AnimBP/ to get rid of the cube after resetting the static Value inside the AnimBP because I haven’t created a detach section for it)

EDIT: It seems like there’s a problem with the “Get Curve Value” Nodes because, as it behaved with my facials System too, everything works as expected with Variables or static Values, but these cannot be integrated in a convenient way into the animations.

Good News :slight_smile:
Yeah the box won’t disappear because as I said, I was too lazy (and it’s not required to reproduce the bug) to add the necessary functions to remove the cube :D. I’m looking forward to see this fixed, so I can finally update my main project to a newer Engine Version.