News:

SMFNew Installed

+-+-

User+-

Welcome, Guest.
Please login or register.
 
 
 

Login with your social network

Forgot your password?

Site Stats+-

Members
Total Members: 728
Latest: Cho
New This Month: 0
New This Week: 0
New Today: 0
Stats
Total Posts: 10932
Total Topics: 795
Most Online Today: 298
Most Online Ever: 854
(September 18, 2024, 07:49:37 am)
Users Online
Members: 0
Guests: 317
Total: 317

Author Topic: Looping Skill w/ non-1 Animation Speed  (Read 2229 times)

0 Members and 79 Guests are viewing this topic.

Looping Skill w/ non-1 Animation Speed
« on: »
I was trying to make a monster skill that loops its effect if the target (player) is still within range. The animation speed is set to 2.

When I test the skill (both in-game and in-editor), the skill animation proceeds at speed 2 for the first iteration of the skill, but each subsequent iteration operates at speed 1 (which affects the timing of various effects within the skills that otherwise work properly).

Is there a way to make all iterations of a looping skill operate at the same animation speed?

Using
Code: [Select]
<FLOAT>SPEED:2 in the main section of the skill produces the above issue. I've looked at numerous tutorials, forum posts, etc. and not seen any that explain my issue (or even mention looping skills, for that matter).
Sign here if you never read signatures x________________

Share on Bluesky Share on Facebook


Re: Looping Skill w/ non-1 Animation Speed
« Reply #1 on: »
Hi SilverNexus and welcome!

The only way I can think of to make it foolproof (play at 2x speed every time) is to actually double the speed of the animation itself (instead of using a <FLOAT>SPEED definition in the skill .DAT).

Unfortunately the only way I know to do this is very tedious.  It involves opening up the animation in XML (convert the .SKELETON with OGRETools) and changing the timing of each keyframe by hand (I've tried using a spreadsheet for this; it does reduce the time but not by much). Then converting it back to .SKELETON. The resulting new animation is what you then use for your skill.

Does anyone else have a method Silver could try?


Re: Looping Skill w/ non-1 Animation Speed
« Reply #2 on: »
Yo! I split off that little side-discussion about a keyframe editor (exciting!) so that we don't derail SilverNexus' topic (sorry SilverNexus) ;)


Re: Looping Skill w/ non-1 Animation Speed
« Reply #3 on: »
...double the speed of the animation itself (instead of using a <FLOAT>SPEED definition in the skill .DAT).

Hey SilverNexus! If you want to try out this method, Kva co-created a brand new tool that will automate the keyframe editing ;) check it out!


Re: Looping Skill w/ non-1 Animation Speed
« Reply #4 on: »
Wow. I don't think I've ever had this quick and thorough a solution to my forum questions anywhere. I thank you for your promptness.

In the meantime, I've downloaded Retimer, but I'm not booted into Windows at the moment, so I'll give that a whirl later (hopefully later today). It sounds as though it will ease numerous processes involved with modding, so I expect it to do great things.
Sign here if you never read signatures x________________

Re: Looping Skill w/ non-1 Animation Speed
« Reply #5 on: »
Hey Silver,

I might be able to find an easier solution to your problem.  It sounds like a Skills quirk.  If you would post the text from your skill's .dat file I'll take a look at it and see why this might be happening.

Re: Looping Skill w/ non-1 Animation Speed
« Reply #6 on: »
I lightly edited this so it didn't have unit types that don't exist outside my experimentation mod, so it should work out of the box (I think).

The intent was to make the Bloatfang Boss damage the player and heal itself by "eating" the player (damaging, not fully eating, but, well, close enough). It was intended for practice/learning more than anything, so its not balanced at all (just the scale effect by itself makes the skill become ridiculous; the boss becomes unreasonably big and hard to target).

Last I checked, the damage and healing both didn't work, but that's something I'll address once I get the animation and timing to work right.

