Course Content
Getting the Latest version
0/2
Generic Single Body Character
0/1
POLYGON Modular Fantasy Hero Characters
This is the base install for the Modular system and is what is supported out of the box. In order to use the Synty Modular system you will need to grab this character. 
0/5
Character Creation API
0/2
Skinned Mesh Support
0/1
Troubleshooting
0/1
Modular Addons
0/1
Examples
Atavism Modular Customization

Modular Character Customization System

Atavism Edition 0.7.4.7

Created by TheVisad @ HNGamers

This install is obsolete and just here for the history of the documentation. Users may always use this version of they are on an older version of Atavism prior to X.5.

 

Modular Downloads

https://www.dropbox.com/sh/fo0ph57lhpo3a94/AABbeAD2SVwplUZ2Ck_NXSFya?dl=0

 

Introduction

Welcome to the Atavism Modular Character Customisation designed to handle all of your modular character requirements. This document will attempt to highlight some of the features of the system. This system should support any modular system out there with a few simple steps.

 

This document is a WIP!

 

License

Attribution-NoDerivs CC BY-ND

https://creativecommons.org/licenses/by-nd/4.0/legalcode

https://creativecommons.org/licenses/by-nd/4.0/

 

In addition to the above license which allows Commercial use, the Commons Clause is also applied. 

https://commonsclause.com/

 

Unless otherwise specified all software, guides and fall under these licenses.

Document History 

Date Revision Author
10/18/2020 Original Release TheVisad
10/27/2020 Synty Characters TheVisad
10/29/2020 Various Updates TheVisad
01/08/2021 Added Color Selector TheVisad
01/12/2021 Modular-Modular? TheVisad
3/29/20201 Massive Cleanup TheVisad

 

Video Guides

https://www.youtube.com/watch?v=L4GnkJb-NZI

 

Supported Features

  • Skinned mesh character swapping
  • Storing and retrieving character Blendshapes
  • Storing and retrieving character color schemes at creation
  • Storing and retrieving equipment color schemes at creation
  • Replacing the shaders and materials on the models at runtime
  • Utilizing internal or external models for character customization
  • Supports head, torso, upper, lower arm and legs, hip and hand model swapping
  • Stores and sets color defaults to the characters
  • Modular swapping of Modular characters

Character’s currently supported

  • Synty Modular Character 
  • Polytope Modular Character
  • Meshtint Modular Character
  • The Girls Modular Character
  • Synty characters – the entire line as selectable options
  • Infinity PBR blend shape characters
  • More

 

Menu System 

Starting in 0.6.2 a new menu system was added to facilitate the import and access to all addons for the system. 

 

Welcome Page 

Welcome Page

  The welcome page has a few options to support the addon, access the dropbox files directly, and other information.

Add-Ons Page

Addons Page

This page provides all of the addons that are specifically for the modular system. These addons extend the functionality and provide IK handling, Infinity PBR support, a new offset system to handle your prefabs. 

Integrations Page

Integrations Page

This page shows all of the various integrations from other content creators, clicking the import Atavism Prefabs button with download and import the prefabs for that particular model set. 

Tutorials Page

Menu Welcome page

This page contains the various information about the addon itself, how to use the various parts and functionality. These go directly to the documents themselves for quick access.

Setup Page

Setup page

This is a list of all known atavism Wiki and tutorials made by Atavism, other members and myself. This is for quick access to all of the items as needed. 

 

Character Selection Scene 

Empty Color Picker

Starting with 0.4.4 there are multiple character selection screens provided for the individual characters. This process will document the requirements to set up your own scene. Once you install the add on the following will be added for the color system. It is not needed to fill out unless you want to be able to change the color. It will look like this upon import. 

The color picker prefab is located here and can be dragged into the scene to create a new color picker object. 

The color picker is predefined with the settings needed for changing the colors on the body parts. 

 

We can now go back to the first screen and fill out the items we pulled in from the color pickers. Drag the color picker into the proper location. 

Once completed the color picker will look like this. 

Customizer

 The easiest way to get started with the character options is to pull in the customizer prefab which can be located at path Assets/HNGamers/ModularCustomizationSystem/Prefabs/Customizer.prefab. and enabling or disabling the button as needed. 

 

 

You can also create a new button.

 

Character setup

 

Character Slots

 

 

None

This is the slot for all Modular armor items that do not conform to the below items. If you choose a slot and it has unexpected results on your model (items are disabled that should not be), then use the None slot. 

 

