• Happy Holidays Guest!

    We want to announce that we will be working at reduced staffing for the holidays. Specifically Monday the 23rd until Jan 2nd.

    This will affect approval queue times and responses to support tickets. Please adjust your plans accordingly and enjoy yourselves this holiday season!

  • Hi Guest!

    Please be aware that we have released a critical security patch for VaM. We strongly recommend updating to version 1.22.0.7 using the VaM_Updater found in your installation folder.

    Details about the security patch can be found here.
Timeline
Small QOL idea. Could we have ''synch in all atoms'' here?
Would be easier to edit lengths for all atoms.

1706543896826.png
 
Can someone direct me to info about how many timeline animations I can have in a scene? I've noticed that if I add too many, then the scene will save but not load back up. But I can't figure out what the limit is... like it doesn't seem to be affected directly by time length. What can I do to maximize the amount of timeline information I can have in one scene? Does it help to have all the animations in the same plugin (separated as segments)? These types of questions. thanks
I ran into this before. It's not related to animation length but the size of the json file that's scene is saved as. It's a VAM limitation, I think around 500MB is the max file size. This used to be quite limiting with dense animations like mocaps which could only fit 10-15min.
With the new Timeline updates, there's a compress option (More > Options > Serialization Mode = Optimized) which should lower the file size (and hence increase the max animation length) by 5-6x
 
@Acid Bubbles Possible bug report on the SmoothMoves feature implementation

The original SmoothMoves plugin finishes smoothing almost instantly even for long animations.
The Timeline implementation also smoothes instantly for upto 4 Target controls. But any more than 4 is very slow processing (almost a minute of processing per Target in a 4min mocap animation) for all targets beyond the 4th one. The first 4 targets always process instantly.
Wondering if it's possible to fix it or make a workaround patch to process only 4 targets at a time.
 
I have a question: Why is there always a pause when multiple animations are played back-to-back (each animation lasting 1 second, with a blend duration of 1 second)? It's not like within the same animation, where there is no pause between keyframes set every 1 second. Why is there always a pause when playing multiple animations, even when I repeatedly experiment with different blend durations and cannot avoid it?
??


wiki: While the animation is playing, switching to another will trigger blending. The blend duration is configured in the sequence screen will define for how long will the blending last when transitioning into the animation. Blending behaves like a "crossfade".
 
I have a question: Why is there always a pause when multiple animations are played back-to-back (each animation lasting 1 second, with a blend duration of 1 second)? It's not like within the same animation, where there is no pause between keyframes set every 1 second. Why is there always a pause when playing multiple animations, even when I repeatedly experiment with different blend durations and cannot avoid it?
??


wiki: While the animation is playing, switching to another will trigger blending. The blend duration is configured in the sequence screen will define for how long will the blending last when transitioning into the animation. Blending behaves like a "crossfade".
Because your blending time is as long as the entire animation, it should technically skip over the entire first play of your animation if you are indeed sequencing to it.

If you want no pause, you need to set the blend duration to zero, and create a non looping animation in between the two that can act as a crossfade on it's own. (With a blending of zero on it's sequnce)
 
Last edited:
Got a little issue I cant figure out.

I've got 2 animations in segment1.

Anim1, no loop, 14 seconds long.
Anim 2, loop, 4 seconds long.

Anim 1 plays then is sequenced to play anim 2. In anim2 I have a trigger to enable The float randomized plugin which randomizes the speed of timeline but the issue is it keeps activating around 2-3 seconds before anim1 has finished.

I figure Its to do with blend time so I put the trigger in anim2 at 3 second mark but it still activates during animation 1.

To be sure I removed the trigger and sure enough it did not activate.

Im perplexed How can I sort that ?
 
Got a little issue I cant figure out.

I've got 2 animations in segment1.

Anim1, no loop, 14 seconds long.
Anim 2, loop, 4 seconds long.

Anim 1 plays then is sequenced to play anim 2. In anim2 I have a trigger to enable The float randomized plugin which randomizes the speed of timeline but the issue is it keeps activating around 2-3 seconds before anim1 has finished.

I figure Its to do with blend time so I put the trigger in anim2 at 3 second mark but it still activates during animation 1.

To be sure I removed the trigger and sure enough it did not activate.

Im perplexed How can I sort that ?
It would be helpfull perhaps if you shared the specific timeline segment with us here (Export the timeline within the options menu)
So that others can inspect the exact trigger position / sequence-Blend-in duration speeds you set up.

What you describe makes zero sense, it must be a very simple problem/solution you are overlooking.

