Installation and configuration - Mustard2/MustardUI GitHub Wiki

This guide is for version 0.27.x or below

The new guide for version 0.30 is available at Developer Guide

Installation

These are the steps to be followed in order to correctly install the UI in your model.

Screenshot 2023-11-07 221630

  • click on the model armature and the following tab should appear (press N on viewport if tabs are not available)

Note: the MustardUI Configuration panel is shown only if a MustardUI wasn't defined on the model. Otherwise, if you enable the Developement Tools, the user MustardUI panel appears instead.

If this is the first time you are installing the UI, i.e. you are not updating it, follow the configuration guide, otherwise the UI will not appear to users.

MustardUI Naming Convention

Even if not strictly necessary, it is highly advised to use the MustardUI naming convention to set up the objects names and the outfit collections.

  • The single outfit should be in a collection named as model_name + ' ' + outfit_name, where the model_name variable is the Model Name you will need to set in the first steps of the Configuration. All the parts of the outfit should be put inside the collection and named as the collection with the addition of " ' - ' + outfit_part_name". The same name structure can be used for Armatures. For instance, if the model name is Honoka and the outfit name is School, the structure should be like

  • Similarly for the hair. Be careful about the Armature name which should not contain a '-'.

Note: If you choose to use MustardUI Naming Convention, it is extremely important to use it for all outfits collections objects (outfits and hair), otherwise the generated result from the configuration might be impredictable. Therefore, if you do not want to use it, remember to disable it in the Other section of the Configuration panel, since MustardUI Naming Convention is enabled by default.

Configuration

In this section we show all the possible settings of the configuration panel, which appears as in the image when all the sections are collapsed.

After the first configuration, you can open the Configuration mode going in the Settings panel, enabling the Maintenance mode and clicking on Configure UI.

General model settings

The first settings that should be set (they are compulsory) are

  • Name of the model: the name of the model, which will be used by the model for various tools. It is important to use the same name as the one considered in the MustardUI Naming Convention (see previous section) to rename collections and objects.
  • Model Body: the Object mesh used as body

In this section you can also find the Settings Smart Check tool. If MustardUI Name Convention is enabled, and you correctly defined the collections/outfits as explained in the section above, this tool will automatically scan the collections and the objects in order to quickly fill the settings. The tool can be run from the button in the figure.

Body Options

The panel is divided in three main sections:

  • the first is related to the Global options. All of them do not require additional configuration steps.
  • the second is needed to manage custom properties
  • the latter can be used to create/manage sections for custom properties

Custom properties

You can also add Custom Properties to the Body panel. To do so, remember to go in Configuration mode, and then right click on any Blender property and a menu like the following will appear.

There are a couple of functions:

  • Add to MustardUI (Un-sorted): adds the custom property to the body properties, but do not add it to any section
  • Add to outfits name: the custom property will be added to the specific outfit instead. This button has been added to simplify the addition of new properties to the single outfit pieces, and it will be available only when you select in Viewport an outfit piece that has been added to MustardUI (see below how to add outfits). More about outfits custom properties below
  • Add to MustardUI (Section): similar to Add to MustardUI (Un-sorted), but you will be asked to specify the section where to add the custom property. This button has been added to simplify the addition of custom properties to specific sections, and will appear only if a section has been already created. Note that you can always change the section of any property (see below)
  • Add to MustardUI Outfit/Hair: these two buttons are similar to the previous one, and you will be asked to specify the Hair or Outfit where to add the custom property
  • Link to Property: with this button you can link the selected property to a property that has already been added to MustardUI. This is useful to create only one button/slider in the UI which will be modify the custom property and all its linked properties. Obviously, you can link only properties with the same data type (e.g. you can not link COLOR properties with BOOLEAN properties)

Custom properties panel

After you add the custom property to the UI, you can modify their settings in the Configuration menu. The panel will look like

From this panel you can:

  • use the operator Custom Properties Smart Check (see next paragraph), which is the one with the looking glass icon
  • modify the order of the custom properties
  • delete custom properties
  • change its settings. Depending on the data type of the property, you can change min/max value, default value, description. Moreover, you can force the type of FLOAT properties to be INT or BOOLEAN. This might be useful for instance if you have a material node value (which is always FLOAT in Blender), but you want it to be a switcher of some effects (BOOLEAN), or the index for choosing a particular texture (INT), instead of a continous value slider. At the bottom you can also see the list of linked properties, which you can remove if needed.

