HeelAdjust3

Plugins + Scripts HeelAdjust3

Download [3.85 MB]

Nickon7777

Well-known member
Featured Contributor
Joined
Sep 15, 2024
Messages
78
Reactions
289
Nickon7777 submitted a new resource:

HeelAdjust3 - Foot slope and colliders for heeled shoes

This is a remake of HeelAdjust2 by @CheesyFX based on Hub version 21. A huge thank you to all the authors who laid the foundation for this work.
I decided to rework this plugin in an attempt to fix many of the flaws I consider critical. This version is almost compatible and can serve as a full replacement. All your ready-made presets work exactly the same, are saved in the same location, and the collider...

Read more about this resource...
 
Nickon7777 updated HeelAdjust3 with a new update entry:

Height Offset changed

* bugfixes with plugin start disabled
* bugfix HeelColliderScaleY changes does not reflected in UI
* HeightOffset value changed that way it is not longer affected by HeelColliderOffsetZ
The last thing is an incompatibility with the original CheesyFX script but there is no difference in total since that version does not save the value in the scene data. Please not the either versions adjust height value assuming feet height value is not zero but about 0.063 (VaM default pose value).

Read the rest of this update entry...
 
For those who think shoes with the built-in ShowHelper plugin are acting wrong.
You may notice some very strange behavior with these shoes, especially when alternately equipping the right and left halves. This behavior is actually caused by the HeelAdjust (check if it's installed on your character all the time). In my version, this behavior can be fixed by explicitly disabling the HeelAdjust before equipping these shoes, as demonstrated in the video. In the original version, it needs to be removed from the character. I made it possible to remove the ShoeHelper plugin not because it's broken, but because I want to be able to customize both halves simultaneously. Also, note that removing the ShoeHelper plugin is saved in the scene.
 
@Nickon7777, thanks so much for updating this plugin. The ability for settings like Root Height Adjust to be saved in a scene is a big win, allowing me to actually use this plugin in published scenes.

One question for you though, if I publish a scene using this plugin, how should I handle the presets for the several sets of different shoes/heels that I am also including in the scene?

If I include the plugindata for invidual shoes in my VAR file, how would this data interact with or collide with any user's own personal plugin data if they have HeelAdjust data saved for the same shoes? If so, is there any accepted way to approach this?

Thanks
 
Last edited:
Also, I came across a recent post of yours in CheesyFX's HeelAdjust2 discussion, where you were talking about how swapping footwear, with something like a clothing preset, produces the wrong deltas for the new footwear or barefoot. Link to your post

I think the issue I'm having has to do with this. I've found that swapping between really high heels, in certain poses, back to barefoot can cause one or both of the feet to delta to angle upwards in barefoot mode. Cycling back and forth causes the barefoot mode to swap back and forth between being correct and then back to the bad deltas, or alternating which foot has correct deltas, and which has the wrong ones.

1785928327183.png
1785928391716.png
1785928487029.png


This also happens with any shoes with a noticeably lower heel as well.

When putting the highest heels back on, they are always correctly angled.

Did the fixes you mentioned in that post make it into this version of the plugin?
 
Hi, @Metix. Glad to see I helped someone :)
how should I handle the presets for the several sets of different shoes/heels that I am also including in the scene
You don't have to do something special for that: the scene data already contains *your* preset as you saved it and it overrides the end user presets until he re-wear the shoe. So at least at the scene start-up your preset will be applied. (You can check the exported preset values in your scene.json if open it with any text editor and find the key like "id" : "plugin#2_CheesyFX.HeelAdjust2" just look for _CheesyFX.HeelAdjust2).
But if you want to override the user preset in your shared scene all-the-time there is no way to do that. But we can discuss that.
 
Hi, @Metix. Glad to see I helped someone :)

You don't have to do something special for that: the scene data already contains *your* preset as you saved it and it overrides the end user presets until he re-wear the shoe. So at least at the scene start-up your preset will be applied. (You can check the exported preset values in your scene.json if open it with any text editor and find the key like "id" : "plugin#2_CheesyFX.HeelAdjust2" just look for _CheesyFX.HeelAdjust2).
But if you want to override the user preset in your shared scene all-the-time there is no way to do that. But we can discuss that.

