AnimationPoser

Plugins AnimationPoser

Does it work for whole animation? It didn’t before. If the problem is happening only for layers, then I didn’t catch it. But no worries: v3.3 will be released soon with a bunch of bug fixes and minor additions (like the min and max transition durations). Believe me, all of this is 100 times easier than it was to create v3.1 and v3.2. In other words, v3.2 is the first version with all major intended features, and v3.3 will be the first “stable” version, with more throughout testing and fixes.
 
Not sure if this was pointed out before, I see some root node issues that were mentioned, but when I load a scene the Animations and Layers are shown but none of the states are listed. I have to load the animpose I saved before to have them back.
The animpose file was started on a earlier version and I'm using this latest 3.2, perhaps some weirdness there?
 
@Saint66 I have just tested it, and I am pretty sure saving and loading works properly in the latest version, both for the entire plugin state and the layers. Are you sure you have the latest version? Do you want to share the scene for me to see what is going on?

Also, notice that the issue was in save, not load. So, if you are trying to load an animation you saved with a previous version, it won't work.

Now, if this is the case, and you really don't want to lose what you worked on, what you can do is rename the person atom to the name of the person atom where the animation was originally saved with version 3.1 or 2.
 
@atani I am also not able to reproduce this issue. Loading of scenes is working fine on my side and the plugin shows all layers and states. Did you guys download version 3.2?
 
Please include a TL;DR in the overview/main page - for people who are already familiar with making animations with the timeline plugin, a full on paper is too much to read when trying to decide whether or not this plugin is worth giving a try
 
@Nameless Vagabond It is a plugin that allows for random animation. Timeline is a one-dimensional sequence of keyframes (a timeline). This plugin, on the other hand, is like the timeline could split multiple times into many different timelines, or "possible futures".

Besides, the plugin allows for reusability of animation pieces, building huge animations from reusable components.
 
I'm preparing a sample scene. It is the first time I actually get around to play with the plugin. It is working amazing, and it is so much fun I am laughing.
 
@haremlife - one issue I'm encountering is havent found a way to have the animation snap or quickly change from one transition to another fast like in real life where a girl's head quickly moves from one position to another in pleasure during sex. I see the ease in ease out, which slowly moves from one state to another, but where do I find the ability to quickly change from one state to another? Hope I'm explaining it well : /

EDIT: Nevermind I think I found it with the "wait duration" option, but if there's an ever better way plz let me know

You may have to also change the physics on the person. There are many parameters that have an effect on velocity or offer resistance to fast movements.
 
@Saint66 I have just tested it, and I am pretty sure saving and loading works properly in the latest version, both for the entire plugin state and the layers. Are you sure you have the latest version? Do you want to share the scene for me to see what is going on?

Also, notice that the issue was in save, not load. So, if you are trying to load an animation you saved with a previous version, it won't work.

Now, if this is the case, and you really don't want to lose what you worked on, what you can do is rename the person atom to the name of the person atom where the animation was originally saved with version 3.1 or 2.
Yeah, save and load is working in general, but the result of loading any saved animation or layer is not as expected, but maybe I dont get the point.
- I do a simple animation with 1 Layer and two states of the right hande (just some rotation, simple as that)
- I save it as animation or layer (makes no difference)
- I open a new scene, person has different pose and position
- I add the plugin to the person, click on load and choose the simple animation

Expected: person keeps it pose and position, right hand rotates
Observed: pose gets broken, hand seems to try to reach the position which was used when saving the animation.

This I can reproduce with a new empty scene and only vanilla person atom w/o any other plugins or stuff 100%
 
Create a folder Saves/PluginData/IdlePoser. Move Examples.idlepose into that folder. Now click the "load" button in the plugin, and there you go.

This is a VERY simple kissing animation, that took like 5 minutes to set up. You can continuously build on top of it.
I copy the 'example' in folder Saves/PluginData/IdlePoser but when I try to load in animation poser it is not in file. Any ideas what I might be doing wrong?
 
