Skip to content
Character Appearance and Dressing Up

Character Appearance and Dressing Up

It takes about 40 minutes to read this article

This article outlines the character appearance classification, how to change each appearance, and how to use code to dynamically modify the character appearance.

Character Appearance Introduction

  • Currently, character appearance are divided into three categories based on appearance and function: [Basic humanoid appearance(HumanoidV1)] / [Advanced humanoid appearance(HumanoidV2)] / [Multi-legged appearance(Four-Foot Standard)]

    • [Basic humanoid appearance]: This is the overall appearance of the humanoid. It can only switch the overall appearance effect, but cannot switch parts. However, its performance is relatively good and can be applied to NPCs and monsters that are used in large quantities.
    • [Advanced Humanoid appearance]: It is a more complete humanoid appearance, which can change the character's clothing (tops, pants, gloves, shoes), as well as facial effects (front hair, back hair, pupil, eyebrows, eyelashes, skin tone) and other effects. It is mainly used on player characters and NPCs that focus on appearance effects, and should not be used in large numbers on the same screen.
    • [Multi-legged appearance]: It is an overall non-human appearance. Currently, multiple sets of asset have been provided, including: cat, dog, chicken, cow, dragon, and duck. We will continue to expand appearance requirements in the future. The functions of this type are the same as the basic humanoid appearance. It can only modify the overall appearance and cannot switch parts. Mainly used in pets and mounts.

Character Dressing Method

  • There are three ways to change character appearance: [Changing appearance in the character properties panel], [Changing appearance in the character appearance editor], and [Dynamic changing appearance through the API].
  • [Change the appearance of the character in the character properties panel]: The main application scene is to quickly modify the appearance of the character appearance after instantiating NPCs and monsters. For detailed operation description, please see: Character Basic Ability
  • [character appearance editor]: The character appearance editor is a tool for modify [advanced humanoid appearance]. It is mainly used to modify more detailed appearance effects (including: facial features, clothing patterns, body size, etc.), as well as preset character appearance data to facilitate the subsequent use of API to dynamically call appearance data, etc. For detailed description, please see: character Editing Tool
  • [Dynamic dressing via API]: Using API for dynamic dressing is a common effect and method in game development. The detailed description is given below.

Basic humanoid appearance change/multi-legged appearance change

[Basic Humanoid appearance] and [Multi-legged appearance] have the same functions, both of which can only change the overall appearance. The specific operations are as follows.

Basic humanoid appearance change

First we need to find the Asset ID that needs to be replaced.

image-20240827135733612

Find the Basic Humanoid appearance in the Character, Basic Humanoid list in the Local asset library .

Then select an asset that you like, right-click the asset object, and a list will pop up.

Select [copy Asset ID] in the pop-up list.

Then start writing the following script . Note that you need to replace the Asset ID you just copy and then mount the script into the scene.

ts
@Component
export default class NewScript extends Script {

    /** When the script is instantiated, this function will be call before the first frame is update */
    protected onStart(): void {
        //Get the Player character
        let chara = Player.localPlayer.character
        // press the "1" key to trigger the following logic
        InputUtil.onKeyDown(Keys.One, () => {
            //Set the asset ID of V1 Appearance, replace the Asset ID you just copy here
            chara.description.base.wholeBody = "146035"
        });
        // press the "2" key to trigger the following logic
        InputUtil.onKeyDown(Keys.Two, () => {
            //Set the asset ID of V1 Appearance, replace the Asset ID you just copy here
            chara.description.base.wholeBody = "151006"
        });
        // press the "3" key to trigger the following logic
        InputUtil.onKeyDown(Keys.Three, () => {
            //Set the asset ID of V1 Appearance, replace the Asset ID you just copy here
            chara.description.base.wholeBody = "156952"
        });

    }
}
@Component
export default class NewScript extends Script {

    /** When the script is instantiated, this function will be call before the first frame is update */
    protected onStart(): void {
        //Get the Player character
        let chara = Player.localPlayer.character
        // press the "1" key to trigger the following logic
        InputUtil.onKeyDown(Keys.One, () => {
            //Set the asset ID of V1 Appearance, replace the Asset ID you just copy here
            chara.description.base.wholeBody = "146035"
        });
        // press the "2" key to trigger the following logic
        InputUtil.onKeyDown(Keys.Two, () => {
            //Set the asset ID of V1 Appearance, replace the Asset ID you just copy here
            chara.description.base.wholeBody = "151006"
        });
        // press the "3" key to trigger the following logic
        InputUtil.onKeyDown(Keys.Three, () => {
            //Set the asset ID of V1 Appearance, replace the Asset ID you just copy here
            chara.description.base.wholeBody = "156952"
        });

    }
}

Multi-legged appearance change

image-20240827135835643

Find the Multi-Foot Figure in the Character list in the Local asset library .

Then select an asset that you like, right-click the asset object, and a list will pop up.

Select [copy Asset ID] in the pop-up list.

Then modify the Asset ID in the same way as the sample script of [Basic Humanoid appearance ].

Notes: - If a shake condition occurs in the multi-legged appearance while the game is running, it is due to the fact that the client modifies the appearance and does not synchronise it to the server, resulting in an inconsistency in the size of the capsule body between the client and the server, and thus pulling. You just need to add the syncDescription() function to sync.

ts
// press the "1" key to trigger the following logic
InputUtil.onKeyDown(Keys.One, () => {
    //Set the asset ID of the multi-foot appearance, replace the Asset ID you just copy here
    chara.description.base.wholeBody = "159610"
    // sync appearance data to the server
    chara.syncDescription();
});
// press the "1" key to trigger the following logic
InputUtil.onKeyDown(Keys.One, () => {
    //Set the asset ID of the multi-foot appearance, replace the Asset ID you just copy here
    chara.description.base.wholeBody = "159610"
    // sync appearance data to the server
    chara.syncDescription();
});
  • The multi-legged appearance has no animation function by default , and animation needs to be added actively.

Advanced Humanoid Appearance Change

image-20240827140013035

Switching to an advanced humanoid appearance is the same as the operation in the character appearance editor . You need to switch the character effect in the character settings first.

Sample script:

ts
// press the "1" key to trigger the following logic
InputUtil.onKeyDown(Keys.One, () => {
    //Switch to advanced humanoid appearance: anime adult female
    chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.AnimeFemale;
});
// press the "2" key to trigger the following logic
InputUtil.onKeyDown(Keys.Two, () => {
     //Switch to advanced humanoid appearance: anime adult male
     chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.AnimeMale;
});
// press the "3" key to trigger the following logic
InputUtil.onKeyDown(Keys.Three, () => {
     //Switch to advanced humanoid appearance: American cartoon female
     chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.CartoonyFemale;
});
// press the "4" key to trigger the following logic
InputUtil.onKeyDown(Keys.Four, () => {
      //Switch to advanced humanoid appearance: American cartoon male
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.CartoonyMale;
});
// press the "5" key to trigger the following logic
InputUtil.onKeyDown(Keys.Five, () => {
      //Switch to advanced humanoid appearance: Lowpoly adult female
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.LowpolyAdultFemale;
});
// press the "6" key to trigger the following logic
InputUtil.onKeyDown(Keys.Six, () => {
      //Switch to advanced humanoid appearance: Lowpoly adult male
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.LowpolyAdultMale;
});
// press the "7" key to trigger the following logic
InputUtil.onKeyDown(Keys.Seven, () => {
      //Switch to advanced humanoid appearance: realistic adult female
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.RealisticAdultFemale;
});
// press the "8" key to trigger the following logic
InputUtil.onKeyDown(Keys.Eight, () => {
      //Switch to advanced humanoid appearance: realistic adult male
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.RealisticAdultMale;
});
// press the "9" key to trigger the following logic
InputUtil.onKeyDown(Keys.Nine, () => {
      //Switch to advanced humanoid appearance: no type
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.None;
});
// press the "1" key to trigger the following logic
InputUtil.onKeyDown(Keys.One, () => {
    //Switch to advanced humanoid appearance: anime adult female
    chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.AnimeFemale;
});
// press the "2" key to trigger the following logic
InputUtil.onKeyDown(Keys.Two, () => {
     //Switch to advanced humanoid appearance: anime adult male
     chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.AnimeMale;
});
// press the "3" key to trigger the following logic
InputUtil.onKeyDown(Keys.Three, () => {
     //Switch to advanced humanoid appearance: American cartoon female
     chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.CartoonyFemale;
});
// press the "4" key to trigger the following logic
InputUtil.onKeyDown(Keys.Four, () => {
      //Switch to advanced humanoid appearance: American cartoon male
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.CartoonyMale;
});
// press the "5" key to trigger the following logic
InputUtil.onKeyDown(Keys.Five, () => {
      //Switch to advanced humanoid appearance: Lowpoly adult female
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.LowpolyAdultFemale;
});
// press the "6" key to trigger the following logic
InputUtil.onKeyDown(Keys.Six, () => {
      //Switch to advanced humanoid appearance: Lowpoly adult male
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.LowpolyAdultMale;
});
// press the "7" key to trigger the following logic
InputUtil.onKeyDown(Keys.Seven, () => {
      //Switch to advanced humanoid appearance: realistic adult female
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.RealisticAdultFemale;
});
// press the "8" key to trigger the following logic
InputUtil.onKeyDown(Keys.Eight, () => {
      //Switch to advanced humanoid appearance: realistic adult male
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.RealisticAdultMale;
});
// press the "9" key to trigger the following logic
InputUtil.onKeyDown(Keys.Nine, () => {
      //Switch to advanced humanoid appearance: no type
      chara.description.advance.base.characterSetting.characterTemplate = CharacterTemplate.None;
});

