4
$\begingroup$

I am about to create a ~3 minutes long forest scene with some rabbit roaming around.

I created a rabbit with two animations: Sit, Walk.

I then created a curve and key framed the evaluation time so that the rabbit is following the path and sometimes stops.

I added a Cycle F-modifier to loop the movement.

The thing is. I have two actions in the NLA editor. Sitting and Walking. When the rabbit moves, I add a "Move Action" and blend it in, like this: enter image description here

The first NlaTrack does nothing, I use it to determine the length of the NurbsPathAction to easy copy and paste. Each red block is a full loop of the path.

This works fine. But I have to copy everything for each curve loop. This is rather inconvenient.

Here are my questions:

  1. Is there a way to group all my actions and repeat them X times?
  2. If not, is there another way to make an endless loop out of my combined Actions?

Edit: Here's a Video: https://youtu.be/BBQitinKwnM I scroll through every loop. As you can see, each loop consists of a block of several animations in the NLA editor. I guess there is no way to group them and automatically repeat them X times instead of copying?!

$\endgroup$
  • $\begingroup$ Im not really that well versed in the NLA, so I don't know if I fully understand the question, have you tried baking or is that out of the question? $\endgroup$ – Firewill Jul 18 '17 at 5:27
  • $\begingroup$ Hey, thanks for the comment. The NLA editor allows me to put different animations on my timeline and blend between them. Since I am animating a rabbit running in a circle (along a path) I only need e.g. 1 Minute to animate. Then repeat everything. Baking won't help. Single animations can be resized in the editor. But not a custom block of animations. So I have to manually animate the whole 4-5 Minutes of my animation (copying the one animation loop over and over). I added a Video example in the question. $\endgroup$ – DoubleVoid Jul 18 '17 at 11:52
  • $\begingroup$ mhhh, why can't you bake it? looking at the video I'd say baking would solve your problem, then you can just adjust the amount of loops with the loop property on the combined track. I'm willing to run a few tests if you post your blend, you can strip it clean of most assets if you aren't comfortable sharing them. $\endgroup$ – Firewill Jul 18 '17 at 14:59
  • $\begingroup$ I added the blend file to the question :) $\endgroup$ – DoubleVoid Jul 18 '17 at 15:46
  • $\begingroup$ The file is mostly empty since the bunny is setup via a proxy. $\endgroup$ – Firewill Jul 18 '17 at 15:53
0
+100
$\begingroup$

OK, so my approach would be to first set up your scene as you want it,

Place your strips and properly name them and their tracks

Then select your armature and press Space and search for Bake Action, trim the timeline to roughly fit your current take before doing so.

Select the armature you are baking to

This might take a while depending on legth, don't worry that's normal.

After it's done you'll have something like this:

The output, that's a lot of keys!

Once you are there, delete the last key that's generated at the end of the timeline, unless you trimmed to perfectly fit.

then convert this to an action: A neat package, just one action

I'm driving the motion with a childOf on the bunny that follows an empty with a followPath constrain.

So you'll have to sync their length and pauses once:

You probably already have something like this set up

Then just input the same number in the repeat box, as many times as you want to do so:

That's a really long animation!

If you wanted you could instead drive the actions by F-Curves, or maybe make all strips Meta-Strips of the same length and then instance those. But I feel this method is the most scalable to a bigger set of layers being mixed.

You can and should keep a copy of the original actions in case you want to tweak the animation later.

Note that this will make longer animations quite heavy, as it bakes every n-th frame, using 1 is a bit extreme in this case, toy around with a 2 to 8 frame step, and you can do cleanup afterwards if you want.

Here's the blend file:

$\endgroup$
  • $\begingroup$ Hey, thank you very much! It seems to work. It's a little bit awkward to set up but I guess it's a good way to handle this for smaller scenes! :D I will try to duplicate this then and check how it will work with more rabbits with different movements. $\endgroup$ – DoubleVoid Jul 18 '17 at 18:42
  • $\begingroup$ Is this for rendering in blender, or an external program? $\endgroup$ – Firewill Jul 18 '17 at 18:55
  • $\begingroup$ I will render it with Cycles, why? $\endgroup$ – DoubleVoid Jul 18 '17 at 19:05
  • 1
    $\begingroup$ there are quite a lot of questions about exporting to game engines going around, in that case I'd recommend solving those problems over there, just wanted to make sure! $\endgroup$ – Firewill Jul 18 '17 at 19:07
  • $\begingroup$ ah okay, thank you. Maybe I will export some stuff to Unreal engine (FBX). But this is a problem for another question :D $\endgroup$ – DoubleVoid Jul 18 '17 at 19:15

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.