---
title: Mesurer la taille de votre personnage
slug: world-sdk-guide-fr/mesurer-la-taille-de-votre-personnage
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

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.

```typescript
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.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-lpGLOsNjPVzJwPLTSC0VP-20240904-102420.png)



:::hint{type="success"}
👍 **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 :
:::

:::hint{type="info"}
**📘 SkinnedMeshRenderer.localBounds**

- [https://docs.unity3d.com/Manual/class-SkinnedMeshRenderer.html](https://docs.unity3d.com/Manual/class-SkinnedMeshRenderer.html)
- [https://docs.unity3d.com/2020.3/Documentation/ScriptReference/SkinnedMeshRenderer-localBounds.html](https://docs.unity3d.com/2020.3/Documentation/ScriptReference/SkinnedMeshRenderer-localBounds.html)
:::