Facial Features Adjustments

Property description: The header function can modify the style and make overall modify.

Sample script:

ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the header style
chara.description.advance.headFeatures.head.style = ""
//Get the Player character
let chara = Player.localPlayer.character
//Set the header style
chara.description.advance.headFeatures.head.style = ""

Eye

property description: Eye functions can be divided into overall functions, eye canthus functions, and pupil functions.

  1. The overall functions include: overall rotation, frontal shift, horizontal shift, vertical shift, horizontal scale and vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// modify the overall rotation of the eyes
chara.description.advance.headFeatures.eyes.overall.eyeOverallRotation = 1;
// Eyes left and right scale modify
chara.description.advance.headFeatures.eyes.overall.eyeHorizontalScale = 1;
//Move the eyes left and right to modify
chara.description.advance.headFeatures.eyes.overall.eyeHorizontalShift = 1;
//Move the eyes forward and modify
chara.description.advance.headFeatures.eyes.overall.eyeFrontalShift = 1;
//Eyes up and down scale modify
chara.description.advance.headFeatures.eyes.overall.eyeVerticalScale = 1;
//Move the eyes up and down
chara.description.advance.headFeatures.eyes.overall.eyeVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
// modify the overall rotation of the eyes
chara.description.advance.headFeatures.eyes.overall.eyeOverallRotation = 1;
// Eyes left and right scale modify
chara.description.advance.headFeatures.eyes.overall.eyeHorizontalScale = 1;
//Move the eyes left and right to modify
chara.description.advance.headFeatures.eyes.overall.eyeHorizontalShift = 1;
//Move the eyes forward and modify
chara.description.advance.headFeatures.eyes.overall.eyeFrontalShift = 1;
//Eyes up and down scale modify
chara.description.advance.headFeatures.eyes.overall.eyeVerticalScale = 1;
//Move the eyes up and down
chara.description.advance.headFeatures.eyes.overall.eyeVerticalShift = 1;
  1. Eye canthus functions include: inner eye canthus horizontal shift and outer eye canthus vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the inner corner of the eye left and right
chara.description.advance.headFeatures.eyes.eyeCorners.innerEyeCornerHorizontalShift = 1;
//Move the outer corner of the eye up and down            
chara.description.advance.headFeatures.eyes.eyeCorners.outerEyeCornerVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the inner corner of the eye left and right
chara.description.advance.headFeatures.eyes.eyeCorners.innerEyeCornerHorizontalShift = 1;
//Move the outer corner of the eye up and down            
chara.description.advance.headFeatures.eyes.eyeCorners.outerEyeCornerVerticalShift = 1;
  1. pupil functions include: pupil horizontal shift, horizontal scale, vertical shift, vertical scale, upper highlight color, upper highlight style, lower highlight color, lower highlight style, left pupil color, right pupil color, pupil color, pupil style
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// pupil left and right scale modify
chara.description.advance.headFeatures.eyes.pupils.pupilHorizontalScale = 0;
// pupil moves left and modify
chara.description.advance.headFeatures.eyes.pupils.pupilHorizontalShift = 0;
// pupil up and down scale modify
chara.description.advance.headFeatures.eyes.pupils.pupilVerticalScale = 0;
// pupil moves up and down
chara.description.advance.headFeatures.eyes.pupils.pupilVerticalShift = 0;
// modify the highlight color
chara.description.advance.makeup.coloredContacts.highlight.upperHighlightColor = new LinearColor(255,40,40);
// modify the upper highlight style
chara.description.advance.makeup.coloredContacts.highlight.upperHighlightStyle = "48030";
// modify the lower highlight color
chara.description.advance.makeup.coloredContacts.highlight.lowerHighlightColor = new LinearColor(255,40,40);
// modify the lower highlight style
chara.description.advance.makeup.coloredContacts.highlight.lowerHighlightStyle = "";
//Left pupil color modify
chara.description.advance.makeup.coloredContacts.style.leftPupilColor = new LinearColor(255,40,40);
//Right pupil color modify
chara.description.advance.makeup.coloredContacts.style.rightPupilColor = new LinearColor(255,40,40);
//Inner pupil style modify
chara.description.advance.makeup.coloredContacts.style.pupilStyle = "108742";
//Inner pupil color modify
chara.description.advance.makeup.coloredContacts.style.pupilColor = new LinearColor(0,0,0);
// pupil style modify            
chara.description.advance.makeup.coloredContacts.decal.pupilStyle = "77769";
// pupil color modify          
chara.description.advance.makeup.coloredContacts.decal.pupilColor = new LinearColor(40,0,0);
// pupil size scale           
chara.description.advance.makeup.coloredContacts.decal.pupilSizeScale = 1.3;
// pupil left and right position modify            
chara.description.advance.makeup.coloredContacts.decal.pupilHorizontalPosition = 0;
// pupil upper and lower position modify            
chara.description.advance.makeup.coloredContacts.decal.pupilVerticalPosition = 0;
//Get the Player character
let chara = Player.localPlayer.character
// pupil left and right scale modify
chara.description.advance.headFeatures.eyes.pupils.pupilHorizontalScale = 0;
// pupil moves left and modify
chara.description.advance.headFeatures.eyes.pupils.pupilHorizontalShift = 0;
// pupil up and down scale modify
chara.description.advance.headFeatures.eyes.pupils.pupilVerticalScale = 0;
// pupil moves up and down
chara.description.advance.headFeatures.eyes.pupils.pupilVerticalShift = 0;
// modify the highlight color
chara.description.advance.makeup.coloredContacts.highlight.upperHighlightColor = new LinearColor(255,40,40);
// modify the upper highlight style
chara.description.advance.makeup.coloredContacts.highlight.upperHighlightStyle = "48030";
// modify the lower highlight color
chara.description.advance.makeup.coloredContacts.highlight.lowerHighlightColor = new LinearColor(255,40,40);
// modify the lower highlight style
chara.description.advance.makeup.coloredContacts.highlight.lowerHighlightStyle = "";
//Left pupil color modify
chara.description.advance.makeup.coloredContacts.style.leftPupilColor = new LinearColor(255,40,40);
//Right pupil color modify
chara.description.advance.makeup.coloredContacts.style.rightPupilColor = new LinearColor(255,40,40);
//Inner pupil style modify
chara.description.advance.makeup.coloredContacts.style.pupilStyle = "108742";
//Inner pupil color modify
chara.description.advance.makeup.coloredContacts.style.pupilColor = new LinearColor(0,0,0);
// pupil style modify            
chara.description.advance.makeup.coloredContacts.decal.pupilStyle = "77769";
// pupil color modify          
chara.description.advance.makeup.coloredContacts.decal.pupilColor = new LinearColor(40,0,0);
// pupil size scale           
chara.description.advance.makeup.coloredContacts.decal.pupilSizeScale = 1.3;
// pupil left and right position modify            
chara.description.advance.makeup.coloredContacts.decal.pupilHorizontalPosition = 0;
// pupil upper and lower position modify            
chara.description.advance.makeup.coloredContacts.decal.pupilVerticalPosition = 0;

Mouth

Mouth functions can be divided into overall functions, lip functions, and mouth corner functions.

  1. The overall functions include: fontal shift, horizontal scale, and vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// modify the overall movement of the mouth
chara.description.advance.headFeatures.mouth.overall.mouthFrontalShift = 1;
// scale and modify the overall mouth left and right
chara.description.advance.headFeatures.mouth.overall.mouthHorizontalScale = 1;
//Move the mouth up and down as a whole
chara.description.advance.headFeatures.mouth.overall.mouthVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
// modify the overall movement of the mouth
chara.description.advance.headFeatures.mouth.overall.mouthFrontalShift = 1;
// scale and modify the overall mouth left and right
chara.description.advance.headFeatures.mouth.overall.mouthHorizontalScale = 1;
//Move the mouth up and down as a whole
chara.description.advance.headFeatures.mouth.overall.mouthVerticalShift = 1;
  1. Lip functions include: lower lip thickness, upper lip thickness.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Lower lip thickness modify
