Timeline
For the blue lines, you must be in the Targets screen to see them!

Thanks. I can see blue paths now.
Is there some setting or best way to actually move control points at keyframes without VAM jumping out of the Timeline plugin every time?
TBH I think it would be better if there was x,y,z coordinate position/rotation inputs directly in the Timeline that I could move without having to move the actual point in scene to change a keyframe.
 
Is there some setting or best way to actually move control points at keyframes without VAM jumping out of the Timeline plugin every time?

Hi @geo_gan
Add a 'Simple Sign' to your scene and add the timeline controller plugin to it. The controller plugin comes bundled with the animation plugin as part of the same VAR. This will allow you to always have the timeline UI on screen while you work. Its a great feature that I use all the time.
 
Last edited:
Hey @Acid Bubbles
I need some help in understanding some strange behaviour. I'm not entirely sure if this is expected or not, but its causing me some headaches with the scene I'm currently working on. I've attached a test scene to demonstrate.

The scene contains 2 spheres. Sphere 1 contains animations that fire only triggers with control the playback of animations on sphere 2.

So, first off, sphere 2 contains the following animations:-
  • empty 1.0s - this is an animation with no movement that is 1.0 seconds long.
  • empty 0.5s - like the above but 0.5s long.
  • bounce - a looping bounce animation.
Sphere 1 contains the following:-
  • trigger 1.0s > empty 1.0s - this is a 1.0 second animation. On the first frame has a trigger that plays empty 1.0s on sphere 2. And on the last frame a trigger that plays bounce.
  • trigger 1.0s > empty 0.5s - this is a 1.0 second animation. On the first frame has a trigger that plays empty 0.5s on sphere 2. And on the last frame a trigger that plays bounce.
  • trigger 0.5s > empty 1.0s - this is a 0.5 second animation. On the first frame has a trigger that plays empty 1.0s on sphere 2. And on the last frame a trigger that plays bounce.
  • trigger 0.5s > empty 0.5s - this is a 0.5s second animation. On the first frame has a trigger that plays empty 0.5s on sphere 2. And on the last frame a trigger that plays bounce.
Now, what I would expect is that all of the above animations on sphere 1 would cause sphere 2 to be still for 1.0 or 0.5 seconds, before playing the bounce animation.

But what I'm seeing is this:-
  • trigger 1.0s > empty 1.0s - once this gets to the end (1.0s) and fires the play bounce trigger, the bounce animation starts on sphere 2, but it starts from 1.0s in, instead of 0s.
  • trigger 1.0s > empty 0.5s - this behaves as expected with the bounce anim starting after 1.0s from frame 0 after 1 second.
  • trigger 0.5s > empty 1.0s - this behaves as expected with the bounce anim starting after 0.5s from frame 0 after 0.5 seconds.
  • trigger 0.5s > empty 0.5s - once this gets to the end (0.5s) and fires the play bounce trigger, the bounce animation starts on sphere 2, but it starts from 0.5s in, instead of 0s.
So, it seems when the trigger track length is the same as the empty length, I get this jump/skip at the beginning of the bounce anim. But when the 2 are different lengths is plays smoothly.

I know the above is a bit of a brain twister. I tried to simplify it as much as possible, but its a really difficult issue to quantify. Firstly, when looking at the attached scene, can you understand what I'm trying to point out? And if so, is this normal?

Thanks for your time in advance. I feel like I'm always bringing issues to you! Apologies for being a pain in the arse! :D
 

Attachments

  • timeline_spheres_test.json
    47.6 KB · Views: 0
Last edited:
@Chess This _looks_ like a bug but isn't :) The problem is that you have "Preserve loops" checked on Anim 2. This will ensure that all transitions connect with matching timing. This means the transition's at 2s, so it's running the next one at the same time modulo it's length. But in this case we're transitioning from a non-looping clip, and I can't see a good reason to preserve loops on a non-looping clip :| So, I'll change the behavior (hoping it doesn't break anyone) next update :)
 
@fishcakes no I'm glad you take the time to make those nice, detailed reports, it makes my life _much_ easier (especially since I'm doing this on my free time, I'm quite happy to skip the fiddling time to reproduce vague issues)!

The good thing is that the problem you have is the same as @Chess :D So, next update this should be fixed!
 
Acid Bubbles updated Timeline with a new update entry:

Timeline v4.3.0

