Announcement

Collapse
No announcement yet.

PaperZD State machine and Event system extension for Paper2D

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

    Sure, sounds good enough... we can discuss that on our discord, where we can mumble more freely.
    I'll be posting updates about PZD too, next update's going to be kinda big, as i'm refactoring a lot of things that weren't quite right, and that's opening new possibilities like RootMotion2D and AnimSequence_Creature/AnimSequence_Skeleton.. as animation sources

    Comment


      For people wondering about 4.21 update.
      I'm currently working in a kinda big update, so that's why i haven't been able to roll a stable 4.21 version.

      But i'm considering pausing development to roll an update to the new engine version using the current live build, before continuing the big update.
      Thanks for the patience!

      Comment


        Just uploaded version 4.21, it's essentially the same as 4.20.
        I'm currently working on QoL changes for next version and QA testing right now, when that's done i'll roll out a 2 part update.
        More info on our trello and discord

        Comment


          Ok some news.

          - Just finished cleaning and working on a lot of improvements, right now we have way better support for external animations, actually just tested with Creature2D meshes and they work pretty well, so its just a matter of coding the specialized AnimSequences if anyone would want to add external support for other animation sources.
          - Added delegates for looping, change sequence and finish playing.
          - General cleanup of the code and debuged a lot of edge cases.

          If all goes well and i finish the QA, i'm going to upload this new version on the weekend.
          Any questions or feature requests feel free to check us out on our discord

          Cheers!

          Comment


            Version 1.3 is up, this version is a very big overhaul to the AnimSequence system, which lets us provide a lot of support for future features, besides that this version contains the following key features:

            - AnimSequences as independent assets (must be parented to an AnimBP, in order to let the compiler know how to link the custom notifies)
            - AnimSequences are now an abstract class, which can be derived to give support to other animation sources besides paper2D (we tested with Creature2D and will upload the source code for that support on a github account, so you can hook it up)
            - Full backwards support: After loading, the editor will create all the new AnimSequences (if you're compiling from source you will see an ensure trigger, this is normal, as the AnimSequences are now an abstract class; all your AnimSequences will be recreated as AnimSequence_Flipbook). Please remember to save ALL the created assets, to avoid issues.
            - Sequencer has backwards support too, but due to the nature of how its implemented, you have to open all your sequences first and slide the cursor (so they get Initialized)... this will queue the character and the Template section will be able to obtain the data from it.
            - Custom settings, so you can customize how and where to put newly created AnimSequences via the Animation Editor.
            - Full IWYU support, the code base is pretty big, so it took some time to fixup every dependency.
            - New AnimPlayer, which is responsible of running the AnimSequences.. this player comes with 3 delegates: "OnPlaybackSequenceChanged", OnPlaybackSequenceComplete, OnPlaybackSequenceLooped), and on the AnimBP: for sequence swap and sequence playback complete.
            - Fixed general crashes and errors when re compiling BP notifies while having a notify panel open.
            - Fixed Stack overflow when having two bidirectional states with transitions active.
            - Added bIgnoreTimeDilation on AnimBP, so you can have global time dilation without affecting your character's animation.
            - Added support to opt out of "TransitionalStates": With transitional states you can go to State A to C, passing from B, on the same frame without having a direct connection... the queue will only play the last transition + target state... this helps make the graph smaller, but can lead to too much recursion, (and stackoverflows on our previous bug).. for that we added a limit on recursion and visited states... Opting out from transitional states gives you a faster graph, but with the price of having to create every connection, if you don't want flicker on your animations.


            There's a lot more, besides optimization and bug fixes... i hope you enjoy it.
            Please remember to back up your project; because of the nature of this update, and the cheer size of it... some errors could have escaped our QA.. in that case, please refer to this support thread or join us at our discord.

            Next update will come with some big new tools... so be prepared..

            Hope you have a good day and be safe!
            Last edited by HeavyBullets; 01-08-2019, 11:03 AM.

            Comment


              Hey Just started messing around with this, after looking at the example project, I am confused about how you add a flipbook to the animation sequence.

              Comment


                Hey Makoto... yeah sorry, the example project is actually a very old project that i'm currently working to replace.
                Besides that i'm due to creating good documentation on this plugin, because is a 1 man job.

                If you have doubts, please come to our discord channel and i can guide you better on how to use the plugin.

                But! so you have some guidance here:
                - To create an animation sequence, you first have to create a new AnimSequence (from the AnimBP Editor or from the right click context menu) and select AnimSequence_Flipbook as the parent.
                - You will have to parent the AnimSequence to a previously created AnimBP, this is done so the AnimSequence can use the Custom notifies defined for that AnimInstance, or ask for recompile/add notifies when you add a new one.
                - After creating the sequence, simply open it, it will open the AnimBP Editor on the Animation Mode, here you have a list of all the AnimSequences bound to your animbp.
                - If you click on the left list (My Sequences), you can open their editor, change the flipbook, and modify the Notify Panels.

                If you have more questions, feel free to ask, and thanks!

                Comment


                  Hey HeavyBullets - Got a feature request for this.

                  Would it be possible to add Blendspace2D Support to this plugin?

                  Example -> https://twitter.com/reduzio/status/1065321473093586949

                  Also can I get a link to your Discord?

                  Comment


                    Hey HeadClot, already talked to you.. glad you found your way to us.
                    Blendspaces are on a whishlist as i discused with you on discord and will be put on the plugin, but first we'll try to stabilize this version, because that would require a lot of changes to how the states chose their sequences.

                    Maybe on 1.4 would be a good idea to implement them, we're currently on 1.3.2

                    Comment


                      I've created external repos for adding support for Spine2D and Creature2D.
                      A million thanks to each of those developers which had enough patience to help me implement those code changes.

                      Head to this links if you need support for these 2 platforms.

                      * Blending doesn't work on this first iteration, as its a pretty early implementation, but i'll start working on better support for this tools.

                      PaperZD support for external tools:
                      - Creature2D:
                      https://github.com/heavybullets/CreatureForPaperZD
                      - Spine2D: https://github.com/heavybullets/PaperZDForSpine2D

                      Comment


                        Updated PaperZD to 1.3.4.

                        - Added Jump nodes.
                        - Added better control for external animation support.

                        Creature2D and Spine2D updated to allow blending.

                        Comment


                          Updated PaperZD to 1.3.4.2

                          - Fixed bugs with jump nodes not initing their nodes (which made an ensure trigger & transition nodes didn't get triggered)
                          - Fixed an issue with AnimSequences_Flipbook that didn't update on the editor when changing their source flipbook.
                          - Added 4.22 support

                          Comment


                            Originally posted by HeavyBullets View Post
                            I've created external repos for adding support for Spine2D and Creature2D.
                            A million thanks to each of those developers which had enough patience to help me implement those code changes.

                            Head to this links if you need support for these 2 platforms.

                            * Blending doesn't work on this first iteration, as its a pretty early implementation, but i'll start working on better support for this tools.

                            PaperZD support for external tools:
                            - Creature2D:
                            https://github.com/heavybullets/CreatureForPaperZD
                            - Spine2D: https://github.com/heavybullets/PaperZDForSpine2D

                            Spine 2D plugin compile error in 4.22

                            Comment


                              Thanks for the headsup Unreal-NetFly , i'll check it out!
                              If you have more info on the compilation error, you can also create an "issue" on the github page.

                              Remember also that the Spine2D tool is a "connector" for Spine2D and PaperZD, thus you need to have both plugins already installed, and also, the guys from Spine2D tend to undo our spine-runtime modifications without notifying us much and break the support for external animation sources... in that case you can always go to our spine2d-runtimes fork for the compatible version, if they did break it.

                              https://github.com/heavybullets/spine-runtimes

                              Cheers!
                              Last edited by HeavyBullets; 05-27-2019, 03:29 PM.

                              Comment


                                HeavyBullets Can you change the current running animation blueprint? i tried just using SetAnimationBlueprint in BeginPlay() but it didn't seem to actually change the character's anim blueprint

                                Comment

                                Working...
                                X