• Hi Guest!

    Please be aware that we have released a critical security patch for VaM. We strongly recommend updating to version 1.22.0.7 using the VaM_Updater found in your installation folder.

    Details about the security patch can be found here.
  • Happy New Year from the VaM Staff!
PoseHelper

Plugins PoseHelper

[There are no changes in plugin's pose mechanics]
* MorphLister UI reworked (VaM common InputField prefab is used now!)
+ MorphLister prevented to run on a non-person atoms

There is still an UI issue exists: saved morphs values files are browsed without preview thumbnails. Will try to fix it later.

UI reworked:
MorphLister-v06.pngMorphLister-v06-marks.png
[There are no changes in plugin's pose mechanics]
+ New separate plugin MorphLister.cslist intended for organize your custom morphs lists.
+ Added various PoseHelper morph features: saving/loading morphs values according bank(s) list.
* Bugfix Morph loading with single bank list.
Remark: ugly interface is because of my low skills in VaM plugin system. I will try to make it more convenient. Some help with
UnityEngine.UI.InputField appreciated.


This is a continuation for morph system. Now you have a *better* possibilities to organize your custom morph list in (possibly) many banks for all your characters/needs. For this a new plugin module MorphLister is introduced. It is a separated plugin for the morph list creation and you do not need it to be applied on your char all-the-time. It is aimed to create a morph list file (still a .json file that still can be edited manually) that can be loaded in PoseHelper plugin to edit particular morphs values from the list. A list consist of one or more banks helping you to arrange a body zones, some char special features, etc.
Designed workflow is as follow. In the following text the words in brackets are the plugin UI controls references. You query filtering a container that can be [all] system's morphs list or an existed [bank] or a previous query [result] with a filtering [flags], selected [region] and a regular expression ([regex]) to produce a new filtering [result]. The filters are discussed later. The result can be added (union) or removed from the selected [bank]. The on-button numbers in brackets show the current elements count in the corresponding [container]. You can glance the [result] morphs (first ten of them only) in action on the current char with [test] button (press again to undo) but be aware it can produce very strange results! You can type-in the exact morph name and press enter to see some [information] for the morph. Also you can replace some morph's names in the [result] list with [regex] [replace] to produce a "mirrored" bank for the right/left hand for example (discussed later).
That way you organize banks(s) or desired morphs. You can [add]/[delete]/rename each bank, [copy] its content to a new bank, [hide] it from the PoseHelper and [save]/[open] banks list to/from a file (.json).
MorphLister-v05-marks.png
Now let's move to the thing that are not user-friendly at all.
The [flags] are a set of boolean (true or false) values organized in a text representation: there is a list of a letters and a specific letter triggers requirement of specific value state. For example "f" letter means "favorite" morph flag and "d" is "driven". So that "f!d" [flags] text value leaves morph that are favorite AND NOT driven. The [help] button shows all letter flags for you.
The [regex], let say, is not so easy to learn. But you can use it in a simplest way just typing a word (sub string) you want find. Type "hip" for example and try it out. There are plenty helpers for you in the internet. Tip: C# Regex.Match with RegexOptions.IgnoreCase is used.
The [replace] feature works only for the [result] list. To make it work on a bank just query the bank with no filtering first. That will produce the [result] with the [bank] content. Tip: C# Regex.Replace is used. There is an example in the video below how to use it in simplest way.
+ Morph feature (in progress).
* Undo stack expanded to 15.

Now you can edit morphs value right from the new tab in the plugin UI! The plugin supplied with some short list of built-in morphs. But you can override default morph list with file:
[vam]\Custom\Scripts\Nickon\PoseHelper\MorphBanks.json
The file content is defined as follow:
JSON:
{
   "bank 1 name" : [
      "morph name 1",
      "morph name 2"
    ],
    "bank 2 name" : [
      "morph name 3",
      "morph name 4"
    ]
}

To disable this feature just put the above file with empty content.
The plugin generate new morph file list every time it applied on a person:
[vam]\Custom\Scripts\Nickon\PoseHelper\AllMorphs-[person_name].json
You can use this file to fill in your own MorphBanks.json

* body measurement mechanics slightly changed
* undo/redo bugfixes (still, expected to be bugged ;)
* limbs mirror ability now does not move target limb root point
* hips rotation now is independent from the torso* rotation (green)
+ chest/hips rotation value now rotates arms/legs root point (for some extent for chest rotation)
+ leg mirror now consider hip yaw (only)

Unfortunately, chest yaw rotation is discarded for arm roots points calculation, since this creates ambiguity for the reverse task.
* more undo/redo feature
* plugin disable/enable does full controllers read (undoable)
* limb mirroring now does hand/foot rotation based on direct angles
Back
Top Bottom