Life
As it is currently, Life has to be in control, that's why I call it "audio-driven". However, you can use it to control a Timeline animation (via Triggers).

Thanks for getting back to me @MacGruber. I have to admit, I'm struggling to understand how Life interfaces with Timeline. I cant seem to figure out how to use Life to fire Timeline animations. I managed to use the thrust plugin to control a Timeline animations scrubber or weight - but not how to actually play the anim. Would you mind explaining the different ways Life can control Timeline please? It would be most appreciated. :)
 
@fishcakes Yes, controlling the scrubber is what I meant. In addition you could potentially use the ThrustTrigger plugin to switch to different animation variations. The idea would be to have the 0 or 1 position shared by all those variations and having the ThrustTrigger switch at just the right moment. Note sure how well that would work.

Another approach could be to animate a number of Empty atoms, e.g. using AnimPatterns. Then use IdlePoser to anchor its states to those Empty atoms. I think Timeline also got a similar feature (called parenting?) which might also work.
 
@fishcakes Yes, controlling the scrubber is what I meant. In addition you could potentially use the ThrustTrigger plugin to switch to different animation variations. The idea would be to have the 0 or 1 position shared by all those variations and having the ThrustTrigger switch at just the right moment. Note sure how well that would work.

Another approach could be to animate a number of Empty atoms, e.g. using AnimPatterns. Then use IdlePoser to anchor its states to those Empty atoms. I think Timeline also got a similar feature (called parenting?) which might also work.

Thanks @MacGruber for the explanation. The trouble with controlling the scrubber is that Timeline has a scrubber snap feature that defaults to 0.1s. So the scrubber won't transition smoothy - rather it would move in 0.1s steps. I could probably set this to a very small number ( maybe even zero, but I haven't tried ), but the snap feature is super useful so it would become tedious fast if I had to constantly enable the snap when working on an animation and then disabling it whenever I play the anim. Having said that, the snap parameter might be exposed to the rest of VAM by Timeline, so this could be automated to a degree.

So, it sounds like the only option would be to use thrust triggers as you suggest which fire in/out anims in Timeline. I'm going to give it a go when I next get the chance. Seems the relationship between Life and Timeline is pretty new and raw right now, so I'll let you know what I find in case it's useful for anyone else.

In closing, seeing as Life and Timeline are two of the most essential and commonly used plugins, it would be great if they could be made to work together in a simple and productive way.
 
Seems the relationship between Life and Timeline is pretty new and raw right now, so I'll let you know what I find in case it's useful for anyone else.

In closing, seeing as Life and Timeline are two of the most essential and commonly used plugins, it would be great if they could be made to work together in a simple and productive way.
Yeah, I did not try this at all...I assumed the scrubber was intended for this kind of control. I'm not really using Timeline at all as I'm more focused on my own IdlePoser, obviously.
 
Is there some kind of debug I should do if I can't get Thrust to work with an animation Pattern?

I've followed the guide. Named the animationpattern as the Person Atom Name + # + Thrust + Bodypart, I've paused and turned off loop. The animation pattern only foes from 0 - 1. Can't think of anywhere else there could be an issue. I can see the Breathing part of the plugin is working, just not thrust.
 
Is there some kind of debug I should do if I can't get Thrust to work with an animation Pattern?

I've followed the guide. Named the animationpattern as the Person Atom Name + # + Thrust + Bodypart, I've paused and turned off loop. The animation pattern only foes from 0 - 1. Can't think of anywhere else there could be an issue. I can see the Breathing part of the plugin is working, just not thrust.
The guide is outdated, it doesn't use that awkward name matching anymore. Since Life 10 or so it's using LogicBricks-Style triggers to directly write the value where you want it. Check the included demo.
 
Superb work MacGruber, that Gaze plugin is really something. I have a simple question that I did not find answer on. I would appreciate if someone could hint me out.

I do understand that gaze take control of the head, so animating the head is not possible while gaze is running.

Let's say that I want a person to run the gaze plugin, but I would like her to make a "YES" animation (head up and down few time) than resume gaze. I am using AcidBuble timeline pluging. Is there a way to temporarily disable gaze, play my animation than resume gaze?

Thanks again MacGruber!!! Awesome plugin!
 
Let's say that I want a person to run the gaze plugin, but I would like her to make a "YES" animation (head up and down few time) than resume gaze. I am using AcidBuble timeline pluging. Is there a way to temporarily disable gaze, play my animation than resume gaze?
There are two potential options I see, I have tried neither of them ;)
  1. Disable Gaze before the animation, reenable later. Like any other plugin, you can enable/disable it via its "enabled" property. It could be that you get a minor hickup when Timeline is taking over, if there is no handling for this kind of thing on the Timeline side. Turning back on should be smoother, but there could still be a snap on the Z-Axis rotation.
  2. Animate the EyeTarget rather than the Head, so Gaze does the job for you. Note that you can also animate parameters like GazeDuration and FocusAngle for better control.
 
I keep having to mix and match this suit of plugins with others, all because Breathing is missing an OnOrgasm trigger! Sure I can control when an orgasm is queued up, but there is no telling how long it will take before the queue starts the orgasm.

So I took a root about in the code, I've added a new event in and triggered it in Enqueue() by checking if currentBreath.Type == TYPE_ORGASM.

That's worked a treat for me in my personal scenes, but I figured I can't be the only one having to find another plugin to control orgasms with when wanting to use your Breathing plugin instead.

If you do want to add this feature, for an encore you could add an OnOrgasmEnd too :)

Would be great to see this properly supported, always feels a bit odd tweaking someone else's hard work like that
 
Any way to use the gaze feature to have the girl look at either random or pre-configured atoms, or just look away from the male target for realism? In RL no one stairs at each other constantly, but occasionally breaks gaze and looks away. I'm sure this is coded in, but I cant find where to make these changes. Thank you
 
Any way to use the gaze feature to have the girl look at either random or pre-configured atoms, or just look away from the male target for realism? In RL no one stairs at each other constantly, but occasionally breaks gaze and looks away. I'm sure this is coded in, but I cant find where to make these changes. Thank you
It's not ideal, but what I have used in for example in my DoubleTrouble scene is to have Gaze look at the EyeTargetControl of the character. Then the EyeTargetControl is animated using IdlePoser. The animation can be anchored to other characters, objects, etc. In addition, IdlePoser can also set parameters for Acid's Glance plugin.
 
Man, I'm losing my mind over here. Have any of you ever seen this behavior before?

I was just about to publish an animation, doing some final cleanup of things, when the Life plugin started acting really strangely. There is no gap between any of the audio sounds anymore. I thought at first that I'd screwed up the intensity in Timeline somewhere, but reloading, I realized that the breath just sounded like panting. If I go and look at the Head Audio, I can watch the rapid changes in audio files that are loaded.

2022-01-24_12-36-09.gif


So then I hopped into the plugin and figured something else might be off, like the Rhythm Damping. Adjusting that slider doesn't change anything, unfortunately.

Other things I've tried to fix it:
  • Reloading the plugin.
  • Removing the plugin "container" entirely, and loading the Life plugin again in a new one.
  • Clearing the cache and restarting VAM.
  • Checking to see if there were plugin specific preferences that might be causing it (there were not.)
  • Checked to see if the plugin file had somehow been modified (it had not.)
  • Removing the Life plugin from the scene, saving the scene to a temporary copy, then opening the copy of the scene, and adding the Life plugin back in.
  • Saving the scene without the Life plugin, as above, then exiting out of VAM entirely, reloading VAM, loading the scene, and adding the Life plugin back in.
Things I have yet to try but intend to:
  • Saving the scene without the Life plugin, then loading it in a different copy of VAM entirely (I am in my "dev" environment now, and will try loading it in my "dirty" environment.
  • Saving the scene without Life, removing the Life plugin from VAM entirely, then redownloading it, loading the scene, and adding back the Life plugin.
I really don't know what else I can do to track down what's causing this. I've never seen this behavior before, and I'm not sure if there's something I could have done to cause it. What about you, @MacGruber? Is this something you've seen before?
 
Good-ish news? It doesn't seem to be limited to Life. I tried toasting the Life plugin from the scene and loading up hazmhox's VAMMoan, and it seems to be doing the same thing. As I listen to it, it almost seems like the next audio clip is loading before the preceding clip has finished. I'll keep digging, but I guess I've likely asked for advice in the wrong place here.

Oh: And so far this is limited to my Dev installation. It also seems to be limited to the scene. I loaded another scene I'd created with Life in it (and another with VAMMoan, and neither have the issue.
 
@vamurai I would suspect either Life's "Pitch" setting or VaM's global "Time Scale". The latter always has to be 1.0, otherwise Life won't work properly.

(Edit: There is also a "Pitch" silder on the HeadAudioSource, which is set every frame by Life, but not reset when you remove Life. That might be how it affects VAMMoan.)
 
@vamurai I would suspect either Life's "Pitch" setting or VaM's global "Time Scale". The latter always has to be 1.0, otherwise Life won't work properly.

(Edit: There is also a "Pitch" silder on the HeadAudioSource, which is set every frame by Life, but not reset when you remove Life. That might be how it affects VAMMoan.)
I reset Pitch and did a few other types of reloads and refreshes and that seemed sort it out. I do want pitch to be adjusted, and I got it to work, my guess is that something got confused with me switching it back and forth from 1.0 to 1.1 in various places in Timeline. All sorted now, thanks for the heads up!
 
Hey MacGruber :)

I got one issue with Life: The Breathing sounds interrupt other sounds in my scene. Can be seen very well here:

How can I avoid that? Is there any way? I really wouldn't want to disable the breathing-stuff while I play other audio.

 
Hey MacGruber :)

I got one issue with Life: The Breathing sounds interrupt other sounds in my scene. Can be seen very well here:

How can I avoid that? Is there any way? I really wouldn't want to disable the breathing-stuff while I play other audio.

View attachment 96528
Can't watch the video right now, but can you have your other sounds come from a different source, instead of the person atom?
 
I could, but that wouldn't sound as realistic, don't you think? Although I could parent link an additional audio source to the head of the person and deliver audio from there. But I hoped there would be an easier solution ^^
 
I could, but that wouldn't sound as realistic, don't you think? Although I could parent link an additional audio source to the head of the person and deliver audio from there. But I hoped there would be an easier solution ^^
That's exactly what I would do it. Link it right to the head so it sounds like it's coming from the same place. You can't play two audio clips from the same audio source at once. Since Life uses the head audio, other head audio either needs to come from a different source, or not overlap with when Life is playing audio.

There is another way, of course. When I add custom orgasm audio to scenes that have Life or another plugin that uses the head audio source, I don't want breathing to happen at the same time the orgasm is going off, so I don't make another audio source as above. Since I'm always animating with timeline, I create a trigger to disable the "breathing" part of the plugin, then a trigger to play the orgasm. I check to see how long the orgasm audio should last, then I set a final trigger to re-enable the breathing after that amount of time, and it picks right back up where it left off. I usually also set that trigger to lower the intensity too, so she's not back to the hard breathing when the orgasm is over.
 
Btw, there is one other problem when not using the characters head audio... because the Plugin Realtime Lipsync only works when the Audio is played through the characters head audio source. So I will go with your version vamurai! :)
 
Back
Top Bottom