chara.description.advance.headFeatures.mouth.lips.lowerLipThickness = 1;
//Upper lip thickness modify
chara.description.advance.headFeatures.mouth.lips.upperLipThickness = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Lower lip thickness modify
chara.description.advance.headFeatures.mouth.lips.lowerLipThickness = 1;
//Upper lip thickness modify
chara.description.advance.headFeatures.mouth.lips.upperLipThickness = 1;
  1. The functions of the mouth corners include: horizontal shift, and vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the corner of the mouth forward and modify
chara.description.advance.headFeatures.mouth.mouthCorners.mouthCornerFrontalShift = 1;
//Move the corners of the mouth up and down
chara.description.advance.headFeatures.mouth.mouthCorners.mouthCornerVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the corner of the mouth forward and modify
chara.description.advance.headFeatures.mouth.mouthCorners.mouthCornerFrontalShift = 1;
//Move the corners of the mouth up and down
chara.description.advance.headFeatures.mouth.mouthCorners.mouthCornerVerticalShift = 1;

nose

The function of the nose can be divided into overall function, nose bridge function, nose tip function, and nostrils function.

  1. The overall functions include: horizontal shift, and vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// modify the overall movement of the nose
chara.description.advance.headFeatures.nose.overall.noseOverallFrontalShift = 1;
//Move the nose up and down as a modify
chara.description.advance.headFeatures.nose.overall.noseOverallVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
// modify the overall movement of the nose
chara.description.advance.headFeatures.nose.overall.noseOverallFrontalShift = 1;
//Move the nose up and down as a modify
chara.description.advance.headFeatures.nose.overall.noseOverallVerticalShift = 1;
  1. The functions of the nose bridge include: horizontal shift, and vertical scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the nose bridge forward and modify
chara.description.advance.headFeatures.nose.noseBridge.noseBridgeFrontalShift = 1;
// modify the nose bridge left and right
chara.description.advance.headFeatures.nose.noseBridge.noseBridgeHorizontalScale = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the nose bridge forward and modify
chara.description.advance.headFeatures.nose.noseBridge.noseBridgeFrontalShift = 1;
// modify the nose bridge left and right
chara.description.advance.headFeatures.nose.noseBridge.noseBridgeHorizontalScale = 1;
  1. The functions of the nose tip include: vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the nose tip up and down to modify
chara.description.advance.headFeatures.nose.noseTip.noseTipVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the nose tip up and down to modify
chara.description.advance.headFeatures.nose.noseTip.noseTipVerticalShift = 1;
  1. The functions of the nose wing include: horizontal shift, vertical shift, and vertical scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the nose forward and modify
chara.description.advance.headFeatures.nose.nostrils.nostrilForntalShift = 1;
//Move the nose up and down to modify
chara.description.advance.headFeatures.nose.nostrils.nostrilVerticalShift = 1;
// modify the nose wing left and right
chara.description.advance.headFeatures.nose.nostrils.nostrilHorizontalScale = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the nose forward and modify
chara.description.advance.headFeatures.nose.nostrils.nostrilForntalShift = 1;
//Move the nose up and down to modify
chara.description.advance.headFeatures.nose.nostrils.nostrilVerticalShift = 1;
// modify the nose wing left and right
chara.description.advance.headFeatures.nose.nostrils.nostrilHorizontalScale = 1;

Eyebrow

Eyebrow functions include: frontal shift between eyebrows, vertical shift of eyebrows, vertical shift of eyebrows, frontal shift of eyebrows,horizontal shift of eyebrows, vertical shift of eyebrows, and overall rotational movement of eyebrows.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move forward and modify between eyebrows
chara.description.advance.headFeatures.eyebrows.eyebrowBridgeFrontalShift = 1;
//Move the eyebrows up and down
chara.description.advance.headFeatures.eyebrows.eyebrowInnerVerticalShift = 1;
//Move the eyebrow tail up and down to modify
chara.description.advance.headFeatures.eyebrows.eyebrowOuterVerticalShift = 1;
//Move eyebrows back and modify
chara.description.advance.headFeatures.eyebrows.eyebrowFrontalShift = 1;
//Move eyebrows left and modify
chara.description.advance.headFeatures.eyebrows.eyebrowHorizontalShift = 1;
//Move eyebrows up and down to modify
chara.description.advance.headFeatures.eyebrows.eyebrowVerticalShift = 1;
// modify the overall rotation of the eyebrows
chara.description.advance.headFeatures.eyebrows.eyebrowOverallRotation = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move forward and modify between eyebrows
chara.description.advance.headFeatures.eyebrows.eyebrowBridgeFrontalShift = 1;
//Move the eyebrows up and down
chara.description.advance.headFeatures.eyebrows.eyebrowInnerVerticalShift = 1;
//Move the eyebrow tail up and down to modify
chara.description.advance.headFeatures.eyebrows.eyebrowOuterVerticalShift = 1;
//Move eyebrows back and modify
chara.description.advance.headFeatures.eyebrows.eyebrowFrontalShift = 1;
//Move eyebrows left and modify
chara.description.advance.headFeatures.eyebrows.eyebrowHorizontalShift = 1;
//Move eyebrows up and down to modify
chara.description.advance.headFeatures.eyebrows.eyebrowVerticalShift = 1;
// modify the overall rotation of the eyebrows
chara.description.advance.headFeatures.eyebrows.eyebrowOverallRotation = 1;

ear

Ear functions include: frontal rotation, horizontal rotation, overall scale, upper scale, and lower scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// modify the ear's rotation
chara.description.advance.headFeatures.ears.earFrontalRotation = 1;
// Rotate the ears left and modify
chara.description.advance.headFeatures.ears.earHorizontalRotation = 1;
//Overall scale of the ear
chara.description.advance.headFeatures.ears.earLowerScale = 1;
// scale modify of the upper ear
chara.description.advance.headFeatures.ears.earUpperScale = 1;
// scale modify of the lower part of the ear
chara.description.advance.headFeatures.ears.earOverallScale = 1;
//Get the Player character
let chara = Player.localPlayer.character
// modify the ear's rotation
chara.description.advance.headFeatures.ears.earFrontalRotation = 1;
// Rotate the ears left and modify
chara.description.advance.headFeatures.ears.earHorizontalRotation = 1;
//Overall scale of the ear
chara.description.advance.headFeatures.ears.earLowerScale = 1;
// scale modify of the upper ear
chara.description.advance.headFeatures.ears.earUpperScale = 1;
// scale modify of the lower part of the ear
chara.description.advance.headFeatures.ears.earOverallScale = 1;

Face shape

Facial features can be subdivided into cheek features, cheekbone features, chin features, mandibular features, and facial features.

  1. Cheek functions include: horizontal shift, vertical scale, and vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the cheek forward and modify
chara.description.advance.headFeatures.faceShape.cheek.cheekFrontalShift = 1;
// scale and modify the cheeks left and right
chara.description.advance.headFeatures.faceShape.cheek.cheekHorizontalScale = 1;
//Move the cheek up and down to modify
chara.description.advance.headFeatures.faceShape.cheek.cheekVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the cheek forward and modify
chara.description.advance.headFeatures.faceShape.cheek.cheekFrontalShift = 1;
// scale and modify the cheeks left and right
chara.description.advance.headFeatures.faceShape.cheek.cheekHorizontalScale = 1;
//Move the cheek up and down to modify
chara.description.advance.headFeatures.faceShape.cheek.cheekVerticalShift = 1;
  1. The functions of the cheekbone include: horizontal shift, and vertical scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// cheekbone movement modify
chara.description.advance.headFeatures.faceShape.cheekbone.cheekboneFrontalShift = 1;
// cheekbone left and right scale modify
chara.description.advance.headFeatures.faceShape.cheekbone.cheekboneHorizontalScale = 1;
//Get the Player character
let chara = Player.localPlayer.character
// cheekbone movement modify
chara.description.advance.headFeatures.faceShape.cheekbone.cheekboneFrontalShift = 1;
// cheekbone left and right scale modify
chara.description.advance.headFeatures.faceShape.cheekbone.cheekboneHorizontalScale = 1;
  1. The chin functions include: chin horizontal shift, chin tip horizontal shift, chin tip vertical scale, and chin tip vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// modify the chin frontal shift
