PosingHelper

Plugins PosingHelper

I've noticed you removed the help window :( I was using it because I always forget all the modifiers and what they do. Especially the alt/shift/ctrl gizmo modifiers.

And the Overview and its help graphics are missing that too. As well as other stuff, like middle click on state buttons, ctrl+click on nodes and its difference with shift+click. A lot of features are currently invisible to people.
 
I've noticed you removed the help window :( I was using it because I always forget all the modifiers and what they do. Especially the alt/shift/ctrl gizmo modifiers.

And the Overview and its help graphics are missing that too. As well as other stuff, like middle click on state buttons, ctrl+click on nodes and its difference with shift+click. A lot of features are currently invisible to people.
i couldn't get it to look good with the UI change plus i though there's no need for it anymore.
i did add a few tables to explain all the shortcuts in the recourse Overview though. i feel like doing an update just for it isn't worth it, i might include a better help menu when i get time to work on the minimal finger posing mode.
 
The Undo sending changed event to unwanted nodes is still happening sometimes, but it's a bit tricky.

I have a head node that is parented in Timeline (NOT in its control tab) to chest. Both are on/on. If I move chest (so Timeline moves head with it), and press undo, it moves head to an unwanted position, which sends the changed event to it too, creating a broken keyframe.

Would be cool if PH was undoing only changes done by PH, otherwise it breaks in use case described above. Also an undo button left to the symmetry would be nice :)

And to make the modifiers workflow a bit more intuitive, it would be great if I press the modifier, it changed the title of the reference point button for the duration of button hold to represent current reference (local/global/cam). That way I don't have to read help, just check by pressing modifiers until I get what I need.
 
Last edited:
The Undo sending changed event to unwanted nodes is still happening sometimes, but it's a bit tricky.

I have a head node that is parented in Timeline (NOT in its control tab) to chest. Both are on/on. If I move chest (so Timeline moves head with it), and press undo, it moves head to an unwanted position, which sends the changed event to it too, creating a broken keyframe.

Would be cool if PH was undoing only changes done by PH, otherwise it breaks in use case described above.
The main problem with undo is that I don't have total control over the node, Vam does. So if Vam decides that a node should be moved, it will invoke movement callbacks, one of which is timeline keyframing (I think). So the only way to move a node without causing the chain reaction is if I disable the physics simulation, which requires sleeping for a second, which is very undesirable. This also means that I can never be sure what caused the node movement.


Also an undo button left to the symmetry would be nice :)
that i can do.


And to make the modifiers workflow a bit more intuitive, it would be great if I press the modifier, it changed the title of the reference point button for the duration of button hold to represent current reference (local/global/cam). That way I don't have to read help, just check by pressing modifiers until I get what I need.
very nice suggestion , both will be patched next update.
 
The main problem with undo is...

Unless I'm missing something obvious, you can just keep a list of undo states for PH actions. For example if I use PH to move `hand.x` from `1` to `5`, you add `hand.x = 1` to undo history array. And when undo is called, you just pop the last item in that array, and apply it. That way there are no collisions with other things happening around PH, and PH will always undo only things PH did.
 
Unless I'm missing something obvious, you can just keep a list of undo states for PH actions. For example if I use PH to move `hand.x` from `1` to `5`, you add `hand.x = 1` to undo history array. And when undo is called, you just pop the last item in that array, and apply it. That way there are no collisions with other things happening around PH, and PH will always undo only things PH did.
on second thought maybe i spoke too soon , but i still have to implement it to really know how possible it is.
 
Ruvik updated PosingHelper with a new update entry:

new hand posing mode , better saving , global save settings button and more

Some UI Changes:
. new handposing UI:
View attachment 286684
. added a button to undo.
. re arranged buttons to make switching the mode in the middle.

New Hand Posing:
. move sliders to pose hands without adding the PHFingerSliders plugin to the atom.
. reset , load and save poses ( make sure to only use sliders)

Better Saving:
. removed the prompt and used VAMs native way ( like saving scenes)

Global Save Settings button:
. save once...

Read the rest of this update entry...
 
Hi @Ruvik I'm a big fan of this plugin!

It is indispensable for animation and posing, and the addition of hand controls was an absolute godsend! I've been using it for a while with a great amount of success, however I am running into a UI issue and I'm wondering if perhaps I have done something wrong. I have three characters, all with the PHFingers plugin loaded. It worked fine last night, but after saving the scene and reloading it today, I get this:

1695224291157.png

All three characters have only the phfingers plugin loaded onto them and nothing else, but all three UI menus do this. I can get it down to the simplified hand screen only, but if I enable the advanced version it doesn't remove the simple options, and if I try to switch to the body away from the hands, it draws that UI at the same time below the other two.

