Originally posted by AngeIV
View Post
Announcement
Collapse
No announcement yet.
Able Ability System Info and Support Thread
Collapse
X
-
jfaz48 replied
-
AngeIV repliedIf you use animations that have a blend in and blend out (like montages) if you cancel ability, or branch to a different ability - it will not blend out but terminate the animation immediately in one frame. if the ability is shorter then the anim montage it will as well terminate the montage in 1 frame at the time the ability ends.
Leave a comment:
-
jfaz48 repliedHey Matt,
I'm having some issues blending with state machines. I have my normal locomotion state which is connected directly to the ability state, with the only conditional being whether an ability is active or not. It works fine aside from the blending; if I turn blending off, or lower the time to a very minimal degree (<0.03) the animation plays fine. But there is no blending. If I enable blending, then when I am idling it actually works fine, but if I use an ability in the middle of running, it'll start at a random spot in the ability animation (probably correlated to the frame of the running animation). This is unusable because it tends to skip a large portion of the animation; I put an AnimNotify in the beginning and it never got fired except when I was idle or when blending was disabled. Any idea what could be causing this?
Thanks again!
Leave a comment:
-
ExtraLifeMatt repliedOriginally posted by KamiSkilletLTD View Post
Great, if you need more information let me know. Thanks!
Hey Skillet, I got some time to investigate things and it *appears* to be working as I would expect. Here's what I'm seeing.
So, here is the orientation of the socket I'm using ("head" in this case). You can see the X axis (red) is going up.
Now, when I set my query to use the socket location and make a box 200x100x100, I get a properly aligned box.
Are you not seeing this occur?
Last edited by ExtraLifeMatt; 07-15-2018, 08:32 PM.
Leave a comment:
-
KamiSkilletLTD repliedOriginally posted by ExtraLifeMatt View Post
So you're seeing it with a manual rotation as well? That sounds like the transform concatenation might be wrong. I'll look at that and report back.
Leave a comment:
-
ExtraLifeMatt repliedOriginally posted by KamiSkilletLTD View Post
You're right, if I remove the socket rotation it will stay with my character. I need it to stick with my character but also have the collision hit where I'm aiming/looking. If I try to set a manual rotation on the query it goes off my character again. My headSocket has no relative rotation on it. I do have plane constraint axis setting to X for my character. All this shouldn't really affect it but figured the more information the better. Any ideas?
- 1 like
Leave a comment:
-
KamiSkilletLTD repliedOriginally posted by ExtraLifeMatt View PostHmmmm It could be something with the socket rotation. Try removing that and see what it gets. Otherwise I'll try some things out myself.
Leave a comment:
-
ExtraLifeMatt repliedHmmmm It could be something with the socket rotation. Try removing that and see what it gets. Otherwise I'll try some things out myself.
Leave a comment:
-
KamiSkilletLTD replied -
ExtraLifeMatt repliedOriginally posted by Tetsumori View PostIs there a way I can send a reference to character class in Ability Context to minimize casting?
Leave a comment:
-
A7426764001 repliedIs there a way I can send a reference to character class in Ability Context to minimize casting?
Leave a comment:
-
ExtraLifeMatt repliedOriginally posted by acxsasx View Post
Yep, did that. When I look for all the references for the CharacterTag variable, it only shows Gets and no sets in the blueprint. Only reason I am bringing it up is to see where I am missing something where it gets set. I see the IncommingTag off the DamageByAbility class variable and I see where the comparison is done in the CheckBurning method.
One thing to note is I opened up the example in 4.19.2 and I am seeing some weirdness in BurnPassive where all the custom events end in "_1". So maybe something is getting lost in the conversion.
The principle flow is still the same: When Damage is about to occur, pass in the tags for the incoming Ability. When damage does occur, check the Ability tags against the player tags, and do whatever combinations you want.
Leave a comment:
-
acxsasx repliedYou can also download the example and see how things work in more details.
One thing to note is I opened up the example in 4.19.2 and I am seeing some weirdness in BurnPassive where all the custom events end in "_1". So maybe something is getting lost in the conversion.
Leave a comment:
-
ExtraLifeMatt repliedOriginally posted by acxsasx View PostRegarding your burning man example, the BurnPassive ability sets gameplay tag "Status.Burning" which is done to the gameplaytag container on the ability component(?).
On the targetmannequiun, off the "Event AnyDamage" event, in the Check Burning method, the CharacterTags variable is checked for the above gameplay tag.
I don't see where CharacterTags gets the "Status.Burning" tag.
I am assuming the abilitycomponent's gameplay tag variable should be used to look for the Status.Burning? (GetGameplayTagContainer)
You can also download the example and see how things work in more details.
Leave a comment:
-
acxsasx repliedRegarding your burning man example, the BurnPassive ability sets gameplay tag "Status.Burning" which is done to the gameplaytag container on the ability component(?).
On the targetmannequiun, off the "Event AnyDamage" event, in the Check Burning method, the CharacterTags variable is checked for the above gameplay tag.
I don't see where CharacterTags gets the "Status.Burning" tag.
I am assuming the abilitycomponent's gameplay tag variable should be used to look for the Status.Burning? (GetGameplayTagContainer)
Leave a comment:
Leave a comment: