Another N00b-question:
Is it possible to define a minimum lenght for an animation with slight randomisation ?
My goal would look like this:
(Sorry for the improvised matrix)
Animation | Anim. 1 | Anim. 2 | Anim. 3 | Anim. 4 | Anim. 5 | Anim. 6 |
Purpose | Intro pose | Transition | Loop 1 | Transition | Loop 2 | Finish |
Type | Sequence | Sequence | Looping | Sequence | Looping | Sequence |
Min-Time | N/A | N/A | 240 s | N/A | 360 s | N/A |
One amazing thing with AnimationPoser is that even I, the creator, get constantly surprised with what it can do. It can be used to do unintended stuff.
I was thinking these days and I realized that there is no need for me to code a timer. AnimationPoser already can have unlimited timers.
For example. If I understood correctly, you want the character to not leave the animation if it didn’t spend a minimum amount of time (say 240s) in it. This is a very common thing to ask yourself about, because often characters go into an animation and leave it right away, because of the randomness, which might feel… disappointing sometimes.
Well, so how do you do this? Simple. Create “exit” states for the animation, in such a way that there is no path to get out without going through these states. These states don’t need to do anything special with the controllers. Like we talked before, they can be connected with other states through very short transitions.
Now, you have these states that function as doors from the animation. If they are closed, the character can’t leave.
Now comes the fun part. You can add a layer with no controllers, and two states. One of then is “doors open” and the other is “doors closed”.
”Doors closed“ puts avoids at each door state, and “doors open” lifts the avoids.
You use sync layers to change the state to ”doors closed” whenever you enter the animation. ”Doors closed” has a state duration time of 240s, then it transitions to “doors open” and lifts the avoids.
Isn’t that crazy?
I only recently started realizing the potential of controlerless layers. They can hold state, act as timers and counters! So the character can act even more intelligently. Those controller-less layers essentially form a brain for the character.
It is interesting that markov chains are often ”advertised” as “memoryless”, but this doesn’t mean anything in practice since states are already memory. It is just a formal distinction.