Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

    Originally posted by Talanar View Post
    Hey ExtraLifeMatt,

    Yes I can delete them and override the function, problem is that after this is done I still dont have access to the events.

    For simplicity of explanation and to show you my step by step implementation I've recorded a video:

    https://youtu.be/Y4hh-ZYmfpE

    You can see me trying to delete those custom events, overriding the function and then trying to place the events once again (and fail because they are not available to me)

    I've uploaded the engine to 4.19.1 but as far as I see my plugin is still 2.20
    v2.21 hasn't been published by Epic yet. It's still in the processing phase (hence why I was able to sneak that fix in). Hopefully it'll be out today or tomorrow.

    The whole event vs function thing is a bit of a misnomer. OnAbilityStart/End/etc are all functions, technically. They're called directly at specific points and not using the delegate system or anything like that. So, if you just overload it from the Function list - it should actually work identically as just dragging nodes off the default nodes that are populated in the graph normally.

    That said, it's all moot as this is fixed in v2.21 so just hold tight and update as soon as you can, then you should be good to go.
    Able Ability System - A high performance, robust ability system for UE4. Now Available!

    Comment


      can't wait to give it a try, me waiting for 2.21 to release: https://media.giphy.com/media/Jq7y34Hgfy01y/giphy.gif

      Comment


        Hey again,

        After updating, I can't find blueprint preview assets. If I select the parent or the class itself in the first window, nothing shows up in the second one. This was working fine before. If I try finding a skeletal mesh asset then it works, but I can't use these since I'm utilizing the ability node.

        I also have the same issue as Talanar where the "unrecognized tab" opens. Does nothing as far as I know, but probably shouldn't be there hahah.

        Edit: Unfortunately it seems that the animation speeding up with weird blending issue is still there. Any comments on that?
        Last edited by jfaztk; 04-13-2018, 03:03 PM.

        Comment


          Originally posted by jfaztk View Post
          Hey again,

          After updating, I can't find blueprint preview assets. If I select the parent or the class itself in the first window, nothing shows up in the second one. This was working fine before. If I try finding a skeletal mesh asset then it works, but I can't use these since I'm utilizing the ability node.

          I also have the same issue as Talanar where the "unrecognized tab" opens. Does nothing as far as I know, but probably shouldn't be there hahah.

          Edit: Unfortunately it seems that the animation speeding up with weird blending issue is still there. Any comments on that?
          Hmm, I didn't change the Preview code. I can check and see if that broke. Refresh my memory on the animation speeding up? I'll try and repro that this weekend.
          Able Ability System - A high performance, robust ability system for UE4. Now Available!

          Comment


            Originally posted by ExtraLifeMatt View Post

            Hmm, I didn't change the Preview code. I can check and see if that broke. Refresh my memory on the animation speeding up? I'll try and repro that this weekend.
            Thanks! I'll copy paste Fernmerc's posts, he has the same issue(s) I have:

            Whenever I branch into another ability, the branched ability plays much faster. I'm not sure if it's the animation or the ability itself, but I tried disabling "scale with ability play rate" and it didn't change anything. I have a simple sword slash that branches into itself (I tried other abilities as well), and if I press and hold mouse, the first ability plays fine, then the second one plays nearly twice as fast. Then the third one plays normal again, and then the fourth one fast again, and it keeps repeating in this pattern.

            At first I thought it was some issue with the blending, that maybe I was branching too early causing it to look like that, but I placed the branch all the way at the end and the same thing still happens. If I just wait a few frames more for the ability to end and then trigger the ability to end, it plays normally, meaning it's not a blending issue since the pose is pretty much the same.

            Any idea what this could be?
            I've never touched ability play rate and I also turned off "Scale with ability play rate". Moreover it works fine with single node. I enabled looping and 95% of the time it works fine, and then randomly one of the iterations is sped up. With looping off it's every other one. Don't worry if you can't answer this question, it's an unfair one

            Edit: It also happens in the editor if I hit play with looping enabled (in the same way as in game, with 95% of them being fine and one of the multiples of 2 being sped up)
            Edit 2: I made a new animbp with only the ability node and it still happens, so it's not the animbp.
            I managed to recreate the issues on a new project. All I did was add an input "Ability" mapped to the F key, add the ability state machine and the configuration in the animbp, and create an ability that has a branch at the end. If I press and hold F it will speed up every other iteration. Here's a link to the project:

            https://mega.nz/#!Ckg2HZaK!c4r6oq52_...gwqNcHAiBuZIDQ

            Edit: It has something to do with the interruption of the animation. If I place the branch after the play animation task, the next one will not be sped up. Also, depending on where you put the branch the animation speed is different. I'm guessing it's a blending thing.
            Thanks! I also have another issue relating to it when I use looping. I'm trying to implement my bow mechanics using Able, and I have three abilities; one for draw, another one for aim, and another one for fire, in which they branch to each other in succession.

            The first issue I had was that the blending wasn't working correctly, just like with the previous issue. The draw animation ends where the aim animation begins, but instead if I place the branch anywhere other than after the first animation has ended, he will quickly revert to idle and then blend into the aim animation. I ended up placing the branch .2 seconds after the draw animation had finished and even though there's a really tiny hiccup in between the abilities it's good enough for me as a workaround right now. If I put it .1 seconds after the draw animation finishes, there's a chance (~20%) that it'll revert to idle and then blend into the animation, as it shouldn't. For all I know there's still a chance of it happening .2 seconds after and I just haven't experienced it yet, but it's just a temporary workaround.

            The issue I mentioned came after, in the second ability. If I set the aim ability to loop, and I break the channel condition to escape the loop, it restarts the animation from the beginning to the end instead of just breaking off right away. This one is also really weird, because I put a custom event near the beginning that fires in every loop iteration, but if I break the channel condition midway through the loop and it starts it from the beginning, the custom event does not fire. So then I realized it's not the ability starting all over, it's just the animation. I placed an animnotify in the beginning of the animation and it prints a string if I break the channel condition near the end of the ability. I know it's related to the previous issue, because it works fine in single node; the issues only happen with the ability animation node. Unfortunately I can't use single node as aimoffsets don't work and there's no transition. Ability interrupt is also called when it should be, so it's purely an animation issue.

            In case my explanation isn't clear enough, here's the issue laid out plainly:
            • One ability branches to the other (only issue here is the same one as before, weird blending)
            • Second ability loops from start to finish indefinitely; all it contains is a single animation task, using ability node.
            • This ability is channeled, channel condition being mouse press
            • Mouse is pressed and held all the way until the second ability
            • Mouse is released any time during the second ability (can be first loop iteration, tenth loop iteration, it doesn't matter)
            • Animation replays from the beginning (animnotify fires) instead of being broken out of
            • Only occurs using ability animation node, not single node



            Any help is appreciated, it's driving me crazy!
            SteamPunkProgrammer also posted about what is most likely the same issue:

            So I bought the able ability system this weekend, and it works pretty good, but I found an issue. I can't see to cancel an abilities animation early, I wired up a custom event, cancel the ability (which does appear to cancel the ability itself) but the animation just continues to play no matter what, UNLESS I make it play another animation via a branch instead of a cancel, that will instantly end the first animation. Any hints as to what I need to do to ensure the animations cancel correctly with the ability itself? (I am using Ability Animation Node, have that all setup in the correct fields and I have 'stop on interrupt' turned on which I would have thought would do what I want, but it doesnt). If I try to use 'interrupt' for the result to use in the cancel ability method, it seems to just reset the animation.
            Thanks for your time!

            Edit: I think another user also has the same issue as me with the preview asset:
            Hi, sometimes when I try to add preview assets in, the blueprints that I click are not alsways loading in, most of the time it fails to load the blueprint in as a preview asset. Any ideas to why this is happening, this is ue4 4.19

            Comment


              Originally posted by jfaztk View Post

              Thanks! I'll copy paste Fernmerc's posts, he has the same issue(s) I have:






              SteamPunkProgrammer also posted about what is most likely the same issue:



              Thanks for your time!

              Edit: I think another user also has the same issue as me with the preview asset:
              The speed up I haven't seen in the test app I have that loops an animation with a branch on itself, but I'll see what I can find. Same with the preview asset stuff.

              In the meantime, SteamPunkProgrammer fixed the ability canceling by tweaking his Animation Blueprint:

              I have, the only thing that has any effect is checking both the "Is Playing Ability" and "Has Ability Animation"; checking both of these for the state change within the animation blueprint solves the problem in most cases.
              Able Ability System - A high performance, robust ability system for UE4. Now Available!

              Comment


                Originally posted by ExtraLifeMatt View Post

                The speed up I haven't seen in the test app I have that loops an animation with a branch on itself, but I'll see what I can find. Same with the preview asset stuff.

                In the meantime, SteamPunkProgrammer fixed the ability canceling by tweaking his Animation Blueprint:
                If you press and hold F in the test project Fernmerc submitted, every other ability animation iteration isn't sped up? It is for me, and that's the same issue I have in my own project.

                Comment


                  I'm still getting the crash in standalone when using Able. I'm now using v2.21 and custom built engine with the recommended change that was supposed to fix it. Any ideas, ExtraLifeMatt?

                  Comment


                    mesterKG I get the crash when using standalone too.

                    ExtraLifeMatt I managed to get standalone working by changing the Type in UPlugin from this

                    Code:
                            {
                                "Name": "AbleEditor",
                                "Type": "Editor",
                                "LoadingPhase": "PreDefault",
                                "WhitelistPlatforms": [
                                    "Win64",
                                    "Win32",
                                    "Mac",
                                    "Linux"
                                ]
                            }
                    to this

                    Code:
                            {
                                "Name": "AbleEditor",
                                "Type": "Developer",
                                "LoadingPhase": "PreDefault",
                                "WhitelistPlatforms": [
                                    "Win64",
                                    "Win32",
                                    "Mac",
                                    "Linux"
                                ]
                            }
                    ​​​​​​​
                    Is this safe to do? or will it cause me issues?

                    Comment


                      I did the change described by barney87 there and now Standalone from editor works like a charm. No custom engine required.

                      --kg

                      Comment


                        Originally posted by barney87 View Post
                        mesterKG I get the crash when using standalone too.

                        ExtraLifeMatt I managed to get standalone working by changing the Type in UPlugin from this

                        Code:
                        {
                        "Name": "AbleEditor",
                        "Type": "Editor",
                        "LoadingPhase": "PreDefault",
                        "WhitelistPlatforms": [
                        "Win64",
                        "Win32",
                        "Mac",
                        "Linux"
                        ]
                        }
                        to this

                        Code:
                        {
                        "Name": "AbleEditor",
                        "Type": "Developer",
                        "LoadingPhase": "PreDefault",
                        "WhitelistPlatforms": [
                        "Win64",
                        "Win32",
                        "Mac",
                        "Linux"
                        ]
                        }
                        ​​​​​​​
                        Is this safe to do? or will it cause me issues?
                        Originally posted by mesterKG View Post
                        I did the change described by barney87 there and now Standalone from editor works like a charm. No custom engine required.

                        --kg
                        Interesting... I'm not sure what changing the Type to Developer does (maybe standalone doesn't consider itself an Editor app?), I'm slightly shocked that fixes it but ¯\_(ツ)_/¯

                        I'll do some digging and see what could come out of that, and if it seems okay - I'll push it in the next update.
                        Able Ability System - A high performance, robust ability system for UE4. Now Available!

                        Comment


                          Originally posted by ExtraLifeMatt View Post



                          Interesting... I'm not sure what changing the Type to Developer does (maybe standalone doesn't consider itself an Editor app?), I'm slightly shocked that fixes it but ¯\_(ツ)_/¯

                          I'll do some digging and see what could come out of that, and if it seems okay - I'll push it in the next update.

                          I also tried setting it to "Runtime" and that seems to work as well. From what I can understand of the UE docs, the developer type may not load module in shipping builds. I have absolutely no idea how any of this plugin stuff works, so it may break other things, all I know that changing it got standalone working.

                          Comment


                            Originally posted by barney87 View Post


                            I also tried setting it to "Runtime" and that seems to work as well. From what I can understand of the UE docs, the developer type may not load module in shipping builds. I have absolutely no idea how any of this plugin stuff works, so it may break other things, all I know that changing it got standalone working.
                            It shouldn't be trying to load the AbleEditor portion anyway for stand alone (there's no reason for it if it's just launching the blueprint as a compiled asset). I'm still digging into it. Runtime is definitely not intended as that would load the Editor specific code when running the game - which you don't want. Developer sounds okay, but I'm still digging to better understand what is going on here and why that seems to fix it

                            Originally posted by jfaztk View Post

                            If you press and hold F in the test project Fernmerc submitted, every other ability animation iteration isn't sped up? It is for me, and that's the same issue I have in my own project.
                            I was able to repro it and track the issue down. Looks like if you have a queue'd up animation that you are blending to, that animation gets updated twice (and thus plays 2x).

                            The fix is to simply comment out (or remove) this line in the AnimNode_AbilityAnimPlayer.cpp:

                            Code:
                                        //m_NextSequenceInternalTimeAccumulator += Context.GetDeltaTime();
                            The MakeSequenceTickRecord does that logic, so it's not needed to do it before hand. I'll push that fix out as well as soon as I understand the fix barney87 is doing and what can come from that. Feel free to make the change locally if you need it before then.
                            Able Ability System - A high performance, robust ability system for UE4. Now Available!

                            Comment


                              ExtraLifeMatt I found another bug. After creating a custom task two tasks show up in the add task menu in the Able Editor. One of them will crash Unreal Engine Editor.

                              To reproduce.

                              1. Create third person project
                              2. Create new ability based on AblAbility class
                              3. Create new custom task based on the AblCustomTask
                              4. Click add task in Able Editor in the new ability
                              5. You will see two tasks with the same name, except one has a prefix of SKEL
                              6. If you click on the SKEL version and save, it will crash UE
                              7. If you click on the one not labelled SKEL it seems to work fine.

                              Comment


                                ExtraLifeMatt

                                Also, now that I can finally use Able, I am not sure where to get started.

                                I have a third person project, and my character shoots projectiles. I use the camera to do a line trace and then offset the rotation of the projectile so that it travels in the direction of my cross-hair. I was hoping I could move my shooting logic into Able.

                                Here is the current logic I am using (its not quite complete) but it will give you the gist of what I am trying to do.

                                https://blueprintue.com/blueprint/gpilb1y6/

                                It doesn't seem like I can do this (cleanly) in Able, what do you think?

                                Comment

                                Working...
                                X