Wearable

The building blocks for the Modular Character System.

A Wearable asset holds all of the data and reference for each of the modular pieces and parts that make up a character. Essentially, in addition to providing contextual information, such as slot type and name, the asset holds a reference to the physical mesh and materials available for a given item. Wearables are indexed by type and their category index matches the slot index in a Wearable Set array.

There are three different types of Wearable asset. Each type is treated differently by the Wearable System and as such, contains different data and references:

Wearable Types

Wearable Clothing

There are 11 potential clothing slots, consisting of: head, shoulders, earwear, eyewear, neck, wrists, hands, chest, waist, legs, and feet. Of these, the chest, hands, legs, and feet are considered mandatory, which means the system will not allow you to remove them completely. If you remove an item equipped in one of these slots, it will be replaced with a default item.

Wearable clothing differs from other Wearables in a few ways. For one, it may contain more than one material if there are areas where skin is showing. Additionally, it may utilize variants, which we will discuss later. It’s also the only type of Wearable which may adjust the character’s height since feet can be set to accommodate both flat and angled shoes.

Wearable Cosmetic

Wearable Cosmetics encompass parts that are not clothing. This includes: hair, faces, and adornments. Of these, and like the chest, hands, legs and feet, the face is a mandatory slot. It can not be removed without being replaced with a default item.

Wearable Cosmetics differ from other wearable items in a few ways. Faces, for instance, contain three materials: the skin, eyes, and eyebrows. As such, they need to be treated a certain way when instantiated. Hair, as another example, often contains custom bones, which means the rig needs to be updated before it is added.

Wearable Attachment

Wearable Attachments are props that can be held in either hand. As they do not use a skinned mesh renderer (at least, not normally), they are equipped differently than Wearable Clothing and Wearable Cosmetics. Instead of rigging them to the armature, they are parented to a hand transform. For this reason, Wearable Attachments allow for positioning, rotational and scale information to be set when they are instantiated.

Variant

A Variant, as the name suggests, is a variation of an existing Wearable that can be automatically swapped in when necessary. For example, if a high-waisted pair of pants is equipped, the existing shirt can be swapped to a “tucked in” variation. The System will automatically swap variants in and out as needed.

Slot Indices

There are 17 slots total. The slot index is referenced by each Wearable so the Modular Character System knows where to put it:

0

CHEST

1

LEGS

2

HANDS

3

FEET

4

FACE

5

HAIR

6

BACK

7

EARWEAR

8

EYEWEAR

9

HEAD

10

NECK

11

SHOULDER

12

WAIST

13

WRIST

14

LEFT HAND

15

RIGHT HAND

16

ADORNMENT

Creating a Wearable Asset

Wearables can be created by right-clicking in a folder and navigating to Create > Modular Character System > Wearables > (Wearable Type).

All Wearables have the following Parameters:

Category

The slot the Wearable is meant for. This corresponds to the slot index.

Item Name

The name of the Wearable.

Item Description

An optional short description for the Wearable.

Item/Alt Icon

An optional icon and hover icon for the Wearable.

Linked Mesh

The actual mesh for this Wearable.

Status

Defines whether this Wearable is an original or variant (this field is not included in Wearable attachment assets.

Item Materials

The available materials for the Wearable.

Wearable Clothing and Wearable Cosmetics contain additional fields to further define material indices and variant links.

Material Fields:

Uses Wearable Material?

Clothing only: If true, the Wearable uses a material for the wearable. (This will be false if a Wearable is unclothed and uses the skin material only).

Uses Skin Material?

Clothing only: If true, the Wearable uses a skin material. (This will be false if the Wearable does not show any skin).

Eye Index

Faces only: The sharedMaterial index for the eye material on the linked mesh.

Eyebrow Index

Faces only: The sharedMaterial index for the eyebrow material on the linked mesh.

Face Index

Faces only: The sharedMaterial index for the face material on the linked mesh.

Variant Data Fields:

Variants are available for clothing and cosmetics to increase compatibility between slots to each other. If you specify that a Wearable requires, or has, a variant, you will be able to further define the link between the assets.

Requires Variant

If true, the Wearable requires a variant

Required Type

Specifies which slot this Wearable requires a variant in

Has Variant

If true, this Wearable has a variant available

Linked Variant

The Variant asset which contains the references to be swapped in for the specified slot (should it require a variant)

Variant Type

If the Wearable has a variant, this is the category of Wearable the variant is for

Custom Bone Fields: If a Wearable Cosmetic (such as hair) contains bones, you must specify the rig and transforms for it. As such, Wearable Cosmetics have fields to do so.

Custom Bones?

If true, this Wearable contains custom bones

Custom Armature

The full armature for this item

Top Bone Name

The name of the top bone. This is where the bones will be split from the existing armature and added to the character's rig.

Bone Position/Rotation

These are the transform values for the top bone when it is added to the character rig

Capture Bone References

If you select the top bone in scene, you can click this button to automatically populate the previous transform values.

Variant

When you create a variant asset, you only need to worry about two fields:

Linked Mesh

The mesh for variant

Linked Original

The original Wearable asset that this variant is for

Remember to assign this variant asset to the original Wearable's "Linked Variant" field.

Last updated