• Hi Guest!

    We are extremely excited to announce the release of our first Beta1.1 and the first release of our Public AddonKit!
    To participate in the Beta, a subscription to the Entertainer or Creator Tier is required. For access to the Public AddonKit you must be a Creator tier member. Once subscribed, download instructions can be found here.

    Click here for information and guides regarding the VaM2 beta. Join our Discord server for more announcements and community discussion about VaM2.
  • Hi Guest!

    VaM2 Resource Categories have now been added to the Hub! For information on posting VaM2 resources and details about VaM2 related changes to our Community Forums, please see our official announcement here.

VaM 1.x Is there a way to mass edit a controller's xyz position value throughout all keyframes by a certain percentage? (Further explanation in the post)

Threads regarding the original VaM 1.x

Colourless

New member
Joined
Apr 3, 2023
Messages
27
Reactions
0
What I mean is that if a keyframe has the hip's x location at 1.25 and I want to move it by about 25% in the direction that it is going --let's say just on the x axis, no y or z-- then it would edit the keyframe's x value for the hip to 1.56. I would like to have this done for every axis (X, Y, and Z) in the direction that they are going --to the next keyframe. So if the hip is moving upwards and the x, y, and z axis are all moving, be it up or down in value, you mass edit the change in value from keyframe to keyframe by 25% more than what was originally changed, in the direction that they're going.

I.e: From keyframe 1 to keyframe 2, the hip controller X VALUE started at 1.25 and then changed to 1.8, the Y VALUE changed from 26 to 23.2, the Z VALUE went from 18 to 19. What I would like to do is mass edit the SECOND keyframe and every keyframe after's xyz value by 25% based off of their original set location and off of their direction --whether the value decreased or increased from keyframe to keyframe.

So instead of the above example for the xyz values being changed to --keyframe 1-4:
(x value) 1.25 -> 1.8 -> 1.2 -> 1.9
(y value) 26 -> 23.2 - > 32.1 -> 19.2
(z value) 18 -> 19 -> 19.3 -> 26.1

It is instead changed by 25% more than what was originally set, like so --keyframe 1-4:
(x value) 1.25 - > 2.25 -> 0.9 -> 2.38
(y value) 26 -> 17.4 -> 40.13 -> 14.4
(z value) 18 -> 23.75 -> 24.13 -> 32.63

***
This is not a request on how to change the total amount changed being changed, as in 1.25 to 1.8 being a change of 0.55, and the 25% increase being calculated on that value --as the change in movement would grow exponentially and result in a physics explosion. The value that the 25% is calculated on is solely based off of the final xyz value of the next keyframe's original value BASED OFF OF THE DIRECTION THE VALUE IS GOING --so not a total increase or decrease for all keyframes, but dependent on the value going up or down, which in this case would be the 1.8 ***

I'm truly sorry if this is overly confusing or hard to read. I'm trying to convey exactly what I mean so that there is no confusion. If you need me to clarify, please ask. Thank you so much.
 
I'm assuming what you're talking about involves some form of animation since you mention keyframes. In that case, I would say you could use the "Weight" setting in the Timeline plugin for this. It would only change 0.0-1.0 of the original position values but in theory you could use exaggerated animations, then have them start playing at like 0.5 weight and increase or decrease it with triggers as necessary.

If it's not an animated thing, then maybe something like the MoveControl plugin could do what you want. It has a trigger for position increment that you could use with another plugin like "ValueRelay" from LogicBricks to change the amount.
 
Upvote 0
I think you're drinking way too much Whisky while vamin', but that's just a subjective take : D
 
Upvote 0
@hazmhox I'm trying to edit the values of a mocap scene that has 15000+ keyframes for each controller and instead of trying to manually change each of them, I was hoping there was some way that I could mass edit the controller's position relative to where it was originally set.

@Clownmug Same as above, but sadly the weight of the animation (mocap) that I'm trying to edit is already set to 1.0. I have tried baking the animation, bulk edits through timeline, tried offsets, tried increasing spring and velocity values, tried linking body parts to other body parts with both parent and physics links, I've even tried changing all controller's curve data to Smooth (Global). None of this has had any effect on the actual way the animation is played.