chara.description.advance.headFeatures.faceShape.chin.chinFrontalShift = 1;
//Move the chin tip forward and backward
chara.description.advance.headFeatures.faceShape.chin.chinTipFrontalShift = 1;
// scale modify of the chin tip left and right
chara.description.advance.headFeatures.faceShape.chin.chinTipHorizontalScale = 1;
//Move the chin tip up and down to modify
chara.description.advance.headFeatures.faceShape.chin.chinTipVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
// modify the chin frontal shift
chara.description.advance.headFeatures.faceShape.chin.chinFrontalShift = 1;
//Move the chin tip forward and backward
chara.description.advance.headFeatures.faceShape.chin.chinTipFrontalShift = 1;
// scale modify of the chin tip left and right
chara.description.advance.headFeatures.faceShape.chin.chinTipHorizontalScale = 1;
//Move the chin tip up and down to modify
chara.description.advance.headFeatures.faceShape.chin.chinTipVerticalShift = 1;
  1. The jaw functions include: frontal shift, horizontal scale, vertical shift, and roundness.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Move the jaw forward and backward
chara.description.advance.headFeatures.faceShape.jawline.jawFrontalShift = 1;
// modify the left and right scale of the jaw
chara.description.advance.headFeatures.faceShape.jawline.jawHorizontalScale = 1;
// modify the roundness of the jaw
chara.description.advance.headFeatures.faceShape.jawline.jawlineRoundness = 1;
// modify the jaw up and down
chara.description.advance.headFeatures.faceShape.jawline.jawlineVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Move the jaw forward and backward
chara.description.advance.headFeatures.faceShape.jawline.jawFrontalShift = 1;
// modify the left and right scale of the jaw
chara.description.advance.headFeatures.faceShape.jawline.jawHorizontalScale = 1;
// modify the roundness of the jaw
chara.description.advance.headFeatures.faceShape.jawline.jawlineRoundness = 1;
// modify the jaw up and down
chara.description.advance.headFeatures.faceShape.jawline.jawlineVerticalShift = 1;
  1. Facial functions include: face vertical scale, the lower half of the face frontal shift, the lower half of the face horizontal scale, the upper half of the face whole scale, the upper half of the face frontal shift, and the upper half of the face vertical shift.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Face left and right scale modify
chara.description.advance.headFeatures.faceShape.overall.faceHorizontalScale = 1;
//Move the lower half of the face forward and modify
chara.description.advance.headFeatures.faceShape.overall.lowerFaceFrontalShift = 1;
// scale modify of the lower half of the face
chara.description.advance.headFeatures.faceShape.overall.lowerFaceHorizontalScale = 1;
//Move the upper face forward and modify
chara.description.advance.headFeatures.faceShape.overall.upperFaceFrontalShift = 1;
// Overall scale modify of the upper face
chara.description.advance.headFeatures.faceShape.overall.upperFaceOverallScale = 1;
//Move the upper face up and modify
chara.description.advance.headFeatures.faceShape.overall.upperFaceVerticalShift = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Face left and right scale modify
chara.description.advance.headFeatures.faceShape.overall.faceHorizontalScale = 1;
//Move the lower half of the face forward and modify
chara.description.advance.headFeatures.faceShape.overall.lowerFaceFrontalShift = 1;
// scale modify of the lower half of the face
chara.description.advance.headFeatures.faceShape.overall.lowerFaceHorizontalScale = 1;
//Move the upper face forward and modify
chara.description.advance.headFeatures.faceShape.overall.upperFaceFrontalShift = 1;
// Overall scale modify of the upper face
chara.description.advance.headFeatures.faceShape.overall.upperFaceOverallScale = 1;
//Move the upper face up and modify
chara.description.advance.headFeatures.faceShape.overall.upperFaceVerticalShift = 1;

expression

The expression function only switches the character's expression. Expressions include: default, smiling, happy, sad, angry, embarrassed, laughing, naughty, cute, and confused.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// Expression switching modify: default
chara.description.advance.headFeatures.expressions.changeExpression = 0;
// Expression switch modify to: smile
chara.description.advance.headFeatures.expressions.changeExpression = 1;
// Expression switch modify to: happy
chara.description.advance.headFeatures.expressions.changeExpression = 2;
// Expression switch modify to: sad
chara.description.advance.headFeatures.expressions.changeExpression = 3;
// Expression switch modify to: angry
chara.description.advance.headFeatures.expressions.changeExpression = 4;
// Expression switch modify to: embarrassed
chara.description.advance.headFeatures.expressions.changeExpression = 5;
// Expression switch modify to: smile
chara.description.advance.headFeatures.expressions.changeExpression = 6;
// Expression switch modify to: naughty
chara.description.advance.headFeatures.expressions.changeExpression = 7;
// Expression switch modify to: cute
chara.description.advance.headFeatures.expressions.changeExpression = 8;
// Expression switch modify to: doubt
chara.description.advance.headFeatures.expressions.changeExpression = 9;
//Get the Player character
let chara = Player.localPlayer.character
// Expression switching modify: default
chara.description.advance.headFeatures.expressions.changeExpression = 0;
// Expression switch modify to: smile
chara.description.advance.headFeatures.expressions.changeExpression = 1;
// Expression switch modify to: happy
chara.description.advance.headFeatures.expressions.changeExpression = 2;
// Expression switch modify to: sad
chara.description.advance.headFeatures.expressions.changeExpression = 3;
// Expression switch modify to: angry
chara.description.advance.headFeatures.expressions.changeExpression = 4;
// Expression switch modify to: embarrassed
chara.description.advance.headFeatures.expressions.changeExpression = 5;
// Expression switch modify to: smile
chara.description.advance.headFeatures.expressions.changeExpression = 6;
// Expression switch modify to: naughty
chara.description.advance.headFeatures.expressions.changeExpression = 7;
// Expression switch modify to: cute
chara.description.advance.headFeatures.expressions.changeExpression = 8;
// Expression switch modify to: doubt
chara.description.advance.headFeatures.expressions.changeExpression = 9;

Makeup modify

Blush

Blush functions include: blush style and blush color.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the blush style effect
chara.description.advance.makeup.blush.blushStyle = "48030";
//Set blush color
chara.description.advance.makeup.blush.blushColor = new LinearColor(255,40,40);
//Get the Player character
let chara = Player.localPlayer.character
//Set the blush style effect
chara.description.advance.makeup.blush.blushStyle = "48030";
//Set blush color
chara.description.advance.makeup.blush.blushColor = new LinearColor(255,40,40);

eyelash

Eyelash functions include: eyelash style, eyelash color.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the eyelash style effect
chara.description.advance.makeup.eyelashes.eyelashStyle = "48030";
//Set eyelash color
chara.description.advance.makeup.eyelashes.eyelashColor = new LinearColor(255,40,40);
//Get the Player character
let chara = Player.localPlayer.character
//Set the eyelash style effect
chara.description.advance.makeup.eyelashes.eyelashStyle = "48030";
//Set eyelash color
chara.description.advance.makeup.eyelashes.eyelashColor = new LinearColor(255,40,40);

Lipstick

Lipstick functions include: lipstick style and lipstick color.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the lipstick style effect
chara.description.advance.makeup.lipstick.lipstickStyle = "48030";
//Set lipstick color
chara.description.advance.makeup.lipstick.lipstickColor = new LinearColor(255,40,40);
//Get the Player character
let chara = Player.localPlayer.character
//Set the lipstick style effect
chara.description.advance.makeup.lipstick.lipstickStyle = "48030";
//Set lipstick color
chara.description.advance.makeup.lipstick.lipstickColor = new LinearColor(255,40,40);

Body decal

decal function: mainly to stick a pattern attached to the surface at a certain position , but we need to determine the position of the decal . modify the decal , including: decal style, decal color, decal horizontal shift, decal vertical shift, decal overall scale, and decal overall rotation .

Body decal: These are patterns that appear on the character skin. Only the skin part will show the pattern. If the character is wearing clothes, the effect of the body decal may not be visible.