None of the prior tutorials seem to work. There is no controllers tab that I can see. Also the example file doesn't show up as someone else noted. I guess in the meantime I will study up idleposer while this is fixed.
 
@atani I am also not able to reproduce this issue. Loading of scenes is working fine on my side and the plugin shows all layers and states. Did you guys download version 3.2?
I see the same bug after reloading a scene, but only intermittent, weird.
Right now I stopped including it in my scenes until the major bugs are gone, it’s too cumbersome to rebuild everything again. But I am confident ;)
 
Is there a video demonstration of building a simple animation? I tried these steps and it just doesn't work, nothing animates.

Add an animation. Then add a layer. Name the layer “head”. Go in controllers tab. Add the head controller. Go into states tab. Add a state. Position the head however you like. Click capture state. Now click add state. Position the head again, and click capture state again. Repeat this until you are satisfied with all the head positions. Then go into transitions tab. Add some transitions between the states. Ok. Now add another layer. Name it “face”. Go to controllers tab. Add some facial morphs you would like to animate. Go to state tab. Go in the person atom morphs tab (outside of the plugin) and adjust the facial morphs to create a facial expression. Now go to the plugin and click capture state. Do that some more times to have a set of facial expressions. Now add transitions between them. Now go into play tab and watch the animation. Adjust the transition times and other parameters to your liking. That’s it.
 
@Saint66 After trying many times to reproduce the issue you mentioned without success, and after giving it a lot of thought, I think this is an error on the side of the user, not an error on the side of the plugin.

The controllers by default are animated relative to the person root control. In your case, I am betting as the most likely explanation that you have a pose where all the person controllers are very far away from the root controller. In other words, the root controller in your pose is NOT between the character's feet, as it is when you load a default person atom. Most likely, the controller is on the ground, and the character is on the bed.

This being the case, of course you will have trouble loading the animation into another person atom, since you are only animating the hand, and the hand is animated relative to the controller atom, and the controller atom is very far away from the hand in the animation, but the other (not animated) controllers are not.

Of course, virt-a-mate being as flexible as it is, some spatial thought might be inevitably required on the creator user's side. In this case, the simplest solution is: add all "on" controllers to a new layer in your animation before saving. Or, like you said it works, load the pose, and then load the animation.

If my guess about what the issue is is not correct, then I'll need the actual scene. Please save it with a free look and send it to me when you have some time so that I can take a look.
 
Last edited:
@VamBlaster I am going to upload a tutorial eventually.

However, one thing no one seems to have complained is to be able to make the controllers move. One issue that happened for me once is that the controllers were not moving, like transitions weren't working. Then I went to the play tab and realized the "PlayPause" checkbox was ticked. If that is the case, uncheck it.

Anyway, explaining again the basic procedure:

1- Start a new clean instance of the plugin in the latest version
2- Add an animation
3- Add a layer
4- Add, say, rHandControl in the Captures tab.
5- Go to States tab and add a state
6- Move the rHand controller
7- Click add state again
8- Go to transitions tab
9- Click add transition
10- Make sure both "in" and "out" boxes are checked.
11- Go to play tab
12- Make sure "PlayPause" box is unchecked
13- The rHand should be going back and forth between those two states
 
I have been thinking about this, and to solve that problem with poses, it would be extremely beneficial to have a way to normalize the root control with the person. This is not as trivial, because simply locking it to say, the pelvis, means that the root control would constantly change in the 3 dimension and rotations.

I don't know what it could break, but clearly, to make a proper usage of localPosition, something like that may be necessary. Honestly, I don't understand why with all mocaps the root stay still. It makes sense for a "top view scene" but not from the person's perspective.

Then instead of saving the root control position, it would only save a delta of the root control. Because in this case moving the root control is not setting to position x, y, z, it is simply applying a delta x, y, z on the current position.
 
