Announcement

Collapse
No announcement yet.

Grapple Component (Synchronized Animation Between Characters)

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

    [GAUGING INTEREST] Grapple Component (Synchronized Animation Between Characters)

    Click image for larger version  Name:	featured.png Views:	538 Size:	488.2 KB ID:	1699921

    Hello everybody


    I am currently working on a Blueprint component that handles interdependent animations playing on different characters. This can be used to create a variety of game mechanics:
    • Throws/holds in fighting games
    • Stealth kills
    • Takedown animations / Finishers
    • Characters healing/reviving each other
    • Character interaction in general
    • Interactions or short cinematics
    Some examples of game mechanics the Grapple Component would be able to emulate:






    I noticed that mechanics like these are often used in games, but that they require some more scripting/programming than meets the eye. While players will mostly notice the animations that are playing, the Grapple Component handles what happens behind the scenes:
    • Repositioning characters, which can be done by graduallly sliding them into place
    • Synchronizing animations (including blendspaces and their coordinates)
    • Attaching one character to another where applicable
    • Enabling/disabling different kinds of input as needed
    • Dealing damage based on the animation
    • Retargeting a single animation to work with different (eg. taller vs smaller) characters
    • Handling the camera (for example in a third person game, the camera could remain user controlled, or it could be driven by the animation for a more cinematic effect)
    • Managing the control rotation if components of the character depends on it
    • Returning all characters to their previous state after the interaction is done
    • Seamless transition between animation and player controlled movement
    • And last but not least: Multiplayer support
    All of this is done while keeping things as simple as possible for the developer. Using custom nodes, the developer can call general functions on the Grapple Component, like "acquire target", "attach", or "play animation". These commands are simple to use, yet highly customizable.



    The Grapple Component can be added to any actor Blueprint, but works best with a character Blueprint (because it relies on the character movement component for some of its functionality). Because most of the logic is handled within the Grapple Component itself, the user can implement all of its functionality with little effort.



    When the F button is pressed, we call a function called 'acquire target (hitbox)' in the Grapple Component. This uses a box collision component to look for a potential target. If a terget is found, we call the 'pair/unpair' function in the Grapple Component. This function handles all aspects of the animation, repositioning and variables that need to be set to blend the animations with gameplay. The developer can easily set the parameters of a grapple by plugging a struct (the largest node in the image above) into the 'pair/unpair' node.


    The functionalities of the Grapple Component can be implemented in various ways. For example, a character can be launched and acquire a target in mid-air for some interesting pounce-like mechanics. The animations are very much a work in progress, and the focus of this asset pack would be the blueprint components and not so much the animations themselves.







    I am also working on a system for Animation Matching.

    Some animations will no longer match each other if they are played on skeletal meshes with propotions that are different from the one used for animating.
    The Animation Matching feature attempts to remedy this mismatching by a certain extent. If Animation Matching is enabled, the Grapple Component will move the location of certain bones in the owner's skeletal mesh to match the position of certain other bones in the skeletal mesh associated with another Grapple Participant.

    Click image for larger version

Name:	01.png
Views:	750
Size:	290.6 KB
ID:	1764650
    This means that the character's animations are adjusted at runtime, based on the Skeletal Mesh the character is interacting with.



    The following visual example shows a Grapple Sequence where the pelvis bone on one of the Participants is being moved in order to better match the animation on the other character.

    Click image for larger version