So far I have tried:
hard reset
removing/re-adding PHfingers to all characters
reloading the PosingHelper session plugin
loading PHfingers on only one character
removing all plugins, saving the scene, hard resetting, then trying to add everything back

So far none of the above steps have resolved it and the only error that I've gotten was when I reloaded the session plugin and it's a fairly generic and mostly useless error:



!> MVRPlugin_Ruvik_PosingHelper_77__Custom_Scripts_PosingHelper_PosingHelper_cslist_cfbc6f801f81d83f0b23b263f6304de4_33Object reference not set to an instance of an object

any help you might be able to provide would be appreciated!
 
hi

It is indispensable for animation and posing, and the addition of hand controls was an absolute godsend! I've been using it for a while with a great amount of success
very glad to hear that.

any help you might be able to provide would be appreciated!
Thanks for providing all the details. I will try replicating this bug to hopefully fix it. I'll probably send you a fixed version to test out through Discord when the fix is ready (or through the hub messages).
 
hi


very glad to hear that.


Thanks for providing all the details. I will try replicating this bug to hopefully fix it. I'll probably send you a fixed version to test out through Discord when the fix is ready (or through the hub messages).
let me know if you want me to send you the scene it's happening in specifically :)
 
let me know if you want me to send you the scene it's happening in specifically :)
I couldn't replicate the bug, so yes, please. also if you don't mind I recommend we use Discord, there will be a lot of back and forth, and the hub messages were not designed for these cases.
 
Ruvik updated PosingHelper with a new update entry:

bug fixes , added relative alignment , added a minimal finger animation template

. bug fixes:
- plugin doesn't initialize correctly if the starting person has the PHFingers plugin but is Off (credit @ascorad )
- flipped direction in XZ and YZ combined gizmo (credit @qdaro )
- clearing links and setting states are now mirrored ( also qdaro)
- if the nodes state was set to Lock it will stay Lock instead of turning to On(qdaro)
...

Read the rest of this update entry...
 
Does not work.


Code:
!> Compile of Ruvik.PosingHelper.80:/Custom/Scripts/PosingHelper/PosingHelper.cslist failed. Errors:
!> [CS1061]: Type `SuperController' does not contain a definition for `MainHUDVisible' and no extension method `MainHUDVisible' of type `SuperController' could be found. Are you missing an assembly reference? in <Unknown> at [60, 68]
 
Does not work.


Code:
!> Compile of Ruvik.PosingHelper.80:/Custom/Scripts/PosingHelper/PosingHelper.cslist failed. Errors:
!> [CS1061]: Type `SuperController' does not contain a definition for `MainHUDVisible' and no extension method `MainHUDVisible' of type `SuperController' could be found. Are you missing an assembly reference? in <Unknown> at [60, 68]
you need to update Vam through "VaM_Updater.exe" , "Sync / Repair Core" would suffice.
 
?Very powerful plugin
A small suggestion, in Chinese language system, the sliders in Hand posing mode (Minimal ) don't work.
Probably because the plugin get the wrong atom's id from Chinese characters?

hand pose.jpg
 
?Very powerful plugin
A small suggestion, in Chinese language system, the sliders in Hand posing mode (Minimal ) don't work.
Probably because the plugin get the wrong atom's id from Chinese characters?
thanks.
i doubt it's a reading problem , both c# and vam support unicode and I've tested that myself.
how did you get the button that usually says "right" or "left" to be Chinese ?? maybe that's where we should look.
you can send the scene var to me either here or on discord ( @zildeus.c on discord).
 
thanks.
i doubt it's a reading problem , both c# and vam support unicode and I've tested that myself.
how did you get the button that usually says "right" or "left" to be Chinese ?? maybe that's where we should look.
you can send the scene var to me either here or on discord ( @zildeus.c on discord).
I installed the BepInEx framework for translation
And I made a few changes and then it worked fine, not sure if it was completely solved by doing so:cry:
PHHands.cs ----------------------- modify activeAtomsMorphController.GetMorphByUid(PHUI.handSideText.text + " " + morphName).morphValue = sliderValue; to activeAtomsMorphController.GetMorphByUid(PHUI.GetHandSideText() + " " + morphName).morphValue = sliderValue; modify if (PHUI.handSideText.text == "Right") to if (PHUI.isRightSide) PHUI.cs ----------------------- public static string GetHandSideText() { return isRightSide ? "Right" : "Left"; }
 
I installed the BepInEx framework for translation
And I made a few changes and then it worked fine, not sure if it was completely solved by doing so:cry:
i don't get how that fixed the problem , but im glad you could understand the code enough to fix it yourself.
 
i don't get how that fixed the problem , but im glad you could understand the code enough to fix it yourself.
Maybe the BepInEx framework replaced the UI's text for translation, so the text we got from UI's view is no longer in English,it's not reliable
 
Back
Top Bottom