*Alternative you should experiment with placing a button in a scene.
Anim 1 has a trigger that disables the button, anim 2 has a trigger that enables the button.

Make the animations sequence into each other, and observe the button behaviour VS the timeline scrubber position.


EDIT*

After trying to replicate your issue I come to the conclusion you have not adjusted / accounted for the Sequence Blend-in Duration on Anim 2

1707746599469.png
 
Last edited:
It would be helpfull perhaps if you shared the specific timeline segment with us here (Export the timeline within the options menu)
So that others can inspect the exact trigger position / sequence-Blend-in duration speeds you set up.

What you describe makes zero sense, it must be a very simple problem/solution you are overlooking.

*Alternative you should experiment with placing a button in a scene.
Anim 1 has a trigger that disables the button, anim 2 has a trigger that enables the button.

Make the animations sequence into each other, and observe the button behaviour VS the timeline scrubber position.


EDIT*

After trying to replicate your issue I come to the conclusion you have not adjusted / accounted for the Sequence Blend-in Duration on Anim 2

View attachment 334261

thanks for the reply. i've went and made a new blank scene to try and reproduce to rule out everything else and have managed to reproduce no matter where the trigger is in anim 2 it will always trigger at 6.x seconds in anim 1. both animations with blend-in to 1.

setting anim 2 to blend-in 0 fixes it but its still weird its doing that ?

