Mesurer la taille de votre personnage
4 min
Dans ce guide, nous allons vous montrer comment mesurer la hauteur du personnage ZEPETO d'un joueur local en fonction du type de corps.
ÉTAPE 1 : Écrivez un script pour obtenir la valeur de hauteur du personnage
Ajoutez un GameObject à la scène et ajoutez le script d'exemple CharacterHeight ci-dessous.
import { Debug, HumanBodyBones, Vector3, WaitForEndOfFrame } from 'UnityEngine';
import { LocalPlayer, ZepetoPlayers, ZepetoPlayer, KnowSockets } from 'ZEPETO.Character.Controller';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
export default class CharacterHeight extends ZepetoScriptBehaviour {
Start() {
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
let _player: LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
this.StartCoroutine(this.CoGetZepetoHeight(_player.zepetoPlayer));
});
}
*CoGetZepetoHeight(zepeto: ZepetoPlayer) {
// Utilisez WaitForEndOfFrame pour obtenir avec précision les positions des articulations du personnage.
yield new WaitForEndOfFrame();
// Obtenez la position de la tête.
const headPosition = zepeto.character.GetSocket(KnowSockets.HEAD_UPPER).position;
// Obtenez la position du pied gauche.
const leftFootPosition = zepeto.character.ZepetoAnimator.GetBoneTransform(HumanBodyBones.LeftFoot).position;
// Obtenez la position du pied droit.
const rightFootPosition = zepeto.character.ZepetoAnimator.GetBoneTransform(HumanBodyBones.RightFoot).position;
// Calculez le point médian entre les deux pieds.
const characterCenter = Vector3.Lerp(leftFootPosition, rightFootPosition, 0.5);
// Calculez la distance entre la tête et le centre du personnage.
const characterHeight = Vector3.Distance(headPosition, characterCenter);
console.log(`Hauteur du personnage par rapport au sol : ${characterHeight}`);
}
}
Description du script
- *CoGetZepetoHeight(zepeto: ZepetoPlayer)
- Utilisez GetSocket pour obtenir la valeur de position de la socket de la tête du personnage.
- Pour obtenir la valeur de position du centre inférieur du personnage, utilisez GetBoneTransform pour obtenir la valeur de position des deux pieds du personnage.
- Utilisez Vector3.Lerp pour obtenir la valeur de position du centre inférieur du personnage.
- Obtenez la valeur de hauteur du personnage en utilisant la socket de la tête du personnage et la valeur de position du centre inférieur.
ÉTAPE 2 : Exécuter
Lorsque vous l'exécutez en cliquant sur le bouton Lecture, vous pouvez voir la valeur de la hauteur du personnage dans le journal de la console.

👍 CONSEIL
- La façon de mesurer la hauteur dans l'exemple est de mesurer la hauteur du personnage en utilisant la valeur de hauteur du HeadSocket.
- Si vous souhaitez mesurer la position supérieure en modélisant la tête, le chapeau et les accessoires du personnage, veuillez vous référer au lien suivant :