@haremlife : your explanation sounds jut right. I think there is no need to send you the scene, I’ll just check the root node positions.

Wouldn’t just adding the control node also fix the issue? Anyway, I‘ll try and let you know

Edit: just did a quick check. In fact the root node was not between the feet, it was like on the hip in the scene where I saved the animpose.
- adding all active nodes: kinda works, but the person is warped to the world position as it was in the original scene and the entire original pose is applied, but hands had a slight offset.
- adding control node only still warps the person and pose gets still broken.

And its no user fault. We often face root nodes not being in original relative position. That's kinda bad news for the sharing layers idea of the plugin. How can ppl know where the world position was when creating the scene? And even if, if you want to have your person on a special position, other peoples saved animposes will not work as intended in 99,9% of the cases.

But for creating own things and keeping everything as it is, your plugin is really really useful, thx for that
 
Last edited:
@haremlife : your explanation sounds jut right. I think there is no need to send you the scene, I’ll just check the root node positions.

Wouldn’t just adding the control node also fix the issue? Anyway, I‘ll try and let you know

Edit: just did a quick check. In fact the root node was not between the feet, it was like on the hip in the scene where I saved the animpose.
- adding all active nodes: kinda works, but the person is warped to the world position as it was in the original scene and the entire original pose is applied, but hands had a slight offset.
- adding control node only still warps the person and pose gets still broken.

And its no user fault. We often face root nodes not being in original relative position. That's kinda bad news for the sharing layers idea of the plugin. How can ppl know where the world position was when creating the scene? And even if, if you want to have your person on a special position, other peoples saved animposes will not work as intended in 99,9% of the cases.

But for creating own things and keeping everything as it is, your plugin is really really useful, thx for that

I am sure that this can be managed.
  1. Loading layers or animations should not change the main controller position or rotation at all. That's easily done.
  2. States should be saved as if the main controller is at 0, 0, 0, or relative to a body part reference (pelvis maybe) instead of the main controller.
  3. Transitions altering the main controller position should always be saved/applied so that it's always refering to a delta, a movement and not a world location.
  4. The only time that world coordinates should be used is with anchors, to align/set the person to a desired position. Everything esle should be a delta and never refer to a world position.
It's just some final tweaks in the code to make it work for real.
 
Hey @Saint66

The key element in sharing layers is being able to rotate and transpose the entire animation. This happened in version 1 through the “relative” anchor mode. Without being able to rotate and transpose the animation, in fact reusability is void.

Version 2 was released in a rush. It was a contribution from another developer, who merged idleposer’s latest changes. Unfortunately he erased the code for relative anchor mode, and I only noticed that after releasing v3.2, because I really didn’t expect that to happen.

Anyway, v3.3 is going to be the first stable release. I’ll upload a tutorial and a sample scene, testing all the plugin’s features. In particular, relative anchors will be back.

With relative anchors, you can transpose the entire animation. So if there is a “slight offset”, that is quite easily solved. However, some minimum care must be taken with root node positions, because of virt-a-mate inherent complications regarding physics. So for example if you pick a character whose hands are in front of their bodies and load an animation where the hands are behind their backs, collision will break things. This is easily solved either with the aid of loading a pose, or with a “preparation” animation that leads the character from the default person atom position to the position where the animation ought to be played.

Notice also you can adjust root node positions before setting animations up with the “detach root control” button in virt-a-mate (it is in the same tab as saving and loading look).

Anyway, until relative anchor mode is back in v3.3, reusability of animations is indeed severely limited. But you are able to 100% reuse the animations if you don’t need to transpose them. Using saving and loading poses as an aid will make things work for that matter.

In fact, since poses alter positions of controllers that are not necessarily animated, but might physically affect the animated controllers, reusing animations on top of a shared pose would always be a good practice.
 
Yeah, Timeline has an option to save pose for each animation, this would be a great option.

However, sharing the pose preset together with the corresponding animpose is also no biggie
 
Back
Top Bottom