Version 1.6 is now live. Enjoy!
@
Iām experiencing an issue with the newest version, the animation no longer resets to the beginning after the ability is canceled.
In earlier versions, if something cancels the ability, then the next time the ability plays it will restart the animation from the beginning (expected behavior)
Now it holds onto the last frame and blends into that instead restarting the animation.
My BP and ability set-up hasnāt changed from the screenshots I posted earlier.
Hmmm⦠I did have a small change in the animation blending code. Iāll look into this and possibly revert that change. Thanks, Aumaan.
@ please donāt remove the new blending feature though, I like that part of it xD
Itās just that the animations once interrupted by a ācancel ability nodeā, never restart from the beginning as they should.
For reference, that change was meant to make sure the animation completed blending before swapping to the next animation. But yes, cancel/interrupt would want a hard stop. Iāll add some logic for the specific case, probably have it as an option you can enable/disable.
@
Thank you so much!
I wish I could leave another 5 star review just on the support alone xD
Seriously though I really feel like I got above and beyond my moneys worth with this one, keep up the good work!
Alright, so if you are using 4.16, there is currently a bug with Default Spawned Event Nodes causing crashes when called from the CDO (which Able relies on to keep memory down).
Hereās the Bug reference.
The work around is to simply turn off Default Spawned Event Nodes (Open up the Blueprint Editor, View -> Editor Preferences, Uncheck Spawn Default Event Nodes). Unfortunately youāll have to re-create any Abilities that you used before hand until this bug is fixed (which will hopefully be soon).
Ohhh, thatās unfortunate
Thanks for the heads up though.
@
Hi! Just downloaded the plugin yesterday and itās great.
Iām wondering if you could help with a design question. Iām working on a game thatās heavily based on a weapon and combo system that I think this will really help with but Iām not sure of the best way to structure everything. Hereās an example:
One of the weapons fires a projectile. If 2 of these projectiles collide, they combine to make a larger, faster projectile heading in the direction of the projectile that was fired first. My initial design is:
- Pawn has Action ability that fires a projectile
- Projectile has passive ability that checks for collision with other projectile and branches to 3.
- Action ability that spawns new projectile
Does this sound like a good idea? Iām not sure how to destroy the original 2 projectiles, is there a task that would do this? Or should I make a hook in blueprint?
Hey @
Iām trying to create a new task that extends your ability task.
The goal is to create a new āvariable branch taskā, that has the m_BranchAbility defined at runtime through another function that can be defined in blueprints.
Iāve run into a wall since everything is a const function so I canāt perform any assignments to m_BranchAbility.
Is there perhaps a way I can work-around this?
Hi
Yea, that sounds fine. To destroy the projectiles you need to find a way to call DestroyActor and itāll have to be done via blueprints. If you override the OnAbilityEnd method and check the result, itāll tell you if the ability was ended because it branched to another. If thatās the case, simply call DestroyActor on the projectile (Self Actor).
Branch Abilityās parameter canāt be changed at run-time because, if you watch the Burning Man tutorial I did, all Abilities are pretty much static/stateless once created. However, you can store that data on your character and simply have the Ability poll that. Iāll see if I canāt add a simple method you can override to grab that Branch Ability at runtime (default will just return the parameter). Branch Ability is admittedly a special task and I could see wanting it to be more flexible.
Thanks for the info, Iāll have the ability poll the character to get the data.
Also Iād like to suggest two quality of life features for the task editor:
- Duplication of tasks, through either context menu or hotkey, (not sure which is easier)
-
Re-ordering of tasks (Makes it easier to keep track of tasks after adding/removing them)(Nevermind I see that re-opening the ability re-orders tasks already)
Able v1.65 has been submitted to Epic, it has a couple fixes/features:
- Added an option to interrupt Animations that are playing when the Ability is interrupted (Must be using the Ability Animation Node option). You can find this new option in the Play Animation Task.
- Added āDynamic Branchā option to Branch Ability Task. If checked, this option will call āOnGetBranchAbilityā on the Ability itself which can query the player or whatever else you need and return the appropriate Ability to use for the Branch.
I believe CTRL+A will auto bring up the Add Task window (I had that in a super early build⦠may have gotten nuked though). I can check later tonight. Duping Tasks isnāt too terrible, but there are a few things to be careful about - I"ll look into it.
With regard to Task order, thatās a bigger issue. Tasks are always sorted by time on save (which optimizes things during runtime) - so Iād be extremely hesitant to add manual sorting. If re-opening the editor fixed the issue you were seeing, then that works as well.
Thanks for the excellent support!
NP. The holidays put a damper on my normal testing though, so please report any issues you run into with the new features. I gave them a quick once over, but you never know.
@
Hello, thanks for the new options in the update
Just a few things:
The Cancel Ability node doesnāt seem to be functioning correctly, it always seems to assume āinterruptedā as the āResult to Useā no matter what I set it to. (Iām assuming such as now the animations are interrupted during cool down now when I havenāt changed any of that BP logic before this update or the previous one)
The new interrupt bool doesnāt seem to affect this issue at all.
Also this minor bug still persists.
Hmm, Iāll dig into that [MENTION=33476]Aumaan Anubis[/MENTION]. Looking at the code real quick, we do pass the result - but the new code should only happen if we are passed an interrupt so if youāre seeing that then its getting told its an interrupt somewhereā¦
Unfortunately I checked the text that enum and its just a bug in UE itself (the tooltip shows for the currently selected value, not the one you are hovering over). I have no control over that unfortunately.
Thatās not what itās doing.
It actually does show the value of the one you hover over, itās just the tool tips are all offset by 1.
Like this
Result to Use: > (on hover, tool tip reads: āselect enum values from the listā) <<< Thatās fine.
- Successful > (on hover, tool tip reads: ā____ā)
- Branched > (on hover, tool tip reads: āTask Finished Normally (e.g. reach end of its time)ā)
- interrupted > (on hover, tool tip reads: āAbility is being branched to another abilityā)
Itās the only abl node Iāve used that behaves that way.
On designing this system how did you envision stamina/mana use?
Iāve run into a slight snag on branching abilities using up energy/stamina/mana and Iām not sure which is the right approach. Iāve started caching the character BP with On Ability Start and firing the characterās UseStamina/Energy function from there but was getting inconsistent results so I decided to try from a Custom Event with Realm set to Server. The troubles range from sometimes it fires multiple times to not at all with tracking the UseStamina call for GetWorld->GetNetMode() sometimes having a server and sometimes not. I feel like Iām going about this in the wrong fashion but blind from staring at this too long =)
Thanks!