MainHand/MainHand2

The Active Hand in use, using this slot will disable the hands displayed and replace them with the model from the equipment display. 

 

Chest

The Active Chest item in use, using this slot will disable the chest or torso that is displayed and replace them with the model from the equipment display. 

 

LeftShoulder/RightShoulder

The Active Upper Arms Right or Left inuse, using this slot will disable the Upper arms  that are displayed and replace them with the model from the equipment display. 

 

LeftElbow/RightElbow

The Lower Arms Right or Left in use, using this slot will disable the lower arm items that are displayed and replace them with the model from the equipment display. 

 

Head

The Active Head in use, using this slot will disable the head item displayed and replace it with the model from the equipment display. 

 

HeadCoverings

The Active Head covering in use, using this slot will disable the crown/helmet/horns/ears displayed and replace them with the model from the equipment display. 

 

Pelvis

The Active Hips in use, using this slot will disable the hip item that is displayed and replace them with the model from the equipment display. 

 

LeftKnee/RightKnee

The Active Shoulder Knee or Left in use, using this slot will disable the knee items that are displayed and replace them with the model from the equipment display. 

 

LeftFoot/RightFoot

The Active Foot Right or Left  in use, using this slot will disable the feet items that are displayed and replace them with the model from the equipment display. 

 

Standard Setup

 

To setup the character shaders properly, open your prefab and select the body. If you have a separate head, select this as well. Record the location of the materials and what shaders they use. 

 

Add the materials and selected shaders for the various parts to properly configure the color system. 

Modular Swapping 

As of 0.5.1 the system supports Modular Swapping with a new system. You will need to create several new replacement items for this purpose. 

You can see with this model we have duplicated an existing torso, head, legs, arms and hips within the models prefab. In this image we have selected the torso replacement item and it is highlighted. All of these items should be disabled in the scene hierarchy, the script will handle enabling them. 

 

Drag this onto the appropriate replacement locations inside of the Modular script on your prefab, there are several new sections to add. Only add the specific items you wish to replace for this purpose. 

Now set up your character like normal; however, we add in one additional field. We will drag in a replacement item for each modular swap we want to do. Create a new one by right clicking on your project, Create -> HNGamers -> ModularReplacementItem

Once created, drag the prefab you want to swap into the full body replacement slot. In this example we are using character 2a. We have collected part names from inside the prefab that we want to swap to, and placed that in the proper swap location on the ModularReplacementItem. 

We drag these items that are created into the Replacement Item holder. 

Toon City People

As of 0.5.1 Toon City people are supported along with Modular swapping of the models at runtime. Follow the Modular Swapping setup to start using these models today. This model set is a modular character set, with multiple different modular characters. You can use the modular system to create a super character that contains several of these models and swap between them.

 

You can use the standard Modular setup for these characters or a super character containing several. 

 

See the prefab located at Assets/HNGamers/ModularCustomizationSystem/Resources/TCP_Female_Character_01 Variant.prefab for an example of how to use this.  

 

Modular Modular setup 

 

NHance

 

nHance Studio Modular Stylized Snake Assassin Hero

 

 

This is an example of a customer’s setup and how the system can be utilized for any modular system. We do not provide this prefab for usage. 

 

Modular Stylized Snake Assassin Hero setup

Internal Hair

Single Material with Standard Shader 

Individual Torso’s for various colors

Directly setting the skin colors

Default parts set to prefab model parts

 

Download the support file 

https://drive.google.com/file/d/1JJEb7DjZe0h81mldSsyaE-piuqQIOhnl/view?usp=sharing

 

Add in the following scripting define

POLYGON – Modular Fantasy Hero Characters 

This is the base install for the Modular system and is what is supported out of the box. In order to use the Synty Modular system you will need to grab this character. 

 

Character Configuration

 

Video Guide

https://youtu.be/T8YzH5khcBM

 

Atavism Character Setup

https://unity.wiki.atavismonline.com/project/character-model-race-and-class/

 

Color System

Hair and Beard Models

Configured Prefab

Synty characters

Character Configuration

Drag your new character prefab into your scene to begin the process of preparing your prefab In this example we will use the new Synty Polygon Kids from the asset store. We show examples here from two of the Synty Lineups. Any of the Synty character sets other than the Modular Character will use this same process. Any characters similar to Synty that are not specifically called out, should use this same process. 

 