Part description: There are multiple parts of the body for decal . These parts are control by art asset and cannot be increased or decreased. Therefore, we can only obtain the number of parts through the code bodyDecal.length, or by observing the number of parts of the asset in the character appearance editor in advance. Then we use the code to modify the decal effect of each part. In the bodyDecal[0] function, [0] represents the part position, and we modify it according to the number of parts obtained.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print and get the number of character body parts
console.log(chara.description.advance.makeup.bodyDecal.length);
//Set the body decal style
chara.description.advance.makeup.bodyDecal[0].decalStyle = "32099"; 
//Set the body decal color
chara.description.advance.makeup.bodyDecal[0].decalColor = new LinearColor(255,40,40); 
//Set the body decal to move left and right
chara.description.advance.makeup.bodyDecal[0].decalHorizontalShift = 0; 
//Set the overall rotation of the body decal
chara.description.advance.makeup.bodyDecal[0].decalOverallRotation = 0; 
//Set the overall scale of the body decal
chara.description.advance.makeup.bodyDecal[0].decalOverallScale = 10; 
//Set the body decal style
chara.description.advance.makeup.bodyDecal[1].decalStyle = "32099"; 
//Set the body decal to move up and down
chara.description.advance.makeup.bodyDecal[0].decalVerticalShift = 0; 
//Set the body decal color
chara.description.advance.makeup.bodyDecal[1].decalColor = new LinearColor(40,255,40);
//Set the overall scale of the body decal
chara.description.advance.makeup.bodyDecal[1].decalOverallScale = 10;
//Get the Player character
let chara = Player.localPlayer.character
//Print and get the number of character body parts
console.log(chara.description.advance.makeup.bodyDecal.length);
//Set the body decal style
chara.description.advance.makeup.bodyDecal[0].decalStyle = "32099"; 
//Set the body decal color
chara.description.advance.makeup.bodyDecal[0].decalColor = new LinearColor(255,40,40); 
//Set the body decal to move left and right
chara.description.advance.makeup.bodyDecal[0].decalHorizontalShift = 0; 
//Set the overall rotation of the body decal
chara.description.advance.makeup.bodyDecal[0].decalOverallRotation = 0; 
//Set the overall scale of the body decal
chara.description.advance.makeup.bodyDecal[0].decalOverallScale = 10; 
//Set the body decal style
chara.description.advance.makeup.bodyDecal[1].decalStyle = "32099"; 
//Set the body decal to move up and down
chara.description.advance.makeup.bodyDecal[0].decalVerticalShift = 0; 
//Set the body decal color
chara.description.advance.makeup.bodyDecal[1].decalColor = new LinearColor(40,255,40);
//Set the overall scale of the body decal
chara.description.advance.makeup.bodyDecal[1].decalOverallScale = 10;

Eyeshadow

Eye shadow functions include: eye shadow style, eye shadow color.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the eyeshadow style effect
chara.description.advance.makeup.eyeShadow.eyeshadowStyle = "48030"; 
//Set the eyeshadow color
chara.description.advance.makeup.eyeShadow.eyeshaowColor = new LinearColor(255,40,40);
//Get the Player character
let chara = Player.localPlayer.character
//Set the eyeshadow style effect
chara.description.advance.makeup.eyeShadow.eyeshadowStyle = "48030"; 
//Set the eyeshadow color
chara.description.advance.makeup.eyeShadow.eyeshaowColor = new LinearColor(255,40,40);

Face decal

decal function: mainly to stick a pattern attached to the surface at a certain position , but we need to determine the position of the decal . modify the decal , including: decal style, decal color, decal horizontal shift, decal vertical shift, decal overall scale, and decal overall rotation .

Face decal: These are patterns that appear on the character face. The patterns are only displayed on the face. If the character is wearing a mask, etc., the effect of the face decal may not be visible.

Part description: There are multiple parts of the face for decal . These parts are control by art asset and cannot be increased or decreased. Therefore, we can only obtain the number of parts through the code faceDecal.length, or by observing the number of parts of the asset in the character appearance editor in advance. Then we use the code to modify the decal effect of each part. In the faceDecal[0] function, [0] represents the part position, and we modify it according to the number of parts obtained.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the face decal color
chara.description.advance.makeup.faceDecal[0].decalColor = new LinearColor(255,40,40);
//Set the face decal to move left and right
chara.description.advance.makeup.faceDecal[0].decalHorizontalShift = -0.1; 
//Set the overall rotation of the face decal
chara.description.advance.makeup.faceDecal[0].decalOverallRotation = 15; 
//Set the overall scale of the face decal
chara.description.advance.makeup.faceDecal[0].decalOverallScale = 10; 
//Set the face decal style
chara.description.advance.makeup.faceDecal[0].decalStyle = "32099"; 
//Set the face decal to move up and down
chara.description.advance.makeup.faceDecal[0].decalVerticalShift = 0;
//Get the Player character
let chara = Player.localPlayer.character
//Set the face decal color
chara.description.advance.makeup.faceDecal[0].decalColor = new LinearColor(255,40,40);
//Set the face decal to move left and right
chara.description.advance.makeup.faceDecal[0].decalHorizontalShift = -0.1; 
//Set the overall rotation of the face decal
chara.description.advance.makeup.faceDecal[0].decalOverallRotation = 15; 
//Set the overall scale of the face decal
chara.description.advance.makeup.faceDecal[0].decalOverallScale = 10; 
//Set the face decal style
chara.description.advance.makeup.faceDecal[0].decalStyle = "32099"; 
//Set the face decal to move up and down
chara.description.advance.makeup.faceDecal[0].decalVerticalShift = 0;

Head Decal

decal function: mainly to stick a pattern attached to the surface at a certain position , but we need to determine the position of the decal . modify the decal , including: decal style, decal color, decal horizontal shift, decal vertical shift, decal overall scale, and decal overall rotation .

Head Decal: Mainly displays scalp effect, commonly used on the top of realistic-style character.

Part description: No other parts, just use faceDecal[0].

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the head decal color
chara.description.advance.makeup.headDecal[0].decalColor = new LinearColor(255,40,40);
//Set the head decal to move left and right
chara.description.advance.makeup.headDecal[0].decalHorizontalShift = -0.1; 
//Set the overall rotation of the head decal
chara.description.advance.makeup.headDecal[0].decalOverallRotation = 15; 
//Set the overall scale of the head decal
chara.description.advance.makeup.headDecal[0].decalOverallScale = 10; 
//Set the head decal style
chara.description.advance.makeup.headDecal[0].decalStyle = "32099"; 
//Set the head decal to move up and down
chara.description.advance.makeup.headDecal[0].decalVerticalShift = 0;
//Get the Player character
let chara = Player.localPlayer.character
//Set the head decal color
chara.description.advance.makeup.headDecal[0].decalColor = new LinearColor(255,40,40);
//Set the head decal to move left and right
chara.description.advance.makeup.headDecal[0].decalHorizontalShift = -0.1; 
//Set the overall rotation of the head decal
chara.description.advance.makeup.headDecal[0].decalOverallRotation = 15; 
//Set the overall scale of the head decal
chara.description.advance.makeup.headDecal[0].decalOverallScale = 10; 
//Set the head decal style
chara.description.advance.makeup.headDecal[0].decalStyle = "32099"; 
//Set the head decal to move up and down
chara.description.advance.makeup.headDecal[0].decalVerticalShift = 0;

Skin Tone

skin tone function: modify the character's skin tone.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set skin tone
chara.description.advance.makeup.skinTone.skinColor = new LinearColor(255,40,40);
//Get the Player character
let chara = Player.localPlayer.character
//Set skin tone
chara.description.advance.makeup.skinTone.skinColor = new LinearColor(255,40,40);

hair modify

Front Hair

Front Hair function: can be subdivided into Front Hair function, headdress pattern function, headdress pattern function, and highlight function. The headdress function is a function carried by some hair style. Such as hats, hairpins and other decorations. We can then change the effect of the decoration through code.

Headwear description : The number of Front Hair parts will vary according to the different asset . The headwear parts are control by art asset and cannot be increased or decreased. Therefore, we can only obtain the number of headgear through the code accessories.length, or by observing the number of headgear of the asset in the character appearance editor in advance. Then we use the code to modify the effect of each headdress. In the accessories[0] function, [0] represents the position of the headdress, and we modify it according to the number of headdresses obtained.

  1. The Front Hair functions include: Front Hair style, Front Hair color, gradient Area, and gradient color.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the Front Hair style
chara.description.advance.hair.frontHair.style = "";
//Set the Front Hair color
chara.description.advance.hair.frontHair.color.color = new LinearColor(255, 40, 40);  
//Set the gradient degree of the Front Hair
chara.description.advance.hair.frontHair.color.gradientArea = 1;
//Set the Front Hair gradient color
chara.description.advance.hair.frontHair.color.gradientColor = new LinearColor(255, 40, 40);
//Get the Player character
let chara = Player.localPlayer.character
//Set the Front Hair style
chara.description.advance.hair.frontHair.style = "";
//Set the Front Hair color
chara.description.advance.hair.frontHair.color.color = new LinearColor(255, 40, 40);  
//Set the gradient degree of the Front Hair
chara.description.advance.hair.frontHair.color.gradientArea = 1;
//Set the Front Hair gradient color
chara.description.advance.hair.frontHair.color.gradientColor = new LinearColor(255, 40, 40);
  1. The headdress pattern functions include: headdress color, pattern style, pattern color, pattern rotation, and pattern scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print headdress part
