Actor Customization


1 Framework Design


We want to design an universal actor customization system, which is not only for character, but also for other actor (e.g. weapon and vehicle).

The basic blueprint is given below.

  • /Game/USGT/Framework/Customizer/BP_ActorCustomizer_USG

For different types of customization, we can create the child blueprint of this class to implement different logic.

For character customization, we create the following blueprint.

  • /Game/USGT/Framework/Customizer/BP_CharacterCustomizer_USG

The character customization module is similar to another plugin:

The difference is that we make it as a compact blueprint-only system without the preivew feature in the above plugin.

Mainly including two parts:

  • Modular character customization.

  • Mesh retargeting.


2 Program Design


The character customization system is activated by the component:

  • /Game/USGT/Framework/Customizer/BP_CharacterCustomizer_USG

Notice that the a modular character is compose of multiple mesh parts and we use different slots to index these parts. One unique slot is corresponding to one modular part and this part can be skeletal mesh or static mesh.

For the modular character, the key points are given below.

  • Select the leader pose component (should be a skinned mesh component).

  • Assign the leader pose component for other skeletal mesh component and attach other skeletal mesh component to the leader pose component.

leaderpose

  • All skeletal meshes should share one skeletal asset. Otherwise, the animation will not be working.

  • For static meshes, we directly attach it to the skeletal by socket name.

The key properties are given below.

  • RetargetMesh: If you need to retarget mesh, fill the new mesh for this parameter.

  • RetargetAnimClass: Retargeting animation class.

  • RetargetMeshTransform: Relative transform of the new mesh.

  • LeaderPoseSlot: The leader pose slot of the modular character.

  • DefaultModularParts: Config the default modular parts for the character.

  • ModularMeshParts: Replicated modular mesh parts data.

Config the character component as follow.


charsetup


3 Development Flow


See “The Usage of Character Customization”.