- Feature: New Paused storable (will unpause on play and on scrubbing)
- Feature: Deleting the last frame of a non-looping clip will change the curve type to copy previous
- Feature: Add a Speed storable for animation groups (group/*)
- Feature: Include control position/rotation toggles directly in the controller target panel (thanks @unnamed_plugins)
- Feature: Allow recording Comply keyframes when grabbing control (thanks @unnamed_plugins)
- Improvement: Let Comply controls settle for a...

Read the rest of this update entry...
 

@Acid Bubbles Everything is working really well after the last update. The change "Improvement: Do not preserve loops unless both the source and target clips are loops" has actually improved some of my other scenes that I thought were working ok. Its ironed out some of the small glitches that were happening here and there. Great work.

Also, the speed storeable for anim groups is great, as I suspected. Can I be cheeky and ask: can this be done for anim group weight as well?
 
@Chess This _looks_ like a bug but isn't :) The problem is that you have "Preserve loops" checked on Anim 2. This will ensure that all transitions connect with matching timing. This means the transition's at 2s, so it's running the next one at the same time modulo it's length. But in this case we're transitioning from a non-looping clip, and I can't see a good reason to preserve loops on a non-looping clip :| So, I'll change the behavior (hoping it doesn't break anyone) next update :)
Thanks, everything is working smoothly now!
 
Hi @Acid Bubbles
Unfortunately the last update has introduced some funkiness to the trigger action panel. This one seems easy to reproduce:-
  • go to the targets tab of any animation with a trigger track
  • click 'edit triggers'
  • click 'add discrete action' which adds a single action
  • click 'done' to close the panel
  • click 'edit triggers' again
  • click 'add discrete action' again - this time it adds two actions
  • ... and so on. Each time the above is repeated, it adds one more action then the time before.
Also, when lots of actions have been added its not possible to delete some of them, making a bit of a mess.

Hopefully not a tricky one for you! :)

*** EDIT ***

After a bit more playing around, the problem seems a bit more extensive then outlined above. Doing things like deleting actions or checking/unchecking the action checkbox seem to have no effect. I have to go to the timeline and cut/paste trigger keyframes for the changes to update. For example, I might delete an action, but it seems to remain in the panel - but if I cut and then paste the keyframe again, then the action I deleted is gone.
 
Last edited:
Greetings @Acid Bubbles, I have a feature request, not taking many lines of code: Add a button/option to make mocap/export/bake/import to/from VAM Scene animation SENSITIVE to its loop/span-setting, so I could say import ONLY my set active Scene animation part inbuilt in VAM (example from 23s to 56s import/bake). That would make bake/import A LOT more easy to work with. Right now your plugin bake will overwrite the VAM scene animation ALWAYS from 0 seconds (the start).
Making it an OPTION (eg choice) is important so one can still import and bake with the current method too.

I really appreciate your work, it is nothing short of amazing.
 
Is it possible to use a trigger in Timeline to click a UI button? I know timeline uses VAMs internal trigger system, which doesn't seem to allow this. As far as you know, can this be done in any way in a Timeline animation?
I'm using the @MacGruber Relay plugin (from the LogicBricks set) for my UIButton actions so I can invoke the trigger not only from the button itself but also from other sources like the timeline plugin.
 
@Acid Bubbles Thank you so much for this great plugin!

I am still quite new to VaM in general and in all of my playground scenes I'm using your timeline plugin exclusively instead of the built-in one. It feels like it should be included by default!
My main issue currently is that I try to put short animations from different scenes into my custom scenes. And the main problem is combining them to smooth animations. Often I need to make basic transformations like moving or rotating when going from one animation to another. These transformations need to be instant. Ideally I would want an option like "Transform all/selected targets for current animation" giving me options like "Move/Rotate delta x/y/z".
I guess it could be done somehow with the "control" target but this I could not really figure out yet. How I can make an instant shift of coordinates or instant rotation from one animation to another? Is that possible? Or maybe there is an entirely different approach for my problem?

EDIT: Ok, never mind. I just discovered the Bulk section. This plugin is so insanely powerful. Thanks again for the great work @Acid Bubbles!!!
 
Last edited:
I'm using the @MacGruber Relay plugin (from the LogicBricks set) for my UIButton actions so I can invoke the trigger not only from the button itself but also from other sources like the timeline plugin.

Cheers @Virt-a-Dict - I've been meaning to learn the ins-and-outs for logic bricks for a while now. This might be the incentive to do it.
 
I have a question...how do I combine multiple animations with different sub-sets of controllers in a single scene.

Example:
Anim1 is using 7 controllers (head, chest, hip, rHand, lHand, rFoot, lFoot)
Anim2 is using 21 controllers (head, chest, hip, rHand, lHand, rFoot, lFoot, +14 other controllers)
In SceneX I want to import and use Anim1 as well as Anim2.

I think the import is already problematic, but this can be overcome by adding the plugin twice to the same atom. But still the problem remains that Anim2 needs to deactivate the 14 unused controllers, which I believe is also possible via triggers. But it is very inconvenient to disable and enable 14 positionStates and 14 rotationStates via triggers. It requires a total 56 actions for every scene for just that one example. It gets more complicated if you have even more animations with a different set of controllers. Am I missing something here?
 
@Virt-a-Dict hey I'm very slowly catching up on my backlog of things to answer :D I'm probably way too late, but long story short you cannot target different controllers in animations of a same layers, and layers cannot share the same controllers. You'll need separate instances and they won't be able to blend. You'll also need to load a pose for controllers to be in a coherent state.
 
Hey! First of all, I wanted to say that this plugin is just awesome. @Acid Bubbles, you're a star.

I have one question: is there a way to change the speed of all linked animation?
I.e. I have multiple atoms, each using an animation sharing the same name. One atom is set as "Master". I was expecting that when I change the speed of this animation on the master atom, the similarly named animation on others atoms will follow. It doesn't seem to be the case.

Not a big deal, since I just have to trigger the speed change on each atom (one by one). It's not necessarily a request, but if there is no easier way to proceed, it could be an additional use of the "Master" functionality ;)

Btw, did I say your plugin is awesome? It's awesome.
 
@ZRSX thanks for the nice words! I think I made clip-specific speed changes to master propagate to the matching clip on all atoms, but I don't think I did it for the global speed. I'll check again whenever I have some time, but it should work. This, or I wanted to do it, thought I did it, and didn't :)
 
I have problem with sequences. I changed in sequence to play Anim2 after Anim1 but it just still loop anim1. Do I need to click something else in order to make it play ?
 
Back
Top Bottom