[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).
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.