Legacy Avatar System

Classic Modular Avatars

Experimental - Customers are encouraged to test and use this feature in their experiences, but it may still require some additional support

Overview

This is a very basic Avatar that can be used for events. Features include:

  • Works at Morpheus scale, ~18K people in one event

  • Users can choose between random clothes and body combinations

  • Fully animated

Context

The Modular Character System allows characters to be built from modular pieces. All player characters should use this system, to enable players to bring their customisable avatar into an experience.

The system support a large number of Slots, of which any particular character type uses a subset (maybe ~10). For example Body, Head, Hat, Gloves.

A typical use would be to allow players to use their Player Profile NFT in game. An Profile NFTโ€™s metadata often describes a set of traits that directly correspond to a specific mesh in a specific slot (e.g. {Hat: TopHat, Shirt: Hawaiian} ).

In-Game Setup

Character meshes are grouped in Collections. A Collection is a set of assets that work together. Characters are assigned a collection and can then use a set of meshes from that collection.

The modular meshes are defined in Primary Data Assets. You can see some example assets here: /M2Content/PDAs/ModularCharacters

The naming of the directory structure is important. Assets must have a path of the form SomeRootPath/CollectionName/SlotName/AssetName. SomeRootPath can be any location inside your content directories.

The CollectionName is important, and is how you refer to this set of assets.

SlotName must be an entry from EJ_ModularCharacterSlot (see the list at the bottom of the page).

PDA Setup

Create a PDA for each modular component. Thereโ€™s no technical requirement on what the PDA assets are actually called, but the name will be how the components are referred to by other systems.

Currently the only required field in the PDA is the Mesh:

Create the set of PDAs for all of your components, in the appropriate directory for the slot.

There MUST be a mesh for the Body slot. Every character required a Body mesh.

Single-component Characters

Itโ€™s fine to have characters that only consist of a single mesh. Simply add your mesh as a Body PDA. The system will happily use this mesh alone.

Role setup

Character pawns are defined by the Role assets, and an Avatar Scheme Set.

Each row in your Roles data table can define an AvatarSchemeSet asset. You may need to enable this for the role if itโ€™s not already used:

It is this scheme set which determines which character to use. Set the name of the Collection you wish that character to use in the CollectionName field. This scheme set uses the default Andro single-component character:

Valid slot names

If youโ€™ve not got access to the code, the current valid slot names are:

Body,
Arms,
ArmL,
ArmR,
Legs,
LegL,
LegR,
Hands,
HandL,
HandR,
Shoulders,
Feet,
Lower,
Upper,
Shoes,
Head,
Neck,
Crown,
Jaw,
Face,
Eyes,
Glasses,
Ears,
Earring,
Hat,
Hair,
Mouth,
Lips,
Coat,
Wings,
Tail

Testing

There are a couple of test gyms for easy testing of your new characters. SkeletalCrowdTestGym_P will let you fly around and see thousands of characters playing random animations. SkeletalCrowdDynamicTestGym_P will let you run around, and the crowd of characters will copy your movements.

You can set up which collection to test on the crowd test actor like so:

Add your collection name as shown. You can add multiple collection names if you want to see a mix of characters.

Multiple options can be selected.

Last updated