ive attached the exported segment.
- add timeline and the float randomizer plugin to the person (float plugin: https://hub.virtamate.com/resources/floatparamrandomizeree.20883/)
- Disable and then set float rand plugins atom to person, reciever to timeline plugin and target to speed. set upper and lower limit to 0
- import animation.

setting upper/lower to zero makes timeline freeze so we can see where it happens.

probably need to redo the trigger in anim2 to point to the float rand plugin and trigger to enable it
 

Attachments

  • timlinefloatrandproblem.json
    244 KB · Views: 0
thanks for the reply. i've went and made a new blank scene to try and reproduce to rule out everything else and have managed to reproduce no matter where the trigger is in anim 2 it will always trigger at 6.x seconds in anim 1. both animations with blend-in to 1.

setting anim 2 to blend-in 0 fixes it but its still weird its doing that ?

ive attached the exported segment.
- add timeline and the float randomizer plugin to the person (float plugin: https://hub.virtamate.com/resources/floatparamrandomizeree.20883/)
- Disable and then set float rand plugins atom to person, reciever to timeline plugin and target to speed. set upper and lower limit to 0
- import animation.

setting upper/lower to zero makes timeline freeze so we can see where it happens.

probably need to redo the trigger in anim2 to point to the float rand plugin and trigger to enable it
The segment you shared~ =

Animation 1 is 7 seconds long, does not loop, and auto sequences into Animation 2.
Does not contain any triggers or keyframes in the entire animation.

Animation 2 is 10 seconds long, loops, has no sequence set up.
At exactly 9.2 seconds there is a trigger.
The trigger turns the float parameter ON, and then instantly turns it OFF again.

1707862574548.png

1707862583049.png


I understood from your previous message what you are trying to set up (A trigger that activates a speed randomizer), but i'm unsure what I am looking at here...

Start of by removing everything you put in the "end actions" tab, it is not used, infact, it breaks the trigger you try to achieve in the first place, namely, turning your float randomizer ON.

Secondary, I always prefer to put animations with such triggers like these, in their own section / make them non looping.

In this case it doesn't really matter, as every loop you "re-activate" something that's already activated, but in allot of other instances, you don't want to trigger something multiple times.


EDIT*

And to answer the sequence issue, if I run your shared timeline segment, the trigger ALWAYS activates at exactly 9.2 seconds, in animation 2, not a split second sooner or later, so it's definatly not the timeline that's causing your trigger timing issues...

Edit2*

A blend in sequence is achieved by doing the following:

Say an animation is 10 seconds long, and it has a blend in duration set-up for 2 seconds.
What will happen if this animations gets sequenced into?
It will start playing at the ~8 seconds mark, why? Because you set up a blend in of 2 seconds.

What does this mean for a trigger? If you then had a trigger at, say, 9.2 seconds...
1.2 seconds after the sequence started, the trigger will activate.

Putting a blend-in at zero would start the blend-in sequence at 10=~0 seconds, thus not trigger the trigger at 9.2 seconds early.

^ Perhaps this answers it all?

~ It is exactly why, triggers like these are best put in non looping side animations that are not part of a main segment, to avoid timing and sequence related issues.
 
Last edited:
I did wonder about adding the trigger for the float plugin to the loop and constantly being triggered it feels wrong but it does work for turning the plugin on doing what i need it to during the loop (the end action worked to turn it off if that anim is not playing). maybe not ideal but all i could figure out.

when you say "What does this mean for a trigger? If you then had a trigger at, say, 9.2 seconds...
1.2 seconds after the sequence started, the trigger will activate."

this is where my brain says huh. id assume it would trigger at 9.2, not 1.2 after the sequence started. seems backwards to me but im probably missing the point of it. im guessing this is only true of looped animations and how they work as it does as id expect if anim 2 was not looped.

a non looped "Anim 2 setup" animation before anim 2 seems the way to go. it was my 2nd option. thanks for taking the time to have a look.
 
I did wonder about adding the trigger for the float plugin to the loop and constantly being triggered it feels wrong but it does work for turning the plugin on doing what i need it to during the loop (the end action worked to turn it off if that anim is not playing). maybe not ideal but all i could figure out.

when you say "What does this mean for a trigger? If you then had a trigger at, say, 9.2 seconds...
1.2 seconds after the sequence started, the trigger will activate."

this is where my brain says huh. id assume it would trigger at 9.2, not 1.2 after the sequence started. seems backwards to me but im probably missing the point of it. im guessing this is only true of looped animations and how they work as it does as id expect if anim 2 was not looped.

a non looped "Anim 2 setup" animation before anim 2 seems the way to go. it was my 2nd option. thanks for taking the time to have a look.

I'll give the example again yet somewhat different ;

Say we have 2 animations, both are 10 seconds long.

Animation 1 does not loop, has no keyframes/triggers, and auto sequences into Animation 2.

Animation 2 does loop, has 1 trigger keyframe at exactly 9.5 seconds, AND has a blend-in duration set for 2 seconds.

Now what happens when we play animation 1, it will start playing animation 1, except due to the sequence we set up, and due the the 2 second blend-in duration it detects on the next animation in it's sequence, the next animation will start "blending in" once Animation 1 reaches the scrubber point of exactly 8 seconds (10 seconds minus the 2 seconds blend-in).

What this translates to, is that timeline then, will try to play the stuff that's happening on Animation 1 scrubber position 8-10 seconds, together with the last section of animation 2 (the final 2 seconds, due to the blend-in duration set up), at which point, it will detect the trigger that's been put in Animation 2 at 9.5 seconds...

This means that during the playtime of Animation 1, at 8 seconds, when the blend-in starts with animation 2, exactly 1.5 seconds later it will play the trigger, WHILE animation 1 is still blending into Animation 2 (9.5 seconds, minus 8 seconds).

I think one point of confusion/take into account is...
Why does the blend-in of animation 2 start at the END of it's animation ?
Because Animation 2 was set up as a looping animation, it techincally sees the entire animation as one long un-ending cycle.

Put triggers on non loops, or outside of the "spectrum" of a blend-in cycle.

Alternative*

Set up a Delay plugin with: https://hub.virtamate.com/resources/logicbricks.1975/

In the example above, you'd trigger the delay at second 0 of Animation 1, and set the delay plugin itself to 19.5 seconds.

It ensures the triggers gets executed only once, and you will avoid blending issues all together, but perhaps a bit more work if you require multiple different triggers.
 
Last edited:
I'll give the example again yet somewhat different ;

Say we have 2 animations, both are 10 seconds long.

Animation 1 does not loop, has no keyframes/triggers, and auto sequences into Animation 2.

Animation 2 does loop, has 1 trigger keyframe at exactly 9.5 seconds, AND has a blend-in duration set for 2 seconds.

Now what happens when we play animation 1, it will start playing animation 1, except due to the sequence we set up, and due the the 2 second blend-in duration it detects on the next animation in it's sequence, the next animation will start "blending in" once Animation 1 reaches the scrubber point of exactly 8 seconds (10 seconds minus the 2 seconds blend-in).

What this translates to, is that timeline then, will try to play the stuff that's happening on Animation 1 scrubber position 8-10 seconds, together with the last section of animation 2 (the final 2 seconds, due to the blend-in duration set up), at which point, it will detect the trigger that's been put in Animation 2 at 9.5 seconds...

This means that during the playtime of Animation 1, at 8 seconds, when the blend-in starts with animation 2, exactly 1.5 seconds later it will play the trigger, WHILE animation 1 is still blending into Animation 2 (9.5 seconds, minus 8 seconds).

I think one point of confusion/take into account is...
Why does the blend-in of animation 2 start at the END of it's animation ?
Because Animation 2 was set up as a looping animation, it techincally sees the entire animation as one long un-ending cycle.

Put triggers on non loops, or outside of the "spectrum" of a blend-in cycle.

Alternative*

Set up a Delay plugin with: https://hub.virtamate.com/resources/logicbricks.1975/

In the example above, you'd trigger the delay at second 0 of Animation 1, and set the delay plugin itself to 19.5 seconds.

It ensures the triggers gets executed only once, and you will avoid blending issues all together, but perhaps a bit more work if you require multiple different triggers.

"or outside of the "spectrum" of a blend-in cycle"

see i tried this too sorry its 4:20am im tired.

blend-in 1 second.
Anim 1, 7 seconds no loop.
Anim 2, 30 seconds looped, trigger at 15 seconds.

Still triggers at 6 second mark of Anim 1. fixed now with a non looped 1 second "transition/setup" animation. simple and doesn't need another plugin but i like the logic brick idea. thanks again.
 
Still triggers at 6 second mark of Anim 1

Because you still use the "end trigger" tab I am positive.
I assume, because of this, the trigger will engage regardless of it's position on the animation itself.
The reason you see it trigger at 6 seconds is because that is when the blend-in starts into the animation with the trigger.
 
sorry for delay. im afraid its not the end action. i removed them a while back to test. ive worked around it using a "setup" animation though.

to test though (because its bugging me) ive set it up like so:

Anim 1 non-looped. 7 seconds sequenced to go to anim 2. blend-time 1 second
Anim 2 looped 30 seconds. blend-time 1 second.

in Anim 2 at 15 seconds I have a trigger to change an InvisibleLights color to blue then at 17 seconds it will change it to red.

it still triggers in Anim 1 at 6 seconds but heres the thing, red (2nd trigger) is the one that activates.

again though this only happens if blend-in time is more than 0 even when the next animations triggers are well out of the blend-in time zones.

no big deal now ive figured it out but now im thinking I need to go back to a lot of abandoned scenes that never quite worked right to see if its something to do with this.

p.s. just noticed... adding an empty trigger with no actions "AFTER" the first trigger actually fixes it too. so timeline is triggering the last trigger first regardless of where it is in the scrubber when its a non-looped going to a looped animation with a blend-in.

p.p.s it actually happens with a looped going in to a looped animation too. trigger is triggering way too soon, unless that's intentional then my apologies.

Timeline.283 btw
 
sorry for delay. im afraid its not the end action. i removed them a while back to test. ive worked around it using a "setup" animation though.

to test though (because its bugging me) ive set it up like so:

Anim 1 non-looped. 7 seconds sequenced to go to anim 2. blend-time 1 second
Anim 2 looped 30 seconds. blend-time 1 second.

in Anim 2 at 15 seconds I have a trigger to change an InvisibleLights color to blue then at 17 seconds it will change it to red.

it still triggers in Anim 1 at 6 seconds but heres the thing, red (2nd trigger) is the one that activates.

again though this only happens if blend-in time is more than 0 even when the next animations triggers are well out of the blend-in time zones.

no big deal now ive figured it out but now im thinking I need to go back to a lot of abandoned scenes that never quite worked right to see if its something to do with this.

p.s. just noticed... adding an empty trigger with no actions "AFTER" the first trigger actually fixes it too. so timeline is triggering the last trigger first regardless of where it is in the scrubber when its a non-looped going to a looped animation with a blend-in.

p.p.s it actually happens with a looped going in to a looped animation too. trigger is triggering way too soon, unless that's intentional then my apologies.

Timeline.283 btw
I cannot reproduce what you are talking about, my triggers always work as expected, they never trigger when I don't want them to trigger...

If I were to re-create your example, for me, once the scrubber in animation 1 reaches 6 seconds, it will indeed start the blend-in, but it will NOT activate any trigger, because in animation 2, the trigger is simply not within it's reach.....

So again, I have no clue why a trigger is triggering for you, while it's not within the scope of the animation/scrubber position.

To me it sounds like your timeline is behaving in a way it should not, or rather, it's behaving in a way I have never experienced myself (Used timeline for ~6 months now).

Perhaps someone else here has a clue what you are on about, or if your VaM is perhaps bugged.
 
very odd. I started another new blank scene to test, same issue.

only plugins i have active are timeline on the person and acidbubbles keybinding in session plugins.

here is my entire test scene if its any use to anyone or can see the same problem (red light coming on at 6 second mark) it would be useful to know if its only me seeing this.
 

Attachments

  • timeline-trigger-problem.json
    397.3 KB · Views: 0
very odd. I started another new blank scene to test, same issue.

only plugins i have active are timeline on the person and acidbubbles keybinding in session plugins.

here is my entire test scene if its any use to anyone or can see the same problem (red light coming on at 6 second mark) it would be useful to know if its only me seeing this.
You are very correct in that this issue is not a you issue.

I opened up your scene, and I was presented with the same problem,
Some findings:

- Adding an empty trigger in animation 2 at the ~ 25 seconds mark, makes it so that it will try to "trigger" this empty trigger, which is a workaround solution.

- Setting the Time Offset to +3 seconds in the Animation 2 Sequence screen, also makes it so that the animation will "start" at the start of animation 2, and not at the end, if you do this, it will not trigger the red light trigger. <- the best workaround in my opinion.

- Another thing I noticed, in animation 1 Sequence, set the "play next" to Randomize, and set the Random Group weight of animation 1 to zero.
This, changes the timing behaviour of when the trigger occurs it appears.... It will not engage the trigger at exactly 6 seconds anymore...



It appears, sequencing is the culprit... But I am uncertain as to why....

I took the liberty of trying to re-create what you have shown me here in an empty scene of my own, and triggers behave like I expect them to when sequencing.......


Now I am just as confused as you...
 
Last edited:
I moved all my plugins temporarily and downloaded timeline again and made another new scene but same thing happens again.
im on vam 1.22.03

heres my workflow to reproduce.

clicked on "return to scene view" from the main menu after opening vam (empty scene)
add slate
add person
add light
add timeline 283 to person
add headcontrol to timeline
add trigger track
edit anim 1 to 7s (stretch, but doesnt matter)
select middle of scrubber, move head to add frame
create animation 2, edit time to 30s
add trigger at 15s (invisiblelight color = blue)
copy trigger select 18s on scrubber paste and change color to red
select Anim 1, Sequence, Play next:Anim 2
click play all
 
Is there any way to play next animation in an instant instead of blend? Like say when 2nd animation comes then the starting pose of animation 2 comes instant without body movement blend in. Setting blend to 0 will only lessen the duration to switch to next animation pose but it will still have physics and body parts movement. I want to switch to 2nd animation without messing up the physics and switch in instant just like when we switch normal pose and its instant.
 
Is there any way to play next animation in an instant instead of blend? Like say when 2nd animation comes then the starting pose of animation 2 comes instant without body movement blend in. Setting blend to 0 will only lessen the duration to switch to next animation pose but it will still have physics and body parts movement. I want to switch to 2nd animation without messing up the physics and switch in instant just like when we switch normal pose and its instant.
Click the little checkbox on "apply pose on transition" in the pose tab accompanied by a sequence blend-in of zero

1708739768692.png
 
Click the little checkbox on "apply pose on transition" in the pose tab accompanied by a sequence blend-in of zero

View attachment 338542
Oh! so its actually related to sequence settings too, i thought it was only for loading poses and stuff. can i save a controller preset too with this? which i could just load when ever i start with new atoms and after applying the preset the person pose don't change but only controllers come. Really appreciate the help!
 
It seems that animating CUA atoms in the latest version of timeline is broken. It doesn't animate them at all, at least not for the few atoms I've tried. I seem to remember this working at one point.

Strangely, I can see in timeline that the numbers for the x,y and z axis are changing, but the CUA stays in the same spot...

I tried starting up an empty scene with just a text box with timeline on it and I noticed that initially it worked! But then when I tried adding some more keys on stuff like alpha then it broke. I don't know if that was what broke it, it could have been something else but it worked for a few minutes and then it broke.
 
Last edited:
I kept getting this error when I was making an animation, no big deal right I just saved and just reload the scene but when I did reload the scene all the animations/keyfrems/segments/layers were gone on the other person, just like that hours of work just gone.. i didnt know something like that could happen, i didnt even know what caused it
 

Attachments

  • image_2024-03-03_204345997.png
    image_2024-03-03_204345997.png
    38 KB · Views: 0
  1. why i can"t see the contorlers path in target tabs after version 275 even though i select the ui option?

给 #help-timeline 发消息
 
When trying to import animations I have saved from other scenes I try to add them at the end of the current segment, however, no matter which of the options I have selected the plugin is requiring me to make a new segment with the import, is this feature broken? There also doesnt seem to be a way to move animations between segments in the manage screen so there isnt a workaround that i can see. Any tips?
 
Back
Top Bottom