Atavism Character Setup

https://unity.wiki.atavismonline.com/project/character-model-race-and-class/

 

POLYGON – Kids Pack

 

POLYGON – City Characters

Add a modular Customization manager script to the object 

 

If you have multiple prefabs Open the prefab so you can see the objects, select the first character object in the model Duplicate it and call it the Replacement item, then disable it in the hierarchy. Drag this into the replacement item field on the Modular System. 

 

Click the lock, select all the male body objects in the prefab and drag them into the torso slot. Repeat this process for the female prefab items.

 

Navigate to Assets/HNGamers/ModularCustomizationSystem/CharacterCreateObjects, select one of the items, duplicate and rename it to SyntyKids. 

 

Select one of the objects in the prefab that has the materials for the models. Drag this material into the body material, and then select the shader that the material uses. 

 

This completes the base install, finalizing your configuration of the character by following this tutorial. https://unity.wiki.atavismonline.com/project/character-model-race-and-class/

 

Color System

Not active in this 

Hair and Beard Models

Configured Prefab

You will find a completed prefab for the Synty Kids here. Assets/HNGamers/ModularCustomizationSystem/Resources/SM_Chr_Kid_Adventure_01 Variant.prefab

Polytope Lowpoly Medieval Modular Armors

We support this character and all models in the system. 

 

Video Guide

https://youtu.be/AS_2RHgvZ20

 

Atavism Character Setup

https://unity.wiki.atavismonline.com/project/character-model-race-and-class/

 

    Character Configuration

 

Drag the original prefabs into the scene for the Polytope characters.

 

Select all of the items in one of the models except the Hips, the naked parts and whichever head is your default head. 

 

Disable these objects on your prefab item. 

 

Color System

 

The color system is supported for the Polytope models through the custom shader that is provided. It will function the same as the Synty and other color systems. 

Hair and Beard Models

 

Configured Prefab

A configured prefab is provided for both male and female for the Polytope Characters located at 

Assets/HNGamers/ModularCustomizationSystem/Resources/PT_Medieval_Female_Armors_Modular Variant.prefab

 

and

 

Assets/HNGamers/ModularCustomizationSystem/Resources/PT_Medieval_Male_Armors_Modular Variant.prefab

Meshtint Polygonal Fantasy Pack

Character Configuration

Color System

Hair and Beard Models

Configured Prefab

The Girls Modular Character

The Pretty Girls 

Character Configuration

Color System

Hair and Beard Models

Configured Prefab

 

Infinity PBR characters

Infinity Human Character

 

 

Character Pack: Half-Orc, Human, Elf, Male & Female

 

The functionality supported for Infinity PBR models is as follows. 

Character Configuration

In order to support Infinity PBR blend shapes you will need an optional addon AtavisimInfinityPBRIntegration located in the channel. Once imported you will find all the scripts located at Assets/HNGamers/AtavisimInfinityPBRIntegration 

 

Infinity PBR Integration

Pull a prefab into the scene and add an Infinity PBR integration script to your prefab. 

 

Drag the prefab into the SFB_BlendshapesManager to automatically fill it out. Do not modify any additional settings, they will be automatically filled out. 

 

In order to activate the blend shape functionality, checkmark the option for Enable Saving Infinity PBR Blendshapes.As above, drag the prefab onto the Infinity PBR integration slot to auto fill it out. 

Materials and Shaders

 

Add the original shader to the body, head and hair, the eye is optional and non functional at this point for a future version. 

 

Color System

Hair and skin color is modified by directly interacting with the shader. If you want to enable color modification check these boxes and ensure Completely Disable Color modification is disabled. 

 

Enable Beard for Color 2 

This option allows you to use the beard for the secondary color in the hair. 

If you want to allow different beard or hair colors, check mark this option

 

Hair and Beard Models

 

Internal Models

We are using the modular characters, with the hair inside the prefab. Please check mark this option so that the hair is loaded properly. 

 

Hair Transforms

Each character will be slightly different, this only matters if you are using external hair.

 

Configured Prefab

A properly configured character would look similar to this, these would be the minimal scripts required to support the functionality. 

 

Character Creation API

 

In order to access the API system, you will need to drag the CharacterSelectCreate onto the OnClick action for your button or handle the function in code. In this example, we have dragged the CharacterSelectCreate scene object into the location and then selected the SwitchHair function from the drop down. 

 