Okay, I see it here now.
JSON:
"HeelAdjust2" : {
                  "Foot Slope" : "5.003455",
                  "Lock Toe Joint" : "false",
                  "Lock Individual Toes" : "false",
                  "HeelColScale" : [
                     "0.02",
                     "0.032",
                     "0.02"
                  ],
                  "ToeColScale" : [
                     "0.05",
                     "0.016",
                     "0.05"
                  ],
                  "ToeColOffset" : [
                     "0",
                     "0",
                     "0.007968247"
                  ]

The only issue I have is when using multiple shoes in the scene, as only the values that are active at scene save are stored in the JSON. I'm wondering how it might be possible to save values for more than one set of shoes?
 
Did the fixes you mentioned in that post make it into this version of the plugin?
Of cause, this version has a way other method of delta compensation but it is not ideal too. First check if you see the wrong foot's delta value is non-zero then try to disable "Auto Calculate Deltas" or adjust it manually. This feature is used when a user opens a scene that is NOT intended to use with the plugin so the author could set Foot Controller X Rotation manually in the TimeLine. So you don't need the feature at all. Another thing to check: very similar issue you can see when use a shoe with ShoeHelper applied. The ShoeHelper sets Joint Drive X angle to a negative value making HellAdjust to do wrong compensation. So please check this points to reveal the issue.
expl_v2.png
 
it might be possible to save values for more than one set of shoes
No there is no way to save multiple sets. The saved data actually is not a preset data, the numbers are just "values for something I wear now" and not referred to the shoe.
But why do you need that? Please tell us more about why you need your own presets for the end user. Are you unsure whether the user already has a preset for these shoes? Or do you think your preset is clearly better suited for the scene?
 
But why do you need that? Please tell us more about why you need your own presets for the end user. Are you unsure whether the user already has a preset for these shoes? Or do you think your preset is clearly better suited for the scene?

The reason I would want multiple is because of clothing changes in the scene. Also, I would not know if the user has any presets for the shoes, maybe they have never used HeelAdjust. But I understand why it wouldn't be possible to use presets inside a VAR file, SELF: would only be able to find presets inside the HeelAdjust VAR, and not my own packaged VAR. Or, if there are multiple copies of the same preset in different VARs, that could cause problems.
 
I would not know if the user has any presets for the shoes
In this case, a fairly reliable solution is to simply post the preset files used in the scene in the discussion/overview thread for your scene. You can include a link to the instructions below. If the user is familiar with the plugin and understands what a preset is, they'll be able to do this easily.
Other options. Your suggestion of storing preset files in a .var file is likely feasible, in fact. The user's existing presets will take priority. The problem will be if the user re-saves your scene—in that case, the missing presets will "magically" disappear (if they're not aware of the plugin). I could add import of missing presets for the user (files from .var are copied directly to the user's preset storage), but I won't do it silently. The user must clearly indicate the intent by clicking a button in the interface, and we'll again rely on user awareness.

UPD: I've checked, it is possible to implement
 
Last edited:
Instructions how to import shoe preset files.
Briefly: just copy the files to
Code:
%vam%\Saves\PluginData\CheesyFX\HeelAdjust2
The plugin must be reloaded to rescan the new preset files. If a certain file already exists in your folder, then you have your own ready-made preset for these shoes. Preset file names are linked to the VaM's internal clothing names. This system is fully compatible with the original plugin by CheesyFX.
Preset files are human-readable text files, viewable and editable in any text editor. This allows you to manually check and edit the preset geometry data values. Be careful, the plugin doesn't check the ranges of these values, so adjust at your own risk. A unique feature of this version of the plugin is the addition of .copy files for shoes, which are divided into right and left halves. These files are created automatically in the game (see Creating a reference preset example video on the Overview page) and can be shared with other users. The text of such a paired file is irrelevant and is usually omitted. Example files: VL13-ShKITSTSoleR.json and its pair VL13-ShKITSTSoleR_VL13-ShKITSTSoleL.copy
 
Nickon7777 updated HeelAdjust3 with a new update entry:

Version 3. Packaged scene presets feature.

A new feature added by Metix request: packaged scene presets. Now a creator can add their own shoe presets in the scene package .var under
Code:
"Saves/PluginData/CheesyFX/HeelAdjust2"
Just select the preset files you used in your scene in the Package Builder.
These packaged presets will not override the existing user presets if any. That presets work only if the scene loaded from the package, if the user saves the scene under own name the presets will not be loaded. The user can...

Read the rest of this update entry...
 
I'm happy for you @Metix . Let me know if there's anything wrong with this new feature. And regarding the incorrect tilt bug: are there any new thoughts on this issue? I'd like to help find and fix it.
 
I'm happy for you @Metix . Let me know if there's anything wrong with this new feature. And regarding the incorrect tilt bug: are there any new thoughts on this issue? I'd like to help find and fix it.
I think I figured out the tilt issue. Some of the poses I was using had Joint Drive X Angle baked into the pose. I don't know why, but I zeroed them out.

Going to see how your update works now.
 
Back
Top Bottom