Finally, you can enable:

  • show the icons in the UI (not advised if you use sections, because it can clutter the UI)
  • sort the properties by name instead of the order in the custom properties list

Custom Properties Smart Check

If you already set up your materials in 0.20, or you simply don't want to manually re-add each time all properties to the UI, you can use this operator to add in one click all properties you want from your materials/shape keys. In order for the operator to find the correct values to add to the UI, you should follow this convention in naming the nodes/shape keys:

  • if you want to add a shape key, rename it as "MustardUI Float - " + name of the property you want to show in the UI, if the property is float, or "MustardUI Bool - " + name of the property you want to show in the UI, if you want the property to be a Boolean value (a check in the UI).
  • if you want to add a slider or a check from any of the Body materials, add a Value node in the Node Editor of the material and rename it as "MustardUI Float - " + name of the property you want to show in the UI, if the property is float, or "MustardUI Bool - " + name of the property you want to show in the UI, if you want the property to be a Boolean value (a check in the UI).
  • if you want to add a color from any of the Body materials, you can also add a RGB node. In this case, rename it as "MustardUI - " + name of the property you want to show in the UI (therefore without any Bool/Float).

Sections

You can assign the additional properties loaded above with sections. Once created, you can sort them, modify their settings and assign the properties as in the figures below. Note that the section box will appear only if the number of additional body properties is > 0.

Each option can be assigned to only one section. If a property is not assigned to any section, they will be automatically listed as material or body (shape key) properties.

Outfit Options

In this section we have some General Settings:

  • Nude outfit: turn on/off the Nude "outfit" in the Outfits list, which can be useful for SFW models
  • Additional Outfit Options: as for the Body additional options, you can name shape-keys and specif nodes to make some options appear in the UI. This is a global switcher for Oufit additional options: if disabled no additional option will be shown in the UI.

The next part is the Outfit List. To add some outfits, just click on a Collection containing the outfit pieces and click on Add outfit. This will appear in the list as in the image.

MustardUI also support Mask modifiers on the Body mesh. Be sure to name your Mask modifiers with something that contain the outfit full object name.

Additional properties

Analogously to the Body section, you can add additional properties right-clicking on any Blender property. See Body custom properties for the options in the menu that appears when right clicking.

Note that you can add custom properties to the single outfit pieces, but also as global options of the outfit. For the latter, the custom property will appear on top of all outfit pieces in the Outfit panel of the UI.

After adding the custom properties, a panel will appear.

The options are similar to the body panel (see above), with the exception of the possibility to select the outfit in the settings, if needed.

Extras

Finally, you can specify an Extras collection, which will be a collection of objects in the UI not affected by the choice of the Outfit.

Note: the same procedure for additional options can be applied also to the Extras objects.

Hair Options

In this section you can specify the Hair collection, where you should place all hair mesh (and eventually their armatures). The only constraint is to call the hair Armature with the same name as the hair object associated + " Armature" (with the space!). If more than one mesh-armature pair is specified, a list of Hair will be shown in the UI.

Note: it is not necessary to have an Armature for each mesh object.

Note: the same procedure for additional options can be applied also to the Hair objects. If custom properties are added, a panel similar to the body and outfit ones will appear in the Hair configuration panel, to tweak the single custom properties settings.

In case you have particle hair, you can also enable the Particle Hair list, which will appear on the UI in the Outfit & Hair section.

Armature Options

In this section you can create an Armature layer panel, where the user can show/hide amrature layers directly within an UI panel. To enable this, fistly click on Create Armature Panel, which will initialize the Armature panel settings. At the top of this section you can also enable the Armature Hair detection, which will automatically find Armatures for the hair and show/hide them with a button in the Armature panel.

Note: if you have an ARP model and you used the Settings Smart Check tool, the panel might have been already created with default ARP layers.

The set-up consists in selecting the layers we want to see in the UI from the layer panel. When you click on them, a new object will appear as in the figure. Here you can configure:

  • Name: name of the layer which will be shown in the UI
  • Advanced: if you want the layer to be shown only when the user asks for Advanced options, check this
  • Outfit Switcher: this option will enable automatic show/hide of layers depending on the visibility of the outfit piece selected. Note that if you only select a Collection, and the Object field is left void, the layer will be shown/hidden when accordingly to the collection visibility. If you select this option, the name and the advanced options will be disabled, as these layers will not be shown in the UI Armature panel.

The result will be similar to this. Note that the Outfit layers are hidden by default, since they are automatically shown/hidden.

Physics Options