public void SwitchHair()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchHairBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchBeard()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchBeardBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchEyebrow()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchEyebrowBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchEye()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchEyeBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchMouth()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchMouthBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchEar()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchEarBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchTusk()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchTuskBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchSkinColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchHairColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchBodyArtColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchEyeColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchPrimaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchSecondaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchMetalPrimaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchMetalSecondaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchMetalDarkColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchLeatherPrimaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchLeatherSecondaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchLeatherTertiaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchTertiaryColortoColor(Color32 color, AtavismColorPicker atavismColorPicker)

Accepts a Color32 value to switch the existing character item to the selected color. Requires a color picker object in the scene to provide this. 

 

public void SwitchSkinScarColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchStubbleColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchBeardColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchEyebrowColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchMouthColortoColor(Color32 color)

Accepts a Color32 value to switch the existing character item to the selected color. 

 

public void SwitchHands()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchLowerArms()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchUpperArms()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchTorsoForward()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchTorso()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchTorsoBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchHips()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchLowerLegs()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchFeet()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SetBlendShapes()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchBlendshapePreset()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchFace()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchFaceForward()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchFaceBack()

Cycles through all of the objects in the list that correspond to this function. 

 

public void SwitchHead()

Cycles through all of the objects in the list that correspond to this function. 

 

Shader – Color Syste

 

Introduction

 

The addon comes with several shaders to try and handle some of your color requirements. This is supported on several characters and is outlined here. The shaders were developed with the idea that they should all support the same functionality. The inspiration came from the Synty and the Polytope characters, so we use the name styles they chose. The exposed names for the colors which can be used are as follows. We currently support coloring the Polytope, MeshTint and Synty modular characters with these shaders. If you need a shader for your custom character, let us know. 

 

Color_Primary

Color_Secondary

Color_Tertiary

Color_Metal_Primary

Color_Metal_Secondary

Color_Metal_Dark

Color_Leather_Primary

Color_Leather_Secondary

Color_Leather_Tertiary

 

Maya

Select the uv editor and the objects in the scene, choose image and UV Snapshot and save this out to a file 

 

load this into your photo editor so you can see your mask against your texture

 

Create a RGBA toned image or black and white image of the shapes

in your shader connect the mask to a lerp component, passing your original texture through the mask.

 

Troubleshooting 

The character select screen displays an old prefab or different prefab then the character creation screen. 

This is an issue due to the way Atavism loads the prefabs from the directory. It looks for and loads the first named object out of the Resources folder. If there are multiple prefabs with the same name in Resources folders then you may experience this issue. Due to the way Synty prefabs are done 

Thanks

 

Thanks to Martin from Atavism, without his support and desire to have the best product we wouldn’t be here today. Thanks to all the Atavism users who use this! 

 

Support

 

Reach out to us in the support channel in Atavism for further assistance. 

https://discord.gg/cQxCKY9

 

ChangeLog

6/10/2021 – 0.7.4.4

Correction to the hair disable system

Added in race prefab selection by gender

 

6/08/2021 – 0.7.4.3

Correction to Lower and Upper arms

Small Fixes

 

6/4/2021 – 0.7.4.2

URP Shader for Polytope

 

5/28/2021 – 0.7.4.1 

Small fixes missed

Updated Menu system to download files from the repo

Removed Unity Packages from the modular system

Correction to Lower and Upper arms

 

5/28/2021 – 0.7.4

 

5/26/2021 – 0.7.3 

Menu system update

Correction to Lower and Upper arms

Documentation changes

URP Shader for Synty

 

 

5/26/2021 – 0.7.2

 

5/23/2021 – 0.7.1  

Corrections to the new material changers

 

5/18/2021 – 0.7.0 

Added eye, skin, and hair material swapping for the character selection screen. 

 

5/10/2021 – 0.6.91 

Small fixes missed

 

5/9/2021 – 0.6.9 

 

4/20/2021 – 0.6.6 

 

4/20/2021 – 0.6.5 

 

4/13/2021 – 0.6.4

 

4/12/2021 – 0.6.3

 

3/29/2021 – 0.6.2 

Small fixes missed

 

3/29/2021 – 0.6.1

Cleaned up all folders and created packages for each import – Resides under ModularCustomizationSystem\_Customizer_Install_Files now. 

Add in Feet Objects

Add in Help Documentation

Ui Cleanup