console.log(chara.description.advance.hair.frontHair.accessories.length);
//Set the headdress color
chara.description.advance.hair.frontHair.accessories[0].color.accessoryColor = new LinearColor(255, 40, 40);
//Set the headdress style
chara.description.advance.hair.frontHair.accessories[0].design.designStyle = "";
//Set the headdress pattern rotation
chara.description.advance.hair.frontHair.accessories[0].design.designRotation = 1;
//Set the headdress pattern color
chara.description.advance.hair.frontHair.accessories[0].design.designColor = new LinearColor(255, 40, 40);
//Set the headdress pattern scale
chara.description.advance.hair.frontHair.accessories[0].design.designScale = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Print headdress part
console.log(chara.description.advance.hair.frontHair.accessories.length);
//Set the headdress color
chara.description.advance.hair.frontHair.accessories[0].color.accessoryColor = new LinearColor(255, 40, 40);
//Set the headdress style
chara.description.advance.hair.frontHair.accessories[0].design.designStyle = "";
//Set the headdress pattern rotation
chara.description.advance.hair.frontHair.accessories[0].design.designRotation = 1;
//Set the headdress pattern color
chara.description.advance.hair.frontHair.accessories[0].design.designColor = new LinearColor(255, 40, 40);
//Set the headdress pattern scale
chara.description.advance.hair.frontHair.accessories[0].design.designScale = 1;
  1. The functions of headwear pattern include: pattern style, pattern color, pattern left and right scale, pattern up and down scale, pattern rotation, and pattern display degree.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the headdress pattern color
chara.description.advance.hair.frontHair.accessories[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the headdress pattern to vertical scale
chara.description.advance.hair.frontHair.accessories[0].pattern.patternHorizontalScale = 1;
//Set the headdress pattern rotation
chara.description.advance.hair.frontHair.accessories[0].pattern.patternRotation = 1;
//Set the headdress pattern style
chara.description.advance.hair.frontHair.accessories[0].pattern.patternStyle = "";
//Set the headdress pattern up and down scale
chara.description.advance.hair.frontHair.accessories[0].pattern.patternVerticalScale = 1;
//Set the headdress pattern display level
chara.description.advance.hair.frontHair.accessories[0].pattern.patternVisibility = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the headdress pattern color
chara.description.advance.hair.frontHair.accessories[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the headdress pattern to vertical scale
chara.description.advance.hair.frontHair.accessories[0].pattern.patternHorizontalScale = 1;
//Set the headdress pattern rotation
chara.description.advance.hair.frontHair.accessories[0].pattern.patternRotation = 1;
//Set the headdress pattern style
chara.description.advance.hair.frontHair.accessories[0].pattern.patternStyle = "";
//Set the headdress pattern up and down scale
chara.description.advance.hair.frontHair.accessories[0].pattern.patternVerticalScale = 1;
//Set the headdress pattern display level
chara.description.advance.hair.frontHair.accessories[0].pattern.patternVisibility = 1;
  1. Highlight features include: Highlight style.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the Front Hair highlight style
chara.description.advance.hair.frontHair.highlight.highlightStyle = "";
//Get the Player character
let chara = Player.localPlayer.character
//Set the Front Hair highlight style
chara.description.advance.hair.frontHair.highlight.highlightStyle = "";

Back Hair

The back hair function is basically the same as the Front Hair function, and can be subdivided into back hair function, headwear pattern function, headwear pattern function, and highlight function. The headdress function is a function carried by some hair style. Such as hats, hairpins and other decorations. We can then change the effect of the decoration through code.

Headwear description: The number of headwear parts for back hair asset will vary depending on the asset . These headwear parts are control by art asset and cannot be increased or decreased. Therefore, we can only obtain the number of headgear through the code accessories.length, or by observing the number of headgear of the asset in the character appearance editor in advance. Then we use the code to modify the effect of each headdress. In the accessories[0] function, [0] represents the position of the headdress, and we modify it according to the number of headdresses obtained.

  1. The back hair functions include: back hair style, back hair color, gradient degree, and gradient color.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the back hair style
chara.description.advance.hair.backHair.style = "";
//Set the back hair color
chara.description.advance.hair.backHair.color.color = new LinearColor(255, 40, 40);  
// back hair the gradient degree
chara.description.advance.hair.backHair.color.gradientArea = 1;
// back hair the gradient color
chara.description.advance.hair.backHair.color.gradientColor = new LinearColor(255, 40, 40);
//Get the Player character
let chara = Player.localPlayer.character
//Set the back hair style
chara.description.advance.hair.backHair.style = "";
//Set the back hair color
chara.description.advance.hair.backHair.color.color = new LinearColor(255, 40, 40);  
// back hair the gradient degree
chara.description.advance.hair.backHair.color.gradientArea = 1;
// back hair the gradient color
chara.description.advance.hair.backHair.color.gradientColor = new LinearColor(255, 40, 40);
  1. The headdress pattern functions include: headdress color, pattern style, pattern color, pattern rotation, and pattern scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print headdress part
console.log(chara.description.advance.hair.backHair.accessories.length);
//Set the headdress color
chara.description.advance.hair.backHair.accessories[0].color.accessoryColor = new LinearColor(255, 40, 40);
//Set the headdress style
chara.description.advance.hair.backHair.accessories[0].design.designStyle = "";
//Set the headdress pattern rotation
chara.description.advance.hair.backHair.accessories[0].design.designRotation = 1;
//Set the headdress pattern color
chara.description.advance.hair.backHair.accessories[0].design.designColor = new LinearColor(255, 40, 40);
//Set the headdress pattern scale
chara.description.advance.hair.backHair.accessories[0].design.designScale = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Print headdress part
console.log(chara.description.advance.hair.backHair.accessories.length);
//Set the headdress color
chara.description.advance.hair.backHair.accessories[0].color.accessoryColor = new LinearColor(255, 40, 40);
//Set the headdress style
chara.description.advance.hair.backHair.accessories[0].design.designStyle = "";
//Set the headdress pattern rotation
chara.description.advance.hair.backHair.accessories[0].design.designRotation = 1;
//Set the headdress pattern color
chara.description.advance.hair.backHair.accessories[0].design.designColor = new LinearColor(255, 40, 40);
//Set the headdress pattern scale
chara.description.advance.hair.backHair.accessories[0].design.designScale = 1;
  1. The functions of headwear pattern include: pattern style, pattern color, pattern left and right scale, pattern up and down scale, pattern rotation, and pattern display degree.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the headdress pattern color
chara.description.advance.hair.backHair.accessories[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the headdress pattern to vertical scale
chara.description.advance.hair.backHair.accessories[0].pattern.patternHorizontalScale = 1;
//Set the headdress pattern rotation
chara.description.advance.hair.backHair.accessories[0].pattern.patternRotation = 1;
//Set the headdress pattern style
chara.description.advance.hair.backHair.accessories[0].pattern.patternStyle = "";
//Set the headdress pattern up and down scale
chara.description.advance.hair.backHair.accessories[0].pattern.patternVerticalScale = 1;
//Set the headdress pattern display level
chara.description.advance.hair.backHair.accessories[0].pattern.patternVisibility = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the headdress pattern color
chara.description.advance.hair.backHair.accessories[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the headdress pattern to vertical scale
chara.description.advance.hair.backHair.accessories[0].pattern.patternHorizontalScale = 1;
//Set the headdress pattern rotation
chara.description.advance.hair.backHair.accessories[0].pattern.patternRotation = 1;
//Set the headdress pattern style
chara.description.advance.hair.backHair.accessories[0].pattern.patternStyle = "";
//Set the headdress pattern up and down scale
chara.description.advance.hair.backHair.accessories[0].pattern.patternVerticalScale = 1;
//Set the headdress pattern display level
chara.description.advance.hair.backHair.accessories[0].pattern.patternVisibility = 1;
  1. Highlight features include: Highlight style.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
// back hair the highlight style
chara.description.advance.hair.backHair.highlight.highlightStyle = "";
//Get the Player character
let chara = Player.localPlayer.character
// back hair the highlight style
chara.description.advance.hair.backHair.highlight.highlightStyle = "";

Clothing modify

Tops

Tops function: can be divided into overall function, regional pattern function, and regional pattern function.

Area description: The tops asset will have different numbers of decorative parts depending on the asset . The decorative parts are control by the art asset and cannot be increased or decreased. Therefore, we can only obtain the number of decorations through the code part.length, or by observing the number of decorations of the asset in the character appearance editor in advance. Then modify the effect of each decoration through code. In the part[0] function, [0] represents the decoration position, and we modify it according to the number of decorations obtained.

  1. The overall functions include: tops style, regional color.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print the tops part
console.log(chara.description.advance.clothing.upperCloth.part.length);
//Set the tops style
chara.description.advance.clothing.upperCloth.style = "111307";    
//Set the color of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].color.areaColor = new LinearColor(255, 40, 40);
//Get the Player character
let chara = Player.localPlayer.character
//Print the tops part
console.log(chara.description.advance.clothing.upperCloth.part.length);
//Set the tops style
chara.description.advance.clothing.upperCloth.style = "111307";    
//Set the color of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].color.areaColor = new LinearColor(255, 40, 40);
  1. The regional pattern functions include: pattern style, pattern color, and pattern rotation.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].design.designStyle = "32104";
//Set the pattern color of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].design.designRotation = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].design.designStyle = "32104";
//Set the pattern color of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].design.designRotation = 1;
  1. Regional pattern functions include: pattern style, pattern color, pattern left and right scale, pattern up and down scale, pattern rotation, and pattern display degree.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of the tops area [0] to vertical scale
chara.description.advance.clothing.upperCloth.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternVisibility = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of the tops area [0] to vertical scale
chara.description.advance.clothing.upperCloth.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the tops area [0]
chara.description.advance.clothing.upperCloth.part[0].pattern.patternVisibility = 1;

Lower Cloth

Lower Cloth function: can be subdivided into overall function, regional pattern function, and regional pattern function.

Area description: The bottoms asset will have different numbers of decorative parts depending on the asset . The decorative parts are control by the art asset and cannot be increased or decreased. Therefore, we can only obtain the number of decorations through the code part.length, or by observing the number of decorations of the asset in the character appearance editor in advance. Then modify the effect of each decoration through code. In the part[0] function, [0] represents the decoration position, and we modify it according to the number of decorations obtained.

  1. The overall functions include: bottoms style, area color.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print the bottoms part
console.log(chara.description.advance.clothing.lowerCloth.part.length);
//Set the bottoms style
chara.description.advance.clothing.lowerCloth.style = "63650";    
//Set the color of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].color.areaColor = new LinearColor(255, 40, 40);
//Get the Player character
let chara = Player.localPlayer.character
//Print the bottoms part
console.log(chara.description.advance.clothing.lowerCloth.part.length);
//Set the bottoms style
chara.description.advance.clothing.lowerCloth.style = "63650";    
//Set the color of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].color.areaColor = new LinearColor(255, 40, 40);
  1. The regional pattern functions include: pattern style, pattern color, and pattern rotation.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the style of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].design.designStyle = "32104";
//Set the pattern color of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].design.designRotation = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the style of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].design.designStyle = "32104";
//Set the pattern color of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].design.designRotation = 1;
  1. Regional pattern functions include: pattern style, pattern color, pattern left and right scale, pattern up and down scale, pattern rotation, and pattern display degree.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of the bottoms area [0] to vertical scale
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternVisibility = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of the bottoms area [0] to vertical scale
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the bottoms area [0]
chara.description.advance.clothing.lowerCloth.part[0].pattern.patternVisibility = 1;

Gloves

Glove function: can be subdivided into overall function, regional pattern function, and regional pattern function.

Area description: Glove asset will have different numbers of decorative parts depending on the asset . The decorative parts are control by art asset and cannot be increased or decreased. Therefore, we can only obtain the number of decorations through the code part.length, or by observing the number of decorations of the asset in the character appearance editor in advance. Then modify the effect of each decoration through code. In the part[0] function, [0] represents the decoration position, and we modify it according to the number of decorations obtained.

  1. Overall functions include: glove style, area color.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print the glove part
console.log(chara.description.advance.clothing.gloves.part.length);
//Set the glove style
chara.description.advance.clothing.gloves.style = "98595";    
//Set the color of the glove area [0]
chara.description.advance.clothing.gloves.part[0].color.areaColor = new LinearColor(255, 40, 40);
//Get the Player character
let chara = Player.localPlayer.character
//Print the glove part
console.log(chara.description.advance.clothing.gloves.part.length);
//Set the glove style
chara.description.advance.clothing.gloves.style = "98595";    
//Set the color of the glove area [0]
chara.description.advance.clothing.gloves.part[0].color.areaColor = new LinearColor(255, 40, 40);
  1. The regional pattern functions include: pattern style, pattern color, and pattern rotation.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the glove area [0]
chara.description.advance.clothing.gloves.part[0].design.designStyle = "32104";
//Set the pattern color of the glove area [0]
chara.description.advance.clothing.gloves.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of the glove area [0]
chara.description.advance.clothing.gloves.part[0].design.designRotation = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the glove area [0]
chara.description.advance.clothing.gloves.part[0].design.designStyle = "32104";
//Set the pattern color of the glove area [0]
chara.description.advance.clothing.gloves.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of the glove area [0]
chara.description.advance.clothing.gloves.part[0].design.designRotation = 1;
  1. Regional pattern functions include: pattern style, pattern color, pattern left and right scale, pattern up and down scale, pattern rotation, and pattern display degree.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of glove area [0] to vertical scale
chara.description.advance.clothing.gloves.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternVisibility = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of glove area [0] to vertical scale
chara.description.advance.clothing.gloves.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the glove area [0]
chara.description.advance.clothing.gloves.part[0].pattern.patternVisibility = 1;

shoe

Shoe function: can be subdivided into overall function, regional pattern function, and regional pattern function.

Area description: Shoe asset will have different numbers of decorative parts depending on the asset . The decorative parts are control by art asset and cannot be increased or decreased. Therefore, we can only obtain the number of decorations through the code part.length, or by observing the number of decorations of the asset in the character appearance editor in advance. Then modify the effect of each decoration through code. In the part[0] function, [0] represents the decoration position, and we modify it according to the number of decorations obtained.

  1. Overall functions include: shoe style, area color.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Print shoe parts
console.log(chara.description.advance.clothing.shoes.part.length);
//Set the shoe style
chara.description.advance.clothing.shoes.style = "131788";    
//Set the color of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].color.areaColor = new LinearColor(255, 40, 40);
//Get the Player character
let chara = Player.localPlayer.character
//Print shoe parts
console.log(chara.description.advance.clothing.shoes.part.length);
//Set the shoe style
chara.description.advance.clothing.shoes.style = "131788";    
//Set the color of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].color.areaColor = new LinearColor(255, 40, 40);
  1. The regional pattern functions include: pattern style, pattern color, and pattern rotation.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].design.designStyle = "32104";
//Set the pattern color of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of shoe area [0]
chara.description.advance.clothing.shoes.part[0].design.designRotation = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].design.designStyle = "32104";
//Set the pattern color of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].design.designColor = new LinearColor(255, 40, 40);
//Set the pattern rotation of shoe area [0]
chara.description.advance.clothing.shoes.part[0].design.designRotation = 1;
  1. Regional pattern functions include: pattern style, pattern color, pattern left and right scale, pattern up and down scale, pattern rotation, and pattern display degree.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of shoe area [0] to vertical scale