Code: [Select]
[SKILL]
<STRING>NAME:BloatFang_Heal_Eat_Player
<STRING>SKILL_TYPE:OFFENSIVE
<STRING>ACTIVATION_TYPE:NORMAL
<STRING>TARGET_ALIGNMENT:EVIL
<STRING>TARGET_UNITTYPE:PLAYER
<STRING>ANIMATION:Special_Eat
<STRING>ANIMATIONLOOP:Special_Eat
<FLOAT>RANDOMRANGE:0
<FLOAT>RANGE:0.5
<FLOAT>TARGETRANGE:10
<BOOL>REQUIRES_TARGET:1
<BOOL>DONT_TARGET_SMASHABLES:1
<BOOL>STOP_ON_TARGET_DEATH:1
<FLOAT>SPEED:2
<BOOL>CONTINUOUSLOOPING:1
<BOOL>IGNORES_CAST_SPEED:1
<INTEGER>COOLDOWNMS:1200
<FLOAT>FINDTARGETANGLE:360
<INTEGER>DURATIONOVERRIDEMS:1440
<FLOAT>TURNRATEOVERRIDE:-1
<BOOL>INTERRUPTABLE:1
<BOOL>CAN_BE_SILENCED:0
<BOOL>STOPSWHENOUTOFRANGE:1
<STRING>TARGET:TARGET
<INTEGER64>UNIQUE_GUID:2670047190211345000
[TARGET_SPECIFIC_UNITS]
<STRING>UNIT:HUM_ARBITER_F
<STRING>UNIT:HUM_ARBITER_M
<STRING>UNIT:HUM_BERSERKER_BASE
<STRING>UNIT:HUM_BERSERKER_F
<STRING>UNIT:HUM_BERSERKER_M
<STRING>UNIT:HUM_ENGINEER_BASE
<STRING>UNIT:HUM_ENGINEER_F
<STRING>UNIT:HUM_ENGINEER_M
<STRING>UNIT:HUM_WANDERER_BASE
<STRING>UNIT:HUM_WANDERER_F
<STRING>UNIT:HUM_WANDERER_M
[/TARGET_SPECIFIC_UNITS]
[EVENT_START]
<STRING>FILE:media/skills/monsters/boss_bloatfang/consume_start.layout
<BOOL>PLACEONTARGET:1
<BOOL>DAMAGESHAPES_HIT_ONCE:1
<BOOL>APPLYEFFECTS:1
[/EVENT_START]
[EVENT_TRIGGER]
<BOOL>NODAMAGEREFLECTION:1
<BOOL>PLACEONTARGET:1
<BOOL>DAMAGESHAPES_HIT_ONCE:1
<BOOL>APPLYEFFECTS:1
<BOOL>APPLYEFFECTSALWAYS:1
[EFFECTS]
<STRING>TARGET:ENEMY
[EFFECT]
<STRING>NAME:Slow
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:1.4
<STRING>TYPE:PERCENT SPEED
<BOOL>EXCLUSIVE:TRUE
<FLOAT>MIN:-100
<FLOAT>MAX:-100
[/EFFECT]
[EFFECT]
<STRING>NAME:Damage
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:1.45
<STRING>TYPE:DAMAGE
<STRING>DAMAGE_TYPE:POISON
<BOOL>EXCLUSIVE:TRUE
<FLOAT>SOAKSCALE:0
<FLOAT>MIN:100
<FLOAT>MAX:600
<FLOAT>MINFORCE:0
<FLOAT>MAXFORCE:0
[/EFFECT]
[/EFFECTS]
[/EVENT_TRIGGER]
[EVENT_TRIGGER_TWO]
<STRING>FILE:media/skills/monsters/boss_bloatfang/consume.layout
<BOOL>NODAMAGEREFLECTION:1
<BOOL>PLACEONTARGET:1
<BOOL>DAMAGESHAPES_HIT_ONCE:1
<BOOL>APPLYEFFECTS:1
[EFFECTS]
<STRING>TARGET:SELF
[EFFECT]
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:ALWAYS
<STRING>TYPE:PERCENT HP
<BOOL>SAVE:true
<FLOAT>MIN:2
<FLOAT>MAX:2
[/EFFECT]
[EFFECT]
<STRING>NAME:Heal_Effect
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:.5
<STRING>TYPE:HP RECHARGE
<STRING>PARTICLE_FX:media/particles/events/BigHealthBonus.Layout
<BOOL>SAVE:true
<FLOAT>MIN:100
<FLOAT>MAX:600
<FLOAT>MINFORCE:0
<FLOAT>MAXFORCE:0
[/EFFECT]
[EFFECT]
<STRING>NAME:SCALE_EFFECT2
<STRING>ACTIVATION:PASSIVE
<STRING>DURATION:ALWAYS
<STRING>TYPE:SCALE
<BOOL>SAVE:true
<BOOL>EXCLUSIVE:true
<FLOAT>STARTSCALE:1
<FLOAT>ENDSCALE:1.001
<FLOAT>TIMETOSCALE:0.1
<FLOAT>TIMETOSCALEBACK:0.1
[/EFFECT]
[EFFECT]
<STRING>NAME:SCALE_EFFECT1
<STRING>ACTIVATION:PASSIVE
<STRING>DURATION:ALWAYS
<STRING>TYPE:SCALE
<BOOL>SAVE:true
<FLOAT>STARTSCALE:0
<FLOAT>ENDSCALE:0.001
<FLOAT>TIMETOSCALE:0.1
<FLOAT>TIMETOSCALEBACK:0.1
[/EFFECT]
[EFFECT]
<STRING>ACTIVATION:DYNAMIC
<STRING>DURATION:ALWAYS
<STRING>TYPE:DAMAGE BONUS
<BOOL>SAVE:true
<FLOAT>MIN:10
<FLOAT>MAX:10
[/EFFECT]
[/EFFECTS]
[/EVENT_TRIGGER_TWO]
[/SKILL]
Sign here if you never read signatures x________________