In this section you can add your cloth physics (cage-based with Mesh Deform modifier), providing an intuitive UI panel for your users. At the moment (version 0.20.1) the cage can only drive physics on the Body, not on other objects (such as the Hair).

The section has the following parts:

  • Clean Physics Panel tool, to remove all the previously added physics objects from the panel
  • Add Item panel. Here you should select the cage (that should be parented to the model), and if you want the MustardUI definitions (instead of showing all cloth simulation properties, some new more user friendly definitions are shown in the Physics panel of the UI). Moreover it is compulsory to provide a Pin group, a vertex group of the selected cage that won't be simulated (if you don't want to pin it, just create a void pin group). Finally you can provide a Bending Stiffness vertex group. Once you hit Add Item, the UI will automatically add the Mesh Deform modifier to the Body and Outfits, bind it and create the cloth physics on the cage. This process might require seconds to minutes, depending on your CPU and the number of outfits.
  • In the Items list, you can find the added items. The settings can not be changed, thus you will have to remove the item with the X and re-add it if you want to change the settings.

Tools Options

In this section you can enable different tools that might be useful for the users. These are:

  • Child Of: selecting two bones, with this tool you can quickly create a Child Of modifier between the two (with Inverse transform applied).
  • Lips Shrinkwrap: using this tool you can quickly apply the Shrinkwrap modifier to all lips bones, in order to automatically move them as they hit an Object that can be specified in the tool. Note that at the moment it is only available for Auto-Rig Pro models. If enabled, you will be asked to provide the Armature Object: just select the armature object you are currently using on the model.
  • Lattice: once activated, you should provide a Lattice cage. With the tool you can quicky create body shapes modifying the Lattice cage, which will affect all the Object, i.e. the body and the outfits. Moreover, two tools are available: Lattice Setup and Lattice Clean. With the first you can quickly add a Lattice modifier, using the Lattice cage you specified above, on the body mesh and all outfit pieces. These modifiers will be placed at the first place in the modifier list of every object. The Lattice Clean is to delete the modifiers created with Lattice Setup in the case you want to delete the Lattice tool.

Links Options

In this section you can add your social network links that will be shown in the Links tab in the UI. All these fields are optional: if left void, nothing will be added.

Diffeomorphic Support

If you have the addon Diffeomorphic enabled, and your model is Daz based, you might want to include some morphs from Diffeomorphic on MustardUI. You can find this tool in the Others section.

Once enabled, you can select which kind of Morphs you would like to see on the UI. Some default morphs are automatically checked, but you can add new morphs writing their initials on the Custom Morphs. Create them separated by commas, and remember that spaces are considered. If you write "A, B", it will search for properties which contain "A" and " B" (note the space): therefore if you want to search for "A" and "B" (without space), write "A,B".

After that remember to Check Morphs. This will search for available morphs, and show the number of morphs found.

Finally note that an External Morphs enable/disable button will be added near the name of the new tab. This disables all body drivers. To prevent some drivers to be disabled, insert the string MustardUINotDisable in the shape key name.

Note on models made with Diffeomorphic 1.5.x

To make this models work with Diffeomorphic 1.6.1, you need to provide the daz_morphs.py script (in this repository is available in the external_morphs folder, and can be downloaded using the green Code button in the main page). In order to do this, import this script in your Blender file, and register the script in the 1.5 Support Script field. This is not needed if the models have been made with 1.6 or above versions.

Others Options

The available options are:

  • MustardUI Naming Convention: see section above about this convention
  • Model Version: if you use a versioning system for your models, you can enter here the version of the model. This will be shown in the Settings tab of the UI. If left void, no version will be shown in the UI.

End of the Configuration

At the end of the Configuration tool, there is the button to end the configuration and generate the MustardUI.

  • If you left something important, some erros will appear and the MustardUI will not be generated until you solve them. Check the error message to correct io.
  • If something was not correctly set, but did not prevent the generation of MustardUI, a warning message will appear. You can check these warnings enabling the Debug mode in the MustardIU Setting Panel or above the End of the Configuration button, and looking at the results in the Console window.
  • If everything was fine, a simple Info message will appear.
  • As last step, if you want the UI to be available every time you Append the model, enable Maintenance Mode and click on Register UI.

Note: in the Settings panel of the MustardUI, if the Maintenance tool setting is enabled, you can always go back to the Configuration panel to change your settings.

Final operations/what to provide to users

Once the UI is successfully create, just share your model and let the users install the MustardUI add-on giving them the link to the Latest Release page.