Announcement

Collapse
No announcement yet.

Able Ability System Info and Support Thread

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

  • replied
    Originally posted by acxsasx View Post
    In the ablDamageEventTask.cpp you pass an empty FDamageEvent to the actor's TakeDamage. It would be nice to have a way to set an FDamageEvent to be passed.

    I rather have the TakeDamage method determine the amount of damage that finally gets applied. That way the logic is in a central place to account for damage coming from some other technique.
    You can have CalculateDamageForActor call a Blueprint Library Function or some damage calculation you create and pass all the info to and then simply return a value - that would allow you to keep all your damage calculations in one place. I avoid using the FDamageEvent scheme because it feels fairly limited (radial vs point) and I only piggy back off it since so many people use the TakeDamage callback.

    The actors not cleaning up may be due to the blueprint compile needing it to clear our the actor and recreate it. Closing the editor does just that. I'll look into that.

    Aiming for the next update for Able to hit around the 13th. I had LASIK done on Friday so I'm avoiding the computer (beyond this quick post) and then I'll be out at Playstation DevCon all week, so the earliest I can get some work done is likely Friday night.

    Cheers!

    Leave a comment:


  • replied
    Using a blueprint based on ACharacter for the preview asset. If I have the Able editor window open and I make a change to the character blueprint and compile it, when I come back to the Able editor, the Play button does not play the ability. I hit the reset preview asset and I get another asset spawned on the old one and then all works ok. If I close and open the window it clears off.

    Click image for larger version

Name:	able preview reset.jpg
Views:	41
Size:	134.5 KB
ID:	1471694

    Leave a comment:


  • replied
    In the ablDamageEventTask.cpp you pass an empty FDamageEvent to the actor's TakeDamage. It would be nice to have a way to set an FDamageEvent to be passed.

    I rather have the TakeDamage method determine the amount of damage that finally gets applied. That way the logic is in a central place to account for damage coming from some other technique.

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Never seen that one. Do you have GC turned up to some crazy high value? Those actors should be cleaned up.
    Happens constantly and I have to reload the editor to get rid of it. As for GC - sure, I can check it. One question - what's a GC? Since I'm using a minty mint 4.19 with a couple of free plugins I doubt that I've changed it from default value, whatever it could be.

    Originally posted by ExtraLifeMatt View Post
    Not currently. It's not crazy to add. Just change the play rate from a float to FSplineCurve and update things as needed. I'm slightly hesitant to add that in by default simply because it seems like a fairly specific requirement. Seems like most people keep it at one value rather than use a curve (and the cost that goes with it).
    I need it mostly to drive the melee 1-2-3 chain animation and create "windows" for combo branching. When I try controlling the montage directly via animBP I end up with a crappy behavior because Able is not aware of length change. So far I can't change the variable from float to curve because that involves doing some codeworks, which I currently pretty much suck in. And it will surely turn into a mess when I'll try to modify someone else's code.
    I have no idea what is the difference in costs between them, I'l have to dig on this later. So far I'm focused on getting things to work at all and they kinda don't.

    Also one more thing - can I get a custom event from the time line to fire a custom event from the ability's BP Graph? Naming them the same would me my first guess, but that didn't work. All I found was a "function override way" from your lightning tutorial, but that is something I can't get to work either. All I need is to fire a custom event in graph once a custom event in the Timeline is fired.

    Leave a comment:


  • replied
    Originally posted by Roland_Price View Post
    After working for 5-10 minutes preview stage gets also populated with broken preview assets
    Never seen that one. Do you have GC turned up to some crazy high value? Those actors should be cleaned up.
    Originally posted by Roland_Price View Post
    Also - is there a way to control an ability Play rate via custom curve, much like the "Montage Set Play Rate" node where you can feed the curve into New Play Rate connection?
    Not currently. It's not crazy to add. Just change the play rate from a float to FSplineCurve and update things as needed. I'm slightly hesitant to add that in by default simply because it seems like a fairly specific requirement. Seems like most people keep it at one value rather than use a curve (and the cost that goes with it).

    Leave a comment:


  • replied
    Also - is there a way to control an ability Play rate via custom curve, much like the "Montage Set Play Rate" node where you can feed the curve into New Play Rate connection?

    Leave a comment:


  • replied
    After working for 5-10 minutes preview stage gets also populated with broken preview assets

    Leave a comment:


  • replied
    Originally posted by acxsasx View Post

    Sigh. Sorry to have wasted your time. I did not retarget the animation.
    No worries. Glad you got it figured out!

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Ah, sorry. I assume it works with Single Node, right? That generally means one of your State Machine Parameters isn't correct - but things look okay in the video. Did you ever get the Dedicated Server example to compile for you? I believe I use an animation in that one and it's setup properly.
    Regarding the Dedicated Server example, I have not gone back to that as of yet.

    Leave a comment:


  • replied
    Originally posted by acxsasx View Post

    Ok...so I decided to try the third person run animation. It works. I had glitches until I hit "Reset Preview Asset".

    So it must be something with the animation from SnS that it is not liking...
    Sigh. Sorry to have wasted your time. I did not retarget the animation.

    Leave a comment:


  • replied
    Originally posted by acxsasx View Post

    That addresses the stuck pose which I appreciate but is not the main goal I had. The problem I am trying to solve is playing the animation specified. The TPose is still being shown.
    Ah, sorry. I assume it works with Single Node, right? That generally means one of your State Machine Parameters isn't correct - but things look okay in the video. Did you ever get the Dedicated Server example to compile for you? I believe I use an animation in that one and it's setup properly.

    Leave a comment:


  • replied
    Originally posted by acxsasx View Post

    That addresses the stuck pose which I appreciate but is not the main goal I had. The problem I am trying to solve is playing the animation specified. The TPose is still being shown.
    Ok...so I decided to try the third person run animation. It works. I had glitches until I hit "Reset Preview Asset".

    So it must be something with the animation from SnS that it is not liking...

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    Yea, so it is getting stuck in the Ability Node State Machine.

    Try adding an extra check to your Animation Blueprint to check for "Is Playing Ability" before you set that boolean. So the logic would read like "If (HasAbilityAnimation AND IsPlayingAbility) HasAbilityAnimation? = true, else false"
    That addresses the stuck pose which I appreciate but is not the main goal I had. The problem I am trying to solve is playing the animation specified. The TPose is still being shown.

    Leave a comment:


  • replied
    Originally posted by acxsasx View Post

    I understand. Here it is.

    https://youtu.be/1WQ8ZXysCH8
    Yea, so it is getting stuck in the Ability Node State Machine.

    Try adding an extra check to your Animation Blueprint to check for "Is Playing Ability" before you set that boolean. So the logic would read like "If (HasAbilityAnimation AND IsPlayingAbility) HasAbilityAnimation? = true, else false"

    Leave a comment:


  • replied
    Originally posted by ExtraLifeMatt View Post

    That so much looks like your animation blueprint isn't properly feeding in the data. How are you populating the "Is Ability Animation?" field?
    I understand. Here it is.

    https://youtu.be/1WQ8ZXysCH8

    Leave a comment:

Working...
X