Announcement

Collapse
No announcement yet.

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

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

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

    A plugin that provides both for working with animations, and with IK. The plugin can do almost everything you need when working with animations and IK.

    The plugin provides a completely different system for working with animations.
    One function in the plugin replaces the entire set of programming, conditions and nodes in the Stat Machine.
    And transferring all the code to the Character blueprint.
    As a result, the process is greatly simplified especially if you use not only walking, but also swimming, flying, and more.

    In an anim graph, you need to configure only one node.
    And he is completely dynamic.
    For example, if you do not use the jump now, then it will not be used in calculations at all.
    This applies to all the heavy functions of the plugin.
    So the performance should be great.

    However, there is still the possibility of using the AnimGraph with Unreal Engine Nodes - that is, you can combine different approaches.

    For the plugin to work, you just need to do:

    Click image for larger version  Name:	1_.png Views:	1 Size:	43.9 KB ID:	1657258

    So that the character can run, do a sprint, have an idle pose and jump, you just need to call these two functions
    Click image for larger version  Name:	2_.png Views:	1 Size:	134.4 KB ID:	1657259
    They have a lot of parameters, but in fact it’s enough to just set the animations and you're done
    No additional coding required
    The MoveMachine also supports BlendSpace1D and 2D

    we can complicate a little graph, and add additional features
    Click image for larger version  Name:	3_.png Views:	1 Size:	176.8 KB ID:	1657261
    Here we set up special animation for the case when we crashed into a wall at full speed
    But note, this is not easy to set up the animation - there is even physics there, there are also additional settings in the MoveComponent
    Air control is a special animation for movement in air control mode
    For this mod, by the way, it is also possible to Set Impact function

    Next, let's say we need a Crouch, and we want to be able to fly
    Click image for larger version  Name:	4_.png Views:	1 Size:	119.6 KB ID:	1657260
    On Moved in this case sets animations for movement in these states.

    We can even swim or lie down to rest

    Click image for larger version  Name:	5_.png Views:	1 Size:	144.1 KB ID:	1657262
    If you set the OnMoved exit for LayMachine, you will be able to move crawling
    There are also custom Machine to create your own state.


    There are more sophisticated features that provide more features.
    Click image for larger version  Name:	6_.png Views:	1 Size:	149.3 KB ID:	1657263
    There are also versions for synchronizing Anims(Mostly need for legs.)


    Want to make a variation for animations - very easy:

    Click image for larger version  Name:	7_.png Views:	1 Size:	237.2 KB ID:	1657264
    You can make variations for any animation.

    Want to make an attack animation and play it just for the UpperBody(for example) - easy

    Click image for larger version  Name:	8_.png Views:	1 Size:	73.6 KB ID:	1657265
    Fast Tutorial How to quickly setup animations for character - https://www.youtube.com/watch?v=Jcvx...ature=youtu.be


    The plugin also solves a bunch of more small problems, similar to:
    For example, a lot of people came across this situation:
    You bought an asset, but there is only one jump animation. Although you need three.
    Using the plugin, this issue can be solved very simply using just one function.

    The plugin has IK support for both hands and feet(Foot Placement).
    In addition to this, a large module for working with CCDIK (opening doors, chests, taking items, using levers, keys and even creating a gearbox and much more)

    I have listed only a small part of the features, here is a more detailed list:

    The whole blend happens automatically (up to 7 animations at a time), animations can be interrupted anywhere!!

    -------------------------------------------------------------------Part 1:
    MoveMachine functions group, in them you essentially just Set animations, do a little setup and everything works without additional conditions and programming:

    MoveMachine(One function, replace Stat Machine) - Sets animations for walking, running, and idle
    MoveMachineExt - Sets animations for walking, running, and idle but also for start the movement and stop
    MoveMachineMulti - Same but using SyncMarkers for Sync Animations.

    These Functions also support working with Bledspace1d, Bledspace2d Doing all the calculations automatically.


    JumpMachineSimple - If you have only one animation for a jump(The plugin will do almost all the work for you)
    JumpMachine - Sets animations for startJumping, Looping, Landing
    JumpMachineExt - Same but it’s possible to set animations for PreLanding(Using Trace) and for long falling

    SwimmMachine - Sets animations for start of swimming, end of swimming,Idle Underawater, Idle Surface, swimming(4 different types) as well as walking in shallow water. And even Jump In Water or jumping out of water
    The standard MoveComponent does not provide even half of these features, for example, you can’t swim on the surface, you won’t be able to jump out of the water - like it’s implemented in WOW, for example, and so on, for this the plugin has its own DNMoveComponent. This is in addition to setting animations using SwimmMachine.

    Swimm - https://www.youtube.com/watch?v=gChK...ature=youtu.be

    FlyMachine - You can set animations for: Start of flight, end of flight, Idle, Accelerated flight, inertia flight
    it’s possible to set up animations even for AirControl movement or when you hit a wall

    LayMachine- You can configure a lot of animations for different states

    CrouchMachine - Very flexible function, allows you to accept a different number of animations.
    Suppose you have only idle, or just start Crouching or in general one frame of Idle - This function will work.

    CustomMachine- you can set animations to enter, idle, exit from it, as well as motion animations + impact

    Impact - When you bump into a wall at full speed. Set a special animation and may even push you off the wall, the vector is calculated automatically, but you can override it. Can be applied to any of the "Machines" when you just walk, fly, swim etc.


    Turn - A great feature for adjusting the animation for Turn, it Blends itself with everyone else( turn while Movement at low speeds)
    Turn In Place - It’s a little different when the character is standing without any movement at all(The plugin also allows you to adjust what angle and how to rotate the character when he stands still)

    Turn in place - https://www.youtube.com/watch?v=UFUj...ature=youtu.be

    Equip (You can equip even 2-3 items for one animation, set just the necessary Notify)
    I will also show how to enter the battle mode and change all motion animations for this mode

    UnEquip
    Grabing
    Throw Item

    Equip/UnEquip Weapon - https://www.youtube.com/watch?v=wJ8C...ature=youtu.be



    SlopeDetection
    The plugin allows you to determine whether you are going uphill or downhill, this is done using only one function and of course you can set different animations.
    This function has many settings for this, and you can even choose one of two algorithms.

    TransitionZones
    Sometimes for certain zones on the map you need to use a certain animation, the plugin easily allows you to do this
    Click image for larger version  Name:	TZone.jpg Views:	1 Size:	224.9 KB ID:	1655675
    Let's say you want to use special animation when you go up the stairs
    In the code itself, you need to use only one function with the name of the zone, the output of which just use different MoveMachines


    With this plugin you can easily play any animation for UpperBody or other Bone, blend happens automatically
    In total, up to three layers are supported.


    The plugin has a special function for working with It

    For example:
    basic animation, UpperBody, and on top of all - head animation


    Work with Single Animation
    Work with AnimMontage

    The plugin can track automatically when you for example start jumping and abort the root motion and AnimMontage - Many different settings

    Animations Chain

    9 Functions for Work With Notify

    Work With AimOffset - A lot of settings for auto calculations, you do not need to program

    Work with Curves:
    Acceleration Curve. Foot sliding Solver - https://www.youtube.com/watch?v=7qzY...ature=youtu.be

    MaxSpeed Curve(Creates uneven movement) - A little detail but adding a lot of realism - https://www.youtube.com/watch?v=0rOovYNEBeI

    Velocity Curve(Simulate Root Motion When you Do not have it in Anim) - https://www.youtube.com/watch?v=FDx6...ature=youtu.be



    Work with Ragdoll - Many functions(Getting up and other)

    You can set 3 types of animations.
    When you get up from a pose on the stomach or from the back, and even from a vertical pose - this is such a position when horizontal vectors cannot be calculated because you are not in a lying position. Something prevented, let's say the wall

    There is also a handling of situations when the character cannot stand in this place, in this case, the most suitable position is selected. Many different settings. You can adjust smoothness, speed, animations, camera behavior and more

    https://www.youtube.com/watch?v=g0Lz7P0OHMQ


    You can customize Variations to any animations.
    YES, absolutely to any(From here presented Machines functions - To any animation of these functions) - there are 2 classes for this
    One is used for manual change, as well as change using the counter
    With another, you can set the chance for animations

    You do not need programming, just set the desired set and you're done

    Sprint and Variations - https://www.youtube.com/watch?v=hhM5...ature=youtu.be

    -------------------------------------------------------------------Part2:

    IKHands Module
    Allows you to implement shield defense mechanics
    A shield or any other object will track the target using the IK algorithm, as well as the rotation of the shoulder and arm(so it's not just simple IK)
    You can also manually set the offset to simulate a shield slam, etc.

    https://www.youtube.com/watch?v=uLtD...ature=youtu.be

    Shield slam - https://www.youtube.com/watch?v=Av_2...ature=youtu.be

    -------------------------------------------------------------------Part3:

    CCDIKHands Module
    A very large module that will allow you(Without using animations, fully Procedural):

    Open a door, chests, boxes... - https://www.youtube.com/watch?v=RVM0...ature=youtu.be
    Grabbing - https://www.youtube.com/watch?v=5Y1O...ature=youtu.be
    Pressing a Button - https://www.youtube.com/watch?v=MNsm...ature=youtu.be
    Spider Presses Buttons - https://www.youtube.com/watch?v=u_Wd...ature=youtu.be
    Code Set
    Align Object to Objects - Let's say you take the key and insert it into the lock - https://www.youtube.com/watch?v=blhG...ature=youtu.be

    Align Objects to the sockets
    Creating complex objects - say a manual gearbox
    ....

    -------------------------------------------------------------------Part4:

    LegsIK Module

    Foot Placement for(Separate algorithms):
    Humanoids - https://www.youtube.com/watch?v=NQWy...ature=youtu.be
    Animals - https://www.youtube.com/watch?v=_9aD...7hlTgC&index=1
    Spiders - https://www.youtube.com/watch?v=MoRd...7hlTgC&index=2
    Worms

    I tried to make the algorithm very fast, so even for animals it works perfect only with 1 trace per 1 frame - Having a solve of 4 legs and spine
    To solve the back, I did not use heavy algorithms like the FABRIK
    the algorithm also takes into account at what angle the humanoid's foot can be rotated

    Many different settings and functions

    -------------------------------------------------------------------Part5:

    LookAt Module

    LookAt Actor
    LooAt Character Head(or other Bone - You can look at the foot or hand)
    LookAt own Bone
    Look At + Control Rotation (Look in the direction the controller is turned)
    Align to Target(As if tied to chains)

    https://www.youtube.com/watch?v=dE5rBblrw5Y&t=142s

    -------------------------------------------------------------------Part6:

    Easy Retarget
    Using only one node you can do IK + rotation of the shoulder and arm.
    This node requires a very simple setup - just enter the desired bone and you're done

    You can even create your own animations based on available

    https://www.youtube.com/watch?v=gIO6OrbW65o



    ------------------------------------------------------------------------------

    Preview - https://www.youtube.com/playlist?lis...8obgliDD7hlTgC
    Tutorials - https://www.youtube.com/playlist?lis...TOoVQNyUP77_By

    ------------------------------------------------------------------------------
    ------------------------------------------------------------------------------


    This is the result of my work for 2 years without days off and it is almost finished, the plugin will be available soon!

    Sorry for my English.
    Thank you!
    Attached Files
    Last edited by anadre; 08-27-2019, 10:41 AM.

    #2
    Saw some of the example vids earlier.
    Was wondering where the associated thread was.
    Looking good.
    Rule#21: Be polite, be professional, but have a plan to kill everyone you meet.

    Comment


      #3
      Originally posted by Kris View Post
      Saw some of the example vids earlier.
      Was wondering where the associated thread was.
      Looking good.
      Thank you!

      I added a lot of pictures and videos for better understanding what this plugin is, see the first post

      I will try to submit the Plugin this week

      Comment

      Working...
      X