Re: Looping Skill w/ non-1 Animation Speed
« Reply #7 on: »
Okay, I also want to see the bloatfang animation file, the one in your MODELS directory.  I wanna see what sorts of modifications it has on it.

For now, though, I see you've got

Code: [Select]
    <BOOL>IGNORES_CAST_SPEED:1
which should make it ignore the line

Code: [Select]
    <FLOAT>SPEED:2
You probably don't need the IGNORES_CAST_SPEED property on this skill, since I doubt Bloatfang gets any cast speed modifiers to speak of.  Try changing that, then post back here with your animation file if the change doesn't work.

Then we'll talk about your skill setup.  But please read this guide first, it has some fairly important information.

Re: Looping Skill w/ non-1 Animation Speed
« Reply #8 on: »
Nope, it didn't change it :( .

The animation should be the stock animation, but I'll put it here just in case (and the XML of it, too).
Sign here if you never read signatures x________________

Re: Looping Skill w/ non-1 Animation Speed
« Reply #9 on: »
heyo silver.
i think i may have found your problem.
Code: [Select]
    <STRING>ANIMATIONLOOP:Special_Eat
    <BOOL>CONTINUOUSLOOPING:1

the whole looping part should be dropped, i know its the core concept of the whole skill,
but special_eat, is not intended to be a  looping animation, and that probably where your problem comes from.

if you observe looping animations they usually come as a pair, the starting part and the looping part, for an example heres is rapid fires 2 animations
Code: [Select]
<STRING>ANIMATION:special_rapidshot_rpistol_start
<STRING>ANIMATIONLOOP:special_rapidshot_rpistol_loop
special_eat is a standalone animation lasting for 3 seconds.

from the looks of it, you've used the original skill that bloatfang uses as your base code (bloat fang_heal), which is good, but if you look back, you'll see that it was never a looping skill, just one that has a long animation
you could possibly use retimer to extend that animation to last for longer, or break it up into a starting animation and a looping animation, which could be too much work.

Re: Looping Skill w/ non-1 Animation Speed
« Reply #10 on: »
you could possibly use retimer to extend that animation to last for longer, or break it up into a starting animation and a looping animation, which could be too much work.
I could probably use Retimer to make the loop animation from the normal, and see how it works. If it still doesn't quite look right, I could make a specific start animation (specifically using Retimer).

Of course, Retimer would need to work in my locale for it to be worthwhile to use (those pesky floating point separators, anyway); otherwise, I'd simply have to do it manually. It'll probably take about as much time for the developers to find the locale issue and fix it as it would take for me to change all those animation values separately.
Sign here if you never read signatures x________________

Re: Looping Skill w/ non-1 Animation Speed
« Reply #11 on: »
Quote
When I test the skill (both in-game and in-editor), the skill animation proceeds at speed 2 for the first iteration of the skill, but each subsequent iteration operates at speed 1 (which affects the timing of various effects within the skills that otherwise work properly).

hmm, so i looked back on your post and mine and forgot to give you a piece of crucial information.
your setup of using special eat as the starting and looping animation works, only if you set your cast speed to 1

the thing is the looping part of an animation cannot be changed by cast speed but the starting part can,
so whats happening here is that your starting animation is played at 2 cast speed, then the looping part comes in and is played at 1 cast speed

you could do as phan suggested and make a new animation thats 2x faster, then use your current setup and play it at 1 cast speed

 

Recent Topics+-