chara.description.advance.clothing.shoes.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternVisibility = 1;
//Get the Player character
let chara = Player.localPlayer.character
//Set the pattern style of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternStyle = "25481";
//Set the pattern color of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternColor = new LinearColor(255, 40, 40);
//Set the pattern of shoe area [0] to vertical scale
chara.description.advance.clothing.shoes.part[0].pattern.patternHorizontalScale = 1;
//Set the pattern rotation of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternRotation = 1;
//Set the pattern up and down scaling of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternVerticalScale = 1;
//Set the pattern display level of the shoe area [0]
chara.description.advance.clothing.shoes.part[0].pattern.patternVisibility = 1;

Body shape modify

The body shape of advanced humanoid appearance can be modify in advance through the [ character appearance editor ], or dynamically modify through script .

Head

Head functions include: overall scale, left and right scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the head to vertical scale
chara.description.advance.headFeatures.head.headHorizontalScale = 1
//Set the overall head scale
chara.description.advance.headFeatures.head.headOverallScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the head to vertical scale
chara.description.advance.headFeatures.head.headHorizontalScale = 1
//Set the overall head scale
chara.description.advance.headFeatures.head.headOverallScale = 1

Body

Body features include: Overall height scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set height
chara.description.advance.bodyFeatures.body.height = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set height
chara.description.advance.bodyFeatures.body.height = 1

neck

Neck functions include: front and back scale, left and right scale, and up and down scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the neck to scale forward and backward
chara.description.advance.bodyFeatures.neck.neckFrontalScale = 1
//Set the neck to vertical scale
chara.description.advance.bodyFeatures.neck.neckHorizontalScale = 1
//Set the neck up and down scale
chara.description.advance.bodyFeatures.neck.neckVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the neck to scale forward and backward
chara.description.advance.bodyFeatures.neck.neckFrontalScale = 1
//Set the neck to vertical scale
chara.description.advance.bodyFeatures.neck.neckHorizontalScale = 1
//Set the neck up and down scale
chara.description.advance.bodyFeatures.neck.neckVerticalScale = 1

Thoracic cavity

Chest functions include: front and back scale, left and right scale, up and down scale

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the chest front and back scale
chara.description.advance.bodyFeatures.chest.chestFrontalScale = 1
//Set the chest to vertical scale
chara.description.advance.bodyFeatures.chest.chestHorizontalScale = 1
//Set the chest up and down scale
chara.description.advance.bodyFeatures.chest.chestVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the chest front and back scale
chara.description.advance.bodyFeatures.chest.chestFrontalScale = 1
//Set the chest to vertical scale
chara.description.advance.bodyFeatures.chest.chestHorizontalScale = 1
//Set the chest up and down scale
chara.description.advance.bodyFeatures.chest.chestVerticalScale = 1

