[PLUGIN] DynamicNode - Very large animation plugin(Locomotion,Swimm,Flying,Ragdoll,IK,CCDIK,LookAt)

Hello, how can I see what trace channel is being used for IK and how can I change it?

Hello.
Current Channel - Visibility
But I added the ability to choose a channel - in the next update (I think I’ll send to the Epic on Monday-Tuesday)

Version 1.1 has been released, please update the plugin and download a new demo project - there you will see a lot of interesting things.
bit.ly/DN_Demo24_1

Hello again, I’ve updated to the latest version of the plugin, but it seems to no longer be working on my quadruped character. It was working with the previous version, but not on this one.

What I have is a character inheriting fro DNCharacter, with DN_SetupLegsIKAnimal called in the BeginPlay (Root Legs Pairs are set up with the proper names of bones and sockets), all settings are default.
In my Anim blueprint (which inherits from Anim_Multi_Node_Instance_DN), I have a DynamicHub with a DynamicNode connected to “Pure Pose DN”, DynamicNodePP connected to “Post Proc DN” and my cahed anim state machine pose connected to “Proc Pose”.

This was all working and IKing properly with the previous version but isn’t working now. Is there something I need to setup differently? Possibly the trace Channel (I couldn’t find where to set it)?

Hello.
Yes, it was a very Big update - try this (in the MoveMachine set any animations, you can just set the Idle animations everywhere):

And - Do not forget then try the functions that I made for you. =)

Thanks for the help! My quadrupeds now IK once again. I also found the function to set the traces which is working nicely, but I have a couple more questions:

I added DN Animations Stack and DN Move Machine calls to my DNCharacter’s tick, but I’m getting an


ensureAlways(Skeleton);

triggered from


FAnimMultiNodeInstanceProxy_DN::UpdateAnimationNode

(when it calls


Super::UpdateAnimationNode(DeltaSeconds);

).
ensure has a comment stating "// Skeleton is only available during update/eval. If you’re calling this function outside of it, it will return null. " if that helps.
If I ignore the ensure, everything works, but I’m not sure what I’m doing wrong to trigger it?

Second thing is I’d like to add this to a whole bunch of quadrupeds and need to make sure it’s very performant. Quadrupeds that aren’t rendered don’t have their animation or movement component updated, so that part is fine, but the character is still updated. Is there a lot of logic that’s happening on the character tick? If so, would it be safe to not call DN Move Machine when a quadruped isn’t rendered and would that have an effect on performance? Any info you can give me on how it works and how i can optimize it would be much appreciated.

Cheers!

My plugin uses a dynamic assembly of internal nodes. The problem was that this assembly did not happens at all. It’s actually enough to call just once a function like this

Regarding the ensure , could you provide me with additional information:

  • show me the whole stack of functions
  • under what conditions is this caused( the very beginning or )
  • how often, always?

Thanks!

Thanks again, ensure was only triggered once every time i started the level, my quadruped was spawned dynamically so it could be related to that, but calling DN Play Animation in the BeginPlay fixed it.
How much logic happens in the character tick and can I disable it when the character isn’t rendered? I’d like to spawn as many quadrupeds as possible, so making sure nothing is running when they aren’t rendered is very important.

Do you mean the tick function of the DNCharacter?
There is not a lot of code, but you can turn off any tick of an actor using the function - SetActorTickEnabled - Anytime you want
Also, if you notice there is an internal optimization, most of the calculation is disabled if the character has been standing in one place for a long time.

There are also more options:

UpdateFrameRate (in a future update,I will make it possible to set this parameter at runtime)
FootPrediction - Disable calculation if legs are far from the ground

I also want to add support special IK bones(ik_foot_r, ik_foot_l)

This seems to break when your using Networking and the character goes more then 1 mile from 0,0,0.

Hello!
Can you provide more information about this?
By the way, the 23rd version works much more stable than the 24th, I don’t know why, but in the 24th version the replication works very poorly, and if you set the flag - Reliable sometimes do not reach at all, the editor freezes.


UFUNCTION(Reliable, Server)

Well I am new to Unreal coding, Which is why I bought this plugin. I am hoping it makes life a bit easier. I made an island but I noticed when I moved the network spawn and Third person player that uses your code outward to the beach, that it failed when I hit play. The camera appears at 0,0,0 in world space and the player is missing entirely. After this it stays broken. If I move the player and network start back to the center of the world it still fails when I hit Play, and the player disappears with the un-moving camera stuck at 0,0,0

I tried to do the same with the same thing that you say in the Demo project, I moved the character’s position to the maximum posible distance from 0 point. Everything is good.
Could you create an empty project where you create an empty rectangular landscape with this problem and send this project to me? [EMAIL=“detereny86@gmail.com”]detereny86@gmail.com


By the way, the plugin does not in any way redefine the standard replication scheme. All replication in it, it’s just a set of variables from the player or the movementComponent’s (states). These variables are needed to apply just the right animations. That is, if something is not replicated there, the wrong animations will be applied.
I had a problem with “realable” functions, as I wrote above. But I solved this problem in the latest version

Dose your plugin work with daz skeleton?

Hello.

4_21, 4_22 - work only if the bones inside the arm without branches
those. if you have 2 elbows and one of them is not connected (at least on the one hand), this can create problems

4_23, 4_24 - These versions are more stable, work with almost any bones and branches.But, the main condition is that the bones must be connected at least in one line, without gaps (from the palm to the shoulder),

Hi,
a superb plugins. I didn´t dive deep into AnimationBP and state machines, so it was a great help to have this tool.
Is there a chance to get a sample how to combine aiming with Walking Animation? The setup how to achieve a correct aiming with other animations is for me not clear.

tsky

Hello.

In the begin play event, call these functions:
In the first, set with which animations to use Aim Offset, the other is responsible for auto-updating the axes of AimOffset

Further, you apply animations from the list anywhere, and they will automatically be connected to Aim Offset with auto calculation

By the way, this example should be in the Demo Project

Bought the plugin a month ago and decided to really commit to learning it. Its something special, with a ton ton ton of great work put into it. Amazing job. In order to learn, I’ve been slowly writing my own docs for the plugin. Mostly just documenting the long tutorial video, but also pulling comments out of the C++ classes I could see. Its far from done, but I felt its probably to the point it might help other people.

Anyone can view and comment, that said, I think this forum is the best place for questions. We can also transition this all to a wiki or something that’s not controlled by me, just easiest for me google docs.

How well does this anim system handles networking? Is there a demo of this plugin entire setup on any package of marketplace mocap animation? Any examples showed on free animation pack looks terrible - and Hard it could look anything else if the animations quality is low :wink:
I tried so many plugins and ik systems and “shortcuts” - and in the end I made my own system, but expanding on it takes time and effort… since Im in lockdown like everyone else I can do my homework and search for solutions that would cut some corners. I see from the video that this plugin does EVERYTHING I wait to do… Question is only: how well?
Does it use in any way the new blend mode “innertialization”? (it gives nice results, but for BP it works only on state machines)

Hello,
I am working on adding a network, almost everything works, but there are still a couple of moments.
You can write me an email, I will provide you additional video materials
detereny86@gmail.com