Name:	02.png
Views:	769
Size:	141.8 KB
ID:	1764651

    The Grapple Component features a function to have characters be pushed in a certain direction. This functionality can be used to generate pushback after a grapple animation, of to have a character charge forward.





    Player Controllers can pass input through the grapple component in order to create 'branching' animations, as illustrated below. The example on the right also illustrates the possibility to launch characters after or during a grapple animation. You might notice that the initial animation in both examples is using a blendspace asset, and that the coordinates are being synchronized between characters. These examples also show the retargeting system in action when interacting with smaller and larger models.




    While grapple sequences will typically only contain only two participants, it is also possible to have more characters participate in the animation.




    The Grapple Component can be controlled from the character Blueprint or using animation notifies. Advanced controls are available and exposed to the user.




    Macros are available to simplify this process.

    Click image for larger version  Name:	simple.png Views:	0 Size:	46.0 KB ID:	1687778

    Functions that require specific timing can be called using animation notifies.




    These are the aspects of the Grapple Component i have already put some work in, but i will surely add more functionality if there is some demand for it!


    Do you think the community would be interested in something like the Grapple Component on the Marketplace? Got any other questions, requests or suggestions? Be sure to let me know!


    Kind regards
    Jonathan
    ‚Äč
    Attached Files
    Last edited by JonVD; 05-21-2020, 07:27 AM. Reason: Added some information on Animation Matching (called 'animation retargeting' in the previous version)

    #2
    I can't speak for the community as a whole but if you put this on the marketplace I'll be your first purchase. I've built my own system but it still needs a lot of work and honestly yours looks very robust. Honestly I'm surprised something like this isn't more common since so many games require paired animations.

    If you were to put it up do you have any idea when that might be?

    Comment


      #3
      This is something I have been looking for, but the marketplace doesn't seem to have any blueprints that specifically focuses on grappling like yours. Please, upload it to the marketplace and I'll purchase it, it would definitely be interesting to see how this system works.

      Comment


        #4
        This looks very interesting and unique so I say put it on the MP . I would recommend changing the name to something more descriptive. When I saw the name I thought it was a grapping hook
        [WIP] Procedural City Generator | RPG AI
        [MARKETPLACE] Animal Behavior Kit | Space Shooter Template | Procedural Foliage Tool | Procedural Park
        [FREE] Modular Road Tool | Action Platformer Template | Radar BP | Free Birds | Procedural Buildings
        Join our Discord

        Comment


          #5
          Must buy. Waiting for release

          Comment


            #6
            Yes.... please.... Arkham freeflow system in a box

            Comment


              #7
              Originally posted by PlayingKarrde View Post
              I can't speak for the community as a whole but if you put this on the marketplace I'll be your first purchase. I've built my own system but it still needs a lot of work and honestly yours looks very robust. Honestly I'm surprised something like this isn't more common since so many games require paired animations.

              If you were to put it up do you have any idea when that might be?
              The Grapple Component is still in production, but requires some work before it is ready for a public release. Without making any promises, I would expect it to be done around july. At that time, I would start the submission process on the Marketplace.

              Comment


                #8
                Originally posted by CoquiGames View Post
                This looks very interesting and unique so I say put it on the MP . I would recommend changing the name to something more descriptive. When I saw the name I thought it was a grapping hook
                Thanks for your feedback any suggestions for a better name would be much appreciated!

                Comment


                  #9
                  Hi there. First off, my apologies for the late response. While I did start out by monitoring this thread closely, there were no responses during the first couple of months. I'm very glad to see that some people are actually interested.

                  In the mean time, my work on the Grapple Component has been continuing. I still plan to releasi it as soon as I can. The product is making steady progress, but it is not yet ready for a public release. I would expect to start the submission process on the Markerplace in July, but I can't make any promises on that. Making all Blueprints accessible and user friendly seems to take some time.

                  In any case, I will keep posting updates on here, now that I know that there is some interest on the forums. Big thanks to everyone for the positive response. Any further feedback and/or suggestions are much appreciated!

                  Comment


                    #10
                    For sure, thanks for working in this grapple component! For sure that I will adquire it on its release! Thanks for your hard work JonVD!

                    Comment


                      #11
                      Originally posted by JonVD View Post
                      Hi there. First off, my apologies for the late response. While I did start out by monitoring this thread closely, there were no responses during the first couple of months. I'm very glad to see that some people are actually interested.

                      In the mean time, my work on the Grapple Component has been continuing. I still plan to releasi it as soon as I can. The product is making steady progress, but it is not yet ready for a public release. I would expect to start the submission process on the Markerplace in July, but I can't make any promises on that. Making all Blueprints accessible and user friendly seems to take some time.

                      In any case, I will keep posting updates on here, now that I know that there is some interest on the forums. Big thanks to everyone for the positive response. Any further feedback and/or suggestions are much appreciated!
                      Hello JonVD! I would like to know how is your project of Grapple Component Im very interested!

                      Comment


                        #12
                        Want to see this too on MP! Ask for a while exactly this on what want you see thread.

                        Comment


                          #13
                          Originally posted by Tananger View Post

                          Hello JonVD! I would like to know how is your project of Grapple Component Im very interested!
                          Originally posted by MesherKnesher View Post
                          Want to see this too on MP! Ask for a while exactly this on what want you see thread.

                          Originally posted by Chip128434
                          How is the grapple component project going?


                          Hi all


                          Thank you again for your interest and your patience. Some aspects of development are taking a bit longer than expected. Therefore, i am expecting a delay of at least few months. However, my work on the Grapple Component is still continuing.

                          Comment


                            #14
                            I am very interested as it is exactly what my project needs. I'm glad you are still working on it, good luck with it!

                            Comment


                              #15
                              Are you still working on it? I'm really interested with this plugin if it's going to have multiplayer support.

                              Comment

                              Working...
                              X