breast

breast functions include: left and right scale, length scale, left and right scale, and up and down scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set breast left and right scale
chara.description.advance.bodyFeatures.breast.breastHorizontalShift = 1
//Set breast length scale
chara.description.advance.bodyFeatures.breast.breastLength = 1
//Set breast left and right scale
chara.description.advance.bodyFeatures.breast.breastOverallScale = 1
//Set breast up and down scale
chara.description.advance.bodyFeatures.breast.breastVerticalShift = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set breast left and right scale
chara.description.advance.bodyFeatures.breast.breastHorizontalShift = 1
//Set breast length scale
chara.description.advance.bodyFeatures.breast.breastLength = 1
//Set breast left and right scale
chara.description.advance.bodyFeatures.breast.breastOverallScale = 1
//Set breast up and down scale
chara.description.advance.bodyFeatures.breast.breastVerticalShift = 1

Ribs

The rib functions include: front and back scale, left and right scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the rib front and back scale
chara.description.advance.bodyFeatures.ribs.ribFrontalScale = 1
//Set the ribs to vertical scale
chara.description.advance.bodyFeatures.ribs.ribHorizontalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the rib front and back scale
chara.description.advance.bodyFeatures.ribs.ribFrontalScale = 1
//Set the ribs to vertical scale
chara.description.advance.bodyFeatures.ribs.ribHorizontalScale = 1

waist

The waist functions include: front and back scale, left and right scale, and up and down scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the waist front and back scale
chara.description.advance.bodyFeatures.waist.waistFrontalScale = 1
//Set the waist left and right scale
chara.description.advance.bodyFeatures.waist.waistHorizontalScale = 1
//Set the waist up and down scale
chara.description.advance.bodyFeatures.waist.waistVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the waist front and back scale
chara.description.advance.bodyFeatures.waist.waistFrontalScale = 1
//Set the waist left and right scale
chara.description.advance.bodyFeatures.waist.waistHorizontalScale = 1
//Set the waist up and down scale
chara.description.advance.bodyFeatures.waist.waistVerticalScale = 1

Arm

The arm can be divided into forearm function, shoulder and arm function, and upper arm function.

  1. The forearm functions include: front and back scale, left and right scale, and up and down scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the forearm to scale forward and backward
chara.description.advance.bodyFeatures.arms.forearmFrontalScale = 1
//Set the left and right scale of the forearm
chara.description.advance.bodyFeatures.arms.forearmHorizontalScale = 1
//Set the arm up and down scale
chara.description.advance.bodyFeatures.arms.forearmVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the forearm to scale forward and backward
chara.description.advance.bodyFeatures.arms.forearmFrontalScale = 1
//Set the left and right scale of the forearm
chara.description.advance.bodyFeatures.arms.forearmHorizontalScale = 1
//Set the arm up and down scale
chara.description.advance.bodyFeatures.arms.forearmVerticalScale = 1
  1. Shoulder and arm functions include: front and back scale, left and right scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the shoulder and arm to scale
chara.description.advance.bodyFeatures.arms.shoulderFrontalScale = 1
//Set the shoulder and arm to vertical scale
chara.description.advance.bodyFeatures.arms.shoulderHorizontalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the shoulder and arm to scale
chara.description.advance.bodyFeatures.arms.shoulderFrontalScale = 1
//Set the shoulder and arm to vertical scale
chara.description.advance.bodyFeatures.arms.shoulderHorizontalScale = 1
  1. The arm functions include: front and rear scale, left and right scale, up and down scale
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the arm to scale
chara.description.advance.bodyFeatures.arms.upperArmFrontalScale = 1
//Set the arm to vertical scale
chara.description.advance.bodyFeatures.arms.upperArmHorizontalScale = 1
//Set the upper arm up and down scale
chara.description.advance.bodyFeatures.arms.upperArmVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the arm to scale
chara.description.advance.bodyFeatures.arms.upperArmFrontalScale = 1
//Set the arm to vertical scale
chara.description.advance.bodyFeatures.arms.upperArmHorizontalScale = 1
//Set the upper arm up and down scale
chara.description.advance.bodyFeatures.arms.upperArmVerticalScale = 1

Hand

Hand functions include: overall scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the overall scale of the hand
chara.description.advance.bodyFeatures.hands.handOverallScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the overall scale of the hand
chara.description.advance.bodyFeatures.hands.handOverallScale = 1

Hip

Hip functions include: front and back scale, left and right scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the hip front and back scale
chara.description.advance.bodyFeatures.hips.hipFrontalScale = 1
//Set the hip left and right scale
chara.description.advance.bodyFeatures.hips.hipHorizontalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the hip front and back scale
chara.description.advance.bodyFeatures.hips.hipFrontalScale = 1
//Set the hip left and right scale
chara.description.advance.bodyFeatures.hips.hipHorizontalScale = 1

leg

The legs can be divided into calf function and thigh function.

  1. The calf functions include: front and back scale, left and right scale, and up and down scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the front and back scale of the calf
chara.description.advance.bodyFeatures.legs.calfFrontalScale = 1
//Set the calf left and right scale
chara.description.advance.bodyFeatures.legs.calfHorizontalScale = 1
//Set the calf up and down scale
chara.description.advance.bodyFeatures.legs.calfVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the front and back scale of the calf
chara.description.advance.bodyFeatures.legs.calfFrontalScale = 1
//Set the calf left and right scale
chara.description.advance.bodyFeatures.legs.calfHorizontalScale = 1
//Set the calf up and down scale
chara.description.advance.bodyFeatures.legs.calfVerticalScale = 1
  1. Thigh functions include: front and back scale, left and right scale, and up and down scale.
  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the front and back scale of the thigh
chara.description.advance.bodyFeatures.legs.thighFrontalScale = 1
//Set the thigh left and right scale
chara.description.advance.bodyFeatures.legs.thighHorizontalScale = 1
//Set the thigh up and down scale
chara.description.advance.bodyFeatures.legs.thighVerticalScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the front and back scale of the thigh
chara.description.advance.bodyFeatures.legs.thighFrontalScale = 1
//Set the thigh left and right scale
chara.description.advance.bodyFeatures.legs.thighHorizontalScale = 1
//Set the thigh up and down scale
chara.description.advance.bodyFeatures.legs.thighVerticalScale = 1

Foot functions include: overall scale.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the overall scale of the foot
chara.description.advance.bodyFeatures.feet.feetOverallScale = 1
//Get the Player character
let chara = Player.localPlayer.character
//Set the overall scale of the foot
chara.description.advance.bodyFeatures.feet.feetOverallScale = 1

Advanced humanoid appearance change

Character Appearance Data File

image-20240827140740547

character data description: character data is a file that combines clothing information, face shaping data, slot data, etc.

Data generate description: You can use the Save As function of the character appearance editor to save the character data to the character list in Project Content. Of course, we can also find the [Outfit] in [ClothSK] list in the [Local asset library ] and find some pre-made [ character Data] we need.

description for use:

  • Drag the character data into the character in the main viewport of the [ character appearance editor ] to complete the costume change.
  • The character data can also be dragged into the [Suit Data] of the [character properties panel] to complete the character costume change.
  • Drag the character data into the main viewport of the [Main editor ] and the NPC will be automatically generate.
  • character data can also be changed through script.

Practical application: Usually, when we are making experience, we will save the NPC appearance we will use in advance. After the triggering conditions are met, monsters or NPCs with relevant appearance are generate . This way we will save some code in the script to write the character appearance.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the character appearance through the suit data
chara.setDescription(["136291"])
//Get the Player character
let chara = Player.localPlayer.character
//Set the character appearance through the suit data
chara.setDescription(["136291"])

Get appearance and reset appearance

Function description: We provide the functions of obtaining character appearance and setting appearance.

  • Sample script:
ts
//Get the Player character
let chara = Player.localPlayer.character
//Set the appearance data to empty
let defaultStyle = null;
//When the character appearance is loaded
chara.onDescriptionComplete.add(() => {
    //When the appearance data is not equal to empty
    if (defaultStyle == null){
        //Get the character appearance  
        defaultStyle = chara.getDescription();
    }
})
//Get the Player character
let chara = Player.localPlayer.character
//Set the appearance data to empty
let defaultStyle = null;
//When the character appearance is loaded
chara.onDescriptionComplete.add(() => {
    //When the appearance data is not equal to empty
    if (defaultStyle == null){
        //Get the character appearance  
        defaultStyle = chara.getDescription();
    }
})