0
$\begingroup$

enter image description here

I've recently set up my NLA tracks for an entity someone has, and I'd like to be able to "trigger" the animations at any specific point. Is there a way to do this?

I know I could just shift or copy the NLA track, potentially. But I'm wondering if there's a way to just 'trigger' it in Blender? Or does it manually need to be set up?

In the image, you can see I've established my tracks:

  • Opening: Goes from Closed to Open and back again (which is just a copy/paste of the frames from both Open and Closed)
  • Open: Base reference that I'll have active whenever I want the thing open.
  • Closed: ^ but for whenever I want the thing shut.

However, "Opening" could be triggered multiple times to the same entity. It basically opens and shuts the object and I'd like it to be repeatable without copying NLA tracks over and over again. But if it's unavoidable, I can certainly do that too.

$\endgroup$
0
$\begingroup$

Keyframed animations only happen at a specific time that we have set, using the NLA it is possible to duplicate an action so that the same animation can be repeated at different times. While we can copy and paste the same thing into different places, it is a manual process.

To automate animations we can use constraints and drivers. Constraints use a simple interface to configure a range of preset conditions, drivers expand on this to allow values to be calculated using python expressions or scripts.

If you have multiple objects that you want to move in unison, constraints can allow one object to be the master control with the others moving in relation to the master. This means you only keyframe the one object at the time you want them all to move.

It is possible to input a distance between two objects into a driver, this would allow an object to move if another is within five units of it and have it move back when it is farther than five units away. While we can get great control over an item, it requires the use of python, even if only a short expression to define the calculation to use.

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.