Since I've ran out of options, my only hope was that there was some way that I could bulk edit keyframe's controller positions to be 25% more than what they were originally set as; hence why I added the value changing examples to further demonstrate what I meant.

EDIT: For clarification:

The pelvis controller in the mocap scene has the pelvis move from:
_____ <-- Here

to

_____ <-- Here


What I am trying to do is to edit the location of the second keyframe by 25% or something so that you get more motion, or intensity --if you will-- out of the movement of the atom. So instead of what I've illustrated above, the resulting change will have the pelvis' position change from:
_____ <-- Here





to






_____ <-- Here

I don't want to have to manually change the location of the pelvis controller for each individual keyframe for 15000+ keyframes.

***This is usually accomplished by editing the controller's spring values and max velocity; however, this either does not work on mocaps, specific scenes, or for other reasons that I am currently unaware of. Currently, I have tried everything that I know of to edit controller positions so that I may get more movement out of an atom, or as stated previously, "intensity." So far, nothing has worked and the mocap ultimately remains unchanged/unalterable, so I was hoping there was a method of bulk changing keyframe position data for body controllers so that I may resort to essentially manually editing where the pelvis ends up for each keyframe but at the same time not having to do it one by one, more as a "I'd like every position value that the pelvis changes to to be changed just 25% more than what it was originally set to." This is to essentially end up with the same result as changing the controller's spring values despite it not working after doing just that. I hope that makes sense.
 
Last edited:
Upvote 0
But bulk > Offset controllers does exactly that, it works very well for me :unsure:
Bulk pivot is kind of unpredictable, its best to avoid it, but bulk offset works very well (y)
 
Upvote 0
@yasparukko How would I go about doing that? Because every single time that I have done bulk offset, it just moves the individual keyframes and not every keyframe by a designated amount?
 
Last edited:
Upvote 0
@RunRudolf It said that I have every keyframe selected from a certain timeframe. Should I instead shift click the specific keyframes? Because there are 15000+ keyframes to select and I'd rather not select every individual one. Also, I want to offset the ones that have the pelvis move the y-axis upwards to move them further upwards, and the ones that move the y-axis downwards to move them further downwards. If I were to select a range, then I'd move all of them not dependent on the direction that they're moving towards. Increasing the spring value of the controllers achieved exactly what I was going for by increasing the speed at which it moves between the two points, allowing for the joints to achieve a greater xyz-axis variance, but doing the same in this scene does not work.
 
Upvote 0
@RunRudolf It said that I have every keyframe selected from a certain timeframe. Should I instead shift click the specific keyframes? Because there are 15000+ keyframes to select and I'd rather not select every individual one. Also, I want to offset the ones that have the pelvis move the y-axis upwards to move them further upwards, and the ones that move the y-axis downwards to move them further downwards. If I were to select a range, then I'd move all of them not dependent on the direction that they're moving towards. Increasing the spring value of the controllers achieved exactly what I was going for by increasing the speed at which it moves between the two points, allowing for the joints to achieve a greater xyz-axis variance, but doing the same in this scene does not work.
The bulk offset procedure:

Select targets (e.g. hip, chest and head)
Click on "Select visible range" for all keyframes of the selected targets
Switch to "Offset"
Click on "Start offset controllers mode...."
Move your targets
Click on "Apply recorded offset..."

Bulk offset will change all selected targets of all selected keyframes the way you move them. To my knowledge, you cannot do anything proportional with a bulk selection, nor can you move certain targets up and others down in the same run. For the latter, you have to select different groups of targets and do individual bulk operations.
 
Upvote 0
@RunRudolf Thank you, I will try this method and report back once I do. I appreciate the effort in trying to help! Let's see if this works.

EDIT: This only affects the keyframe that is selected and not within the visible range. Pelviscontrol is selected, offset is set and changed while ensuring that selection started at 0.00 and ended at 216.40; however, the offset is only applied to the first keyframe and the very next keyframe remains unchanged. To my knowledge, there is no way I can select multiple keyframes at a time.
 
Last edited:
Upvote 0
Back
Top Bottom