---
title: ZEPETO.Character.Controller
slug: world-sdk-guide-fr/zepetocharactercontroller
docTags: 
createdAt: 2026-09-04T06:52:35.291Z
---

| Type                                                             | Description                                                                                                                                                                                                                 |
| ---------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [ZepetoPlayers](./#zepetoplayers)                                | Classe de gestion conçue pour contrôler à la fois le joueur ZEPETO et le personnage ZEPETO.                                                                                                                                 |
| [SpawnInfo](./#spawninfo)                                        | Représente l'emplacement d'apparition d'un personnage ZEPETO.                                                                                                                                                               |
| [ZepetoCharacter](./#zepetocharacter)                            | Représente un personnage ZEPETO pouvant être chargé et contrôlé dans un ZEPETO World.                                                                                                                                       |
| [CameraData](./#cameradata)                                      | Représente la configuration initiale d'un `ZepetoCamera`.                                                                                                                                                                   |
| [CharacterData](./#characterdata)                                | Représente la configuration initiale d'un `ZepetoCharacter`.                                                                                                                                                                |
| [ControllerData](./#controllerdata)                              | Représente la configuration d'un `ZepetoPlayerControl`.                                                                                                                                                                     |
| [FloatingUIData](./#floatinguidata)                              | Classe chargée de gérer les paramètres d'interface liés au personnage.                                                                                                                                                      |
| [LocalPlayer](./#localplayer)                                    | Classe conçue pour gérer les actions du joueur local, notamment le déplacement, la personnalisation de la tenue et les interactions avec la caméra ZEPETO.                                                                  |
| [ZepetoCamera](./#zepetocamera)                                  | Classe de contrôle de caméra conçue pour être utilisée avec un ZEPETO Character Controller.                                                                                                                                 |
| [ZepetoPlayer](./#zepetoplayer)                                  | Représente un joueur ZEPETO.                                                                                                                                                                                                |
| [ZepetoPlayerControl](./#zepetoplayercontrol)                    | Gère le contrôle des entrées d'un joueur ZEPETO.                                                                                                                                                                            |
| [ZepetoCameraControl](./#zepetocameracontrol)                    | Gère les commandes de caméra dans un environnement ZEPETO, y compris le traitement des entrées pour le déplacement et le zoom de la caméra.                                                                                 |
| [CharacterState](./#characterstate)                              | Représente l'état d'un personnage ZEPETO.                                                                                                                                                                                   |
| [CharacterMoveState](./#charactermovestate)                      | Représente l'état de déplacement détaillé d'un personnage ZEPETO.                                                                                                                                                           |
| [CharacterJumpState](./#characterjumpstate)                      | Représente l'état de saut détaillé d'un personnage ZEPETO.                                                                                                                                                                  |
| [CharacterLandingState](./#characterlandingstate)                | Représente l'état d'atterrissage détaillé d'un personnage ZEPETO.                                                                                                                                                           |
| [KnowSockets](./#knowsockets)                                    | Définit un ensemble de points d'attache connus, appelés sockets, sur un personnage.                                                                                                                                         |
| [MotionState](./#motionstate)                                    | Classe permettant de gérer l'état et la configuration de mouvement du personnage.                                                                                                                                           |
| [CharacterStateMachine](./#characterstatemachine)                | Classe chargée de synchroniser l'animator avec l'état de personnage d'un personnage ZEPETO.                                                                                                                                 |
| [StateMachine](./#statemachine)                                  | `StateMachine` gère les `States`, les `Transitions` et les `Events`. En mettant à jour les états selon des conditions définies et le temps écoulé, elle permet de définir et de contrôler des états variés pour les objets. |
| [StateStatus](./#statestatus)                                    | Représente les statuts possibles d'un état au sein d'une machine à états, indiquant la phase actuelle du cycle de vie de l'état.                                                                                            |
| [CustomMotionData](./#custommotiondata)                          | Représente la configuration personnalisée du mouvement du personnage.                                                                                                                                                       |
| [CharacterShadow](./#charactershadow)                            | Classe chargée de gérer les ombres des personnages ZEPETO.                                                                                                                                                                  |
| [CameraState](./#camerastate)                                    | Représente l'état d'un `ZepetoCamera`.                                                                                                                                                                                      |
| [ZepetoScreenStick](./#zepetoscreenstick)                        | Classe conçue pour gérer les interactions au stick dans l'environnement ZEPETO.                                                                                                                                             |
| [ZepetoScreenControl](./#zepetoscreencontrol)                    | Classe abstraite conçue pour créer des contrôles d'interface dans l'environnement ZEPETO.                                                                                                                                   |
| [ZepetoScreenButton](./#zepetoscreenbutton)                      | Classe conçue pour gérer les interactions avec les boutons dans l'environnement ZEPETO.                                                                                                                                     |
| [ZepetoScreenTouchpad](./#zepetoscreentouchpad)                  | Classe conçue pour gérer les interactions au pavé tactile dans l'environnement ZEPETO.                                                                                                                                      |
| [UIZepetoPlayerControl](./#uizepetoplayercontrol)                | Classe fournissant un contrôle par interface du personnage du joueur local.                                                                                                                                                 |
| [InputHelper](./#inputhelper)                                    | Classe utilitaire conçue pour faciliter le traitement des entrées.                                                                                                                                                          |
| [EventReceiver](./#eventreceiver)                                | Classe chargée de traiter les événements liés au personnage ou les événements généraux au sein du ZEPETO World.                                                                                                             |
| [TransitionBase](./#transitionbase)                              | Classe de base permettant de définir les transitions entre états dans une machine à états.                                                                                                                                  |
| [State](./#state)                                                | Représente un état au sein d'une machine à états.                                                                                                                                                                           |
| [Transition](./#transition)                                      | Classe générique permettant de définir les transitions entre états dans une machine à états.                                                                                                                                |
| [ZepetoCharacter.LoadingStatus](./#zepetocharacterloadingstatus) | État de chargement du personnage ZEPETO.                                                                                                                                                                                    |
| [PlayerControlMode](./#playercontrolmode)                        | *enum*                                                                                                                                                                                                                      |

## ZepetoPlayers

`class`

Classe de gestion conçue pour contrôler à la fois le joueur ZEPETO et le personnage ZEPETO.

### Propriétés

| Nom               | Type                                | Description                                |
| ----------------- | ----------------------------------- | ------------------------------------------ |
| cameraData        | [CameraData](./#cameradata)         | Configuration d'un `ZepetoCamera`.         |
| characterData     | [CharacterData](./#characterdata)   | Configuration d'un `ZepetoCharacter`.      |
| controllerData    | [ControllerData](./#controllerdata) | Configuration d'un `ZepetoPlayerControl`.  |
| floatingUIData    | [FloatingUIData](./#floatinguidata) | Paramètres d'interface liés au personnage. |
| instance (static) | [ZepetoPlayers](./#zepetoplayers)   | Instance singleton de `ZepetoPlayers`.     |
| LocalPlayer       | [LocalPlayer](./#localplayer)       | Joueur local.                              |
| ZepetoCamera      | [ZepetoCamera](./#zepetocamera)     | Caméra ZEPETO.                             |

### Événements

| Nom                | Type                 | Description                                                             |
| ------------------ | -------------------- | ----------------------------------------------------------------------- |
| OnAddedLocalPlayer | `UnityEvent`         | Événement déclenché lors de la création d'une instance de joueur local. |
| OnAddedPlayer      | `UnityEvent<string>` | Événement déclenché lors de la création d'une instance de joueur.       |
| OnRemovedPlayer    | `UnityEvent<string>` | Événement déclenché lors de la suppression d'une instance de joueur.    |

### Méthodes

### add\_onInitialized

`static add_onInitialized(value: Action) → void`

Ajoute une fonction de traitement pour l'événement déclenché lors de l'initialisation de `ZepetoPlayers`.

| Paramètre | Type     |
| --------- | -------- |
| value     | `Action` |

### remove\_onInitialized

`static remove_onInitialized(value: Action) → void`

Supprime une fonction de traitement de l'événement déclenché lors de l'initialisation de `ZepetoPlayers`.

| Paramètre | Type     |
| --------- | -------- |
| value     | `Action` |

### HasPlayer

`HasPlayer(id: string) → boolean`

Vérifie l'existence d'une instance de joueur associée à l'ID de session spécifié.

| Paramètre | Type     | Description   |
| --------- | -------- | ------------- |
| id        | `string` | ID de session |

**Renvoie :** `boolean`

### GetPlayer

`GetPlayer(id: string) → ZepetoPlayer`

Récupère l'instance de joueur associée à l'ID de session spécifié.

| Paramètre | Type     | Description   |
| --------- | -------- | ------------- |
| id        | `string` | ID de session |

**Renvoie :** [ZepetoPlayer](./#zepetoplayer) — Objet joueur associé à l'ID spécifié.
Si aucun joueur ne correspond à l'ID fourni, la valeur `null` est renvoyée.

### GetPlayerWithUserId

`GetPlayerWithUserId(userId: string) → ZepetoPlayer`

Récupère l'instance de joueur associée à l'ID utilisateur spécifié.

| Paramètre | Type     | Description    |
| --------- | -------- | -------------- |
| userId    | `string` | ID utilisateur |

**Renvoie :** [ZepetoPlayer](./#zepetoplayer) — Objet joueur associé à l'ID utilisateur spécifié.

### RemovePlayer

`RemovePlayer(id: string) → void`

Supprime l'instance de joueur associée à l'ID de session spécifié.

| Paramètre | Type     | Description   |
| --------- | -------- | ------------- |
| id        | `string` | ID de session |

### DeformDefaultCostume

`DeformDefaultCostume() → void`

Retire les articles de déformation corporelle portés par le personnage de chaque joueur.
Rétablit la morphologie par défaut et applique la tenue ZEPETO par défaut.

### DeformDefaultProperties

`DeformDefaultProperties() → void`

Retire les articles de déformation corporelle portés par le personnage de chaque joueur.

## SpawnInfo

`class`

Représente l'emplacement d'apparition d'un personnage ZEPETO.

### Propriétés

| Nom              | Type                      | Description                                           |
| ---------------- | ------------------------- | ----------------------------------------------------- |
| Default (static) | [SpawnInfo](./#spawninfo) | Emplacement d'apparition par défaut.                  |
| position         | `Vector3`                 | Position du personnage ZEPETO lors de son apparition. |
| rotation         | `Quaternion`              | Rotation du personnage ZEPETO lors de son apparition. |

## ZepetoCharacter

`class`

Représente un personnage ZEPETO pouvant être chargé et contrôlé dans un ZEPETO World.

### Propriétés

| Nom                 | Type                                              | Description                                                                                                   |
| ------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| additionalWalkSpeed | `number`                                          | Récupère la vitesse de marche additionnelle.                                                                  |
| additionalRunSpeed  | `number`                                          | Récupère la vitesse de course additionnelle.                                                                  |
| additionalJumpPower | `number`                                          | Récupère la puissance de saut additionnelle.                                                                  |
| constraintRotation  | `boolean`                                         | Détermine si la rotation du personnage est restreinte.                                                        |
| ZepetoAnimator      | `Animator`                                        | Animator du personnage ZEPETO.                                                                                |
| WalkSpeed           | `number`                                          | Récupère la vitesse de marche totale, soit la somme de la vitesse de base et de la vitesse additionnelle.     |
| RunSpeed            | `number`                                          | Récupère la vitesse de course totale, soit la somme de la vitesse de base et de la vitesse additionnelle.     |
| JumpPower           | `number`                                          | Récupère la puissance de saut totale, soit la somme de la puissance de base et de la puissance additionnelle. |
| baseWalkSpeed       | `number`                                          | Récupère la vitesse de marche de base.                                                                        |
| baseRunSpeed        | `number`                                          | Récupère la vitesse de course de base.                                                                        |
| baseJumpPower       | `number`                                          | Récupère la puissance de saut de base.                                                                        |
| tryMove             | `boolean`                                         | Indique si le personnage tente de se déplacer.                                                                |
| tryJump             | `boolean`                                         | Indique si le personnage tente de sauter.                                                                     |
| tryDoubleJump       | `boolean`                                         | Indique si le personnage tente d'effectuer un double saut.                                                    |
| motionState         | [MotionState](./#motionstate)                     | État et configuration de mouvement du personnage.                                                             |
| loadingStatus       | [LoadingStatus](./#zepetocharacterloadingstatus)  | État de chargement du personnage.                                                                             |
| Context             | `ZepetoContext`                                   | Contexte ZEPETO du personnage.                                                                                |
| StateMachine        | [CharacterStateMachine](./#characterstatemachine) | Machine à états du personnage.                                                                                |
| CurrentState        | [CharacterState](./#characterstate)               | État actuel du personnage tel que défini dans la machine à états.                                             |
| CurrentStateStatus  | [StateStatus](./#statestatus)                     | Statut de l'état actuel du personnage, tel que défini dans la machine à états.                                |
| ElapsedTime         | `number`                                          | Temps écoulé en secondes depuis l'initialisation du personnage.                                               |

### Événements

| Nom            | Type                                         | Description                                                                                                                                                                                                                          |
| -------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| OnChangedState | `UnityEvent<CharacterState, CharacterState>` | Événement déclenché lorsque l'état du personnage change. Les écouteurs enregistrés reçoivent deux paramètres : - Le nouvel état du personnage. (Type : `CharacterState`) - L'état précédent du personnage. (Type : `CharacterState`) |
| OnUpdateState  | `UnityEvent<CharacterState>`                 | Événement déclenché lorsque l'état du personnage se trouve au statut `StateStatus.Update`. Les écouteurs enregistrés reçoivent un seul paramètre : - L'état actuel du personnage. (Type : `CharacterState`)                          |

### Méthodes

### SyncStateAnimation

`SyncStateAnimation() → void`

Synchronise l'animator avec l'état actuel du personnage ZEPETO.

### ChangeStateAnimation

`ChangeStateAnimation(state: CharacterState) → void`

Joue sur l'animator l'animation associée à l'état de personnage fourni.

| Paramètre | Type                                | Description                                          |
| --------- | ----------------------------------- | ---------------------------------------------------- |
| state     | [CharacterState](./#characterstate) | État de personnage représentant l'animation à jouer. |

### ChangeStateAnimation

`ChangeStateAnimation(state: CharacterState, moveState: CharacterMoveState) → void`

Joue sur l'animator l'animation associée à l'état de personnage fourni.

| Paramètre | Type                                        | Description                                                                                 |
| --------- | ------------------------------------------- | ------------------------------------------------------------------------------------------- |
| state     | [CharacterState](./#characterstate)         | État de personnage représentant l'animation à jouer.                                        |
| moveState | [CharacterMoveState](./#charactermovestate) | État de déplacement facultatif pour l'animation lorsque `state` vaut `CharacterState.Move`. |

### ChangeStateAnimation

`ChangeStateAnimation(state: CharacterState, jumpState: CharacterJumpState) → void`

Joue sur l'animator l'animation associée à l'état de personnage fourni.

| Paramètre | Type                                        | Description                                                                          |
| --------- | ------------------------------------------- | ------------------------------------------------------------------------------------ |
| state     | [CharacterState](./#characterstate)         | État de personnage représentant l'animation à jouer.                                 |
| jumpState | [CharacterJumpState](./#characterjumpstate) | État de saut facultatif pour l'animation lorsque `state` vaut `CharacterState.Jump`. |

### ChangeStateAnimation

`ChangeStateAnimation(state: CharacterState, landingState: CharacterLandingState) → void`

Joue sur l'animator l'animation associée à l'état de personnage fourni.

| Paramètre    | Type                                              | Description                                                                                    |
| ------------ | ------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| state        | [CharacterState](./#characterstate)               | État de personnage représentant l'animation à jouer.                                           |
| landingState | [CharacterLandingState](./#characterlandingstate) | État d'atterrissage facultatif pour l'animation lorsque `state` vaut `CharacterState.Landing`. |

### Move

`Move(dir: Vector2) → void`

Déplace le personnage dans une direction spécifiée.

| Paramètre | Type      | Description                                             |
| --------- | --------- | ------------------------------------------------------- |
| dir       | `Vector2` | Direction dans laquelle le personnage doit se déplacer. |

### Move

`Move(dir: Vector3) → void`

Déplace le personnage dans une direction spécifiée.

| Paramètre | Type      | Description                                             |
| --------- | --------- | ------------------------------------------------------- |
| dir       | `Vector3` | Direction dans laquelle le personnage doit se déplacer. |

### MoveContinuously

`MoveContinuously(dir: Vector2) → void`

Déplace le personnage en continu dans une direction donnée, en fonction de son orientation actuelle.

| Paramètre | Type      | Description                                                                                      |
| --------- | --------- | ------------------------------------------------------------------------------------------------ |
| dir       | `Vector2` | Direction dans laquelle le personnage doit se déplacer, en fonction de son orientation actuelle. |

### MoveContinuously

`MoveContinuously(dir: Vector3) → void`

Déplace le personnage en continu dans une direction donnée, en fonction de son orientation actuelle.

| Paramètre | Type      | Description                                                                                      |
| --------- | --------- | ------------------------------------------------------------------------------------------------ |
| dir       | `Vector3` | Direction dans laquelle le personnage doit se déplacer, en fonction de son orientation actuelle. |

### MoveToPosition

`MoveToPosition(pos: Vector3) → void`

Déplace le personnage vers une position spécifiée.

| Paramètre | Type      | Description                                               |
| --------- | --------- | --------------------------------------------------------- |
| pos       | `Vector3` | Destination vers laquelle le personnage doit se déplacer. |

### StopMoving

`StopMoving() → void`

Arrête le déplacement du personnage.

### Jump

`Jump() → void`

Fait sauter le personnage.

### DoubleJump

`DoubleJump() → void`

Fait effectuer un double saut au personnage.

### Teleport

`Teleport(pos: Vector3, rot: Quaternion) → void`

Déplace instantanément le personnage vers le transform spécifié.

| Paramètre | Type         | Description                                            |
| --------- | ------------ | ------------------------------------------------------ |
| pos       | `Vector3`    | Position vers laquelle le personnage sera téléporté.   |
| rot       | `Quaternion` | Rotation qu'aura le personnage après la téléportation. |

### SetGesture

`SetGesture(gesture: AnimationClip) → void`

Joue le mouvement du personnage correspondant au geste spécifié.

| Paramètre | Type            | Description                         |
| --------- | --------------- | ----------------------------------- |
| gesture   | `AnimationClip` | Geste que le personnage effectuera. |

### CancelGesture

`CancelGesture() → void`

Arrête la lecture du geste.

### GetSocket

`GetSocket(socket: KnowSockets) → Transform`

Récupère le `Transform` d'un socket du personnage.

| Paramètre | Type                          | Description               |
| --------- | ----------------------------- | ------------------------- |
| socket    | [KnowSockets](./#knowsockets) | Socket (point d'attache). |

**Renvoie :** `Transform` — Composant `Transform` associé au socket spécifié.

### GetSocket

`GetSocket(socket: string) → Transform`

Récupère le `Transform` d'un socket du personnage.

| Paramètre | Type     | Description                      |
| --------- | -------- | -------------------------------- |
| socket    | `string` | Nom du socket (point d'attache). |

**Renvoie :** `Transform` — Composant `Transform` associé au socket spécifié.

### GetBodyModifierProperties

`GetBodyModifierProperties() → ZepetoPropertyFlag[]`

Récupère les propriétés de personnage associées aux articles de déformation corporelle portés par le personnage.

**Renvoie :** `ZepetoPropertyFlag[]` — Propriétés de personnage associées aux articles de déformation corporelle portés par le personnage.

### DeformDefaultProperties

`DeformDefaultProperties() → void`

Retire les articles de déformation corporelle portés par le personnage et rétablit la morphologie par défaut.

### DeformDefaultCostume

`DeformDefaultCostume() → void`

Retire les articles de déformation corporelle portés par le personnage, rétablit la morphologie par défaut et applique la tenue ZEPETO par défaut.

### add\_loadedCharacter

`add_loadedCharacter(value: Action) → void`

Ajoute une fonction de callback pour traiter la fin du chargement du personnage.

| Paramètre | Type     |
| --------- | -------- |
| value     | `Action` |

### remove\_loadedCharacter

`remove_loadedCharacter(value: Action) → void`

Supprime une fonction de callback traitant la fin du chargement du personnage.

| Paramètre | Type     |
| --------- | -------- |
| value     | `Action` |

## CameraData

`class`

Représente la configuration initiale d'un `ZepetoCamera`.

### Propriétés

| Nom                    | Type         | Description                                                                                                                   |
| ---------------------- | ------------ | ----------------------------------------------------------------------------------------------------------------------------- |
| cameraPrefab           | `GameObject` | Prefab servant à initialiser `ZepetoCamera`.                                                                                  |
| maxZoomDistance        | `number`     | Distance maximale par défaut à laquelle la caméra peut s'éloigner de la cible.                                                |
| minZoomDistance        | `number`     | Distance minimale par défaut à laquelle la caméra peut se rapprocher de la cible.                                             |
| maxPitch               | `number`     | Angle vertical maximal de rotation de la caméra autour de la cible.                                                           |
| minPitch               | `number`     | Angle vertical minimal de rotation de la caméra autour de la cible.                                                           |
| offset                 | `Vector3`    | Décalage par défaut de la caméra par rapport à sa cible.                                                                      |
| lockXAxis              | `boolean`    | Indique si la rotation de la caméra sur l'axe X est verrouillée.                                                              |
| layer                  | `LayerMask`  | Définit les couches avec lesquelles la caméra peut entrer en collision.                                                       |
| collisionTimeThreshold | `number`     | Seuil temporel de détection des collisions de la caméra, qui détermine la rapidité de sa réaction aux collisions.             |
| zoomSpeed              | `number`     | Vitesse de zoom avant et arrière.                                                                                             |
| zoomDampSpeed          | `number`     | Vitesse d'interpolation du zoom avant et arrière.                                                                             |
| rotationSpeed          | `number`     | Vitesse de rotation.                                                                                                          |
| rotationDampSpeed      | `number`     | Vitesse d'interpolation de la rotation.                                                                                       |
| characterCulling       | `boolean`    | Indique s'il faut activer l'élimination du personnage afin d'éviter les problèmes de rendu lorsque la caméra est très proche. |
| targetScaleWeight      | `number`     | Pondération appliquée à l'échelle de la cible afin d'ajuster la position et le comportement de la caméra.                     |

## CharacterData

`class`

Représente la configuration initiale d'un `ZepetoCharacter`.

### Propriétés

| Nom                | Type                                    | Description                                                                                                      |
| ------------------ | --------------------------------------- | ---------------------------------------------------------------------------------------------------------------- |
| slopeLimit         | `number`                                | Pente maximale que le personnage peut gravir.                                                                    |
| stepOffset         | `number`                                | Différence de hauteur verticale maximale que le personnage peut franchir.                                        |
| skinWidth          | `number`                                | Épaisseur de peau pour la détection des collisions, empêchant le personnage de pénétrer dans d'autres colliders. |
| minMoveDistance    | `number`                                | Plus petit écart que le personnage peut franchir.                                                                |
| center             | `Vector3`                               | Point central du collider du personnage.                                                                         |
| radius             | `number`                                | Rayon de la capsule de collision du personnage.                                                                  |
| height             | `number`                                | Hauteur de la capsule de collision du personnage.                                                                |
| layer              | `LayerMask`                             | Définit les couches avec lesquelles le personnage peut entrer en collision.                                      |
| shadow             | `GameObject`                            | Représentation visuelle de l'ombre du personnage.                                                                |
| animatorController | `RuntimeAnimatorController`             | Animator controller du personnage.                                                                               |
| walkSpeed          | `number`                                | Vitesse de marche du personnage.                                                                                 |
| runSpeed           | `number`                                | Vitesse de course du personnage.                                                                                 |
| jumpPower          | `number`                                | Puissance de saut du personnage.                                                                                 |
| customMotionData   | [CustomMotionData](./#custommotiondata) | Configuration personnalisée du mouvement du personnage.                                                          |

## ControllerData

`class`

Représente la configuration d'un `ZepetoPlayerControl`.

### Propriétés

| Nom                         | Type               | Description                                                                                                                                                             |
| --------------------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| inputAsset                  | `InputActionAsset` | Conteneur d'actions et de liaisons d'entrée servant à gérer des configurations d'entrée complexes.                                                                      |
| eventSystem                 | `GameObject`       | Traite les entrées de l'utilisateur et les transmet aux composants d'interface. Gère les interactions telles que les clics sur les boutons, les glissers-déposers, etc. |
| useDefaultVirtualController | `boolean`          | Détermine s'il faut utiliser le V-Pad par défaut.                                                                                                                       |
| useDefaultInputController   | `boolean`          | Détermine s'il faut utiliser le contrôleur d'entrée par défaut.                                                                                                         |
| verticalController          | `GameObject`       | Prefab de contrôleur V-Pad pour l'orientation verticale de l'écran.                                                                                                     |
| horizontalController        | `GameObject`       | Prefab de contrôleur V-Pad pour l'orientation horizontale de l'écran.                                                                                                   |

## FloatingUIData

`class`

Classe chargée de gérer les paramètres d'interface liés au personnage.

### Propriétés

| Nom                        | Type      | Description                                                                                         |
| -------------------------- | --------- | --------------------------------------------------------------------------------------------------- |
| showNickNameLocalPlayer    | `boolean` | Détermine s'il faut afficher l'interface du pseudonyme du personnage du joueur local.               |
| showNickNameOtherPlayers   | `boolean` | Détermine s'il faut afficher l'interface du pseudonyme des personnages des autres joueurs.          |
| showBubbleChatLocalPlayer  | `boolean` | Détermine s'il faut afficher l'interface de bulle de discussion du personnage du joueur local.      |
| showBubbleChatOtherPlayers | `boolean` | Détermine s'il faut afficher l'interface de bulle de discussion des personnages des autres joueurs. |
| useMiniProfileOnApp        | `boolean` | Détermine s'il faut afficher la fenêtre de mini-profil lorsque l'on clique sur un personnage.       |

## LocalPlayer

`class`

Classe conçue pour gérer les actions du joueur local, notamment le déplacement, la personnalisation de la tenue et les interactions avec la caméra ZEPETO.

### Propriétés

| Nom          | Type                            | Description                                                      |
| ------------ | ------------------------------- | ---------------------------------------------------------------- |
| movingAxis   | `Transform`                     | Axe central de déplacement du personnage ZEPETO du joueur local. |
| zepetoCamera | [ZepetoCamera](./#zepetocamera) | Instance de caméra ZEPETO associée au joueur local.              |
| zepetoPlayer | [ZepetoPlayer](./#zepetoplayer) | Instance de joueur ZEPETO associée au joueur local.              |

### Méthodes

### SetCostume

`SetCostume(itemCode: string, complete?: Action) → void`

Change la tenue du personnage ZEPETO du joueur local. Lève une `Exception` générale.

| Paramètre             | Type     | Description                                          |
| --------------------- | -------- | ---------------------------------------------------- |
| itemCode              | `string` | ID de l'article de la tenue.                         |
| complete (facultatif) | `Action` | Fonction de callback traitant la fin de l'opération. |

### Jump

`Jump() → void`

Fait sauter le personnage ZEPETO du joueur local.

### DoubleJump

`DoubleJump() → void`

Fait effectuer un double saut au personnage ZEPETO du joueur local.

### Move

`Move(dir: Vector2) → void`

Déplace le personnage ZEPETO du joueur local dans une direction spécifiée.

| Paramètre | Type      | Description                                             |
| --------- | --------- | ------------------------------------------------------- |
| dir       | `Vector2` | Direction dans laquelle le personnage doit se déplacer. |

### Move

`Move(dir: Vector3) → void`

Déplace le personnage ZEPETO du joueur local dans une direction spécifiée.

| Paramètre | Type      | Description                                             |
| --------- | --------- | ------------------------------------------------------- |
| dir       | `Vector3` | Direction dans laquelle le personnage doit se déplacer. |

### StopMoving

`StopMoving() → void`

Arrête le personnage ZEPETO du joueur local.

## ZepetoCamera

`class`

Classe de contrôle de caméra conçue pour être utilisée avec un ZEPETO Character Controller.

### Propriétés

| Nom                       | Type                                          | Description                                                                                                                   |
| ------------------------- | --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| additionalMaxZoomDistance | `number`                                      | Distance supplémentaire ajoutée à la valeur de zoom maximale par défaut.                                                      |
| additionalMinZoomDistance | `number`                                      | Distance supplémentaire ajoutée à la valeur de zoom minimale par défaut.                                                      |
| additionalOffset          | `Vector3`                                     | Décalage supplémentaire appliqué à la position de la caméra par rapport à sa cible.                                           |
| currentState              | [CameraState](./#camerastate)                 | Récupère l'état actuel de la caméra.                                                                                          |
| currentStateStatus        | [StateStatus](./#statestatus)                 | Récupère le statut de l'état actuel de la caméra.                                                                             |
| position                  | `Vector3`                                     | Récupère la valeur de position actuelle de la caméra.                                                                         |
| rotation                  | `Quaternion`                                  | Récupère la valeur de rotation actuelle de la caméra.                                                                         |
| distance                  | `number`                                      | Distance par rapport à la cible.                                                                                              |
| cameraParent              | `Transform`                                   | `Transform` de l'objet parent de la caméra.                                                                                   |
| isFollow                  | `boolean`                                     | Récupère l'indicateur précisant si la caméra suit la cible.                                                                   |
| StateMachine              | [StateMachine\<CameraState>](./#statemachine) | Récupère la machine à états de la caméra.                                                                                     |
| FollowTarget              | `Transform`                                   | Récupère le `Transform` de la cible. Par défaut, il s'agit du `HEAD_UPPER` du personnage du joueur local.                     |
| MaxZoomDistance           | `number`                                      | Distance maximale calculée à laquelle la caméra peut s'éloigner de la cible.                                                  |
| MinZoomDistance           | `number`                                      | Distance minimale calculée à laquelle la caméra peut se rapprocher de la cible.                                               |
| LookOffset                | `Vector3`                                     | Décalage calculé de la caméra par rapport à sa cible.                                                                         |
| LockXAxis                 | `boolean`                                     | Indique si la rotation de la caméra sur l'axe X est verrouillée.                                                              |
| CollisionLayer            | `LayerMask`                                   | Définit les couches avec lesquelles la caméra peut entrer en collision.                                                       |
| targetScaleWeight         | `number`                                      | Pondération appliquée à l'échelle de la cible afin d'ajuster la position et le comportement de la caméra.                     |
| useCharacterCulling       | `boolean`                                     | Indique s'il faut activer l'élimination du personnage afin d'éviter les problèmes de rendu lorsque la caméra est très proche. |
| zoomSpeed                 | `number`                                      | Vitesse de zoom avant et arrière.                                                                                             |
| zoomDampSpeed             | `number`                                      | Vitesse d'interpolation du zoom avant et arrière.                                                                             |
| rotationSpeed             | `number`                                      | Vitesse de rotation.                                                                                                          |
| rotationDampSpeed         | `number`                                      | Vitesse d'interpolation de la rotation.                                                                                       |
| camera                    | `Camera`                                      | `Camera` Unity.                                                                                                               |

### Événements

| Nom            | Type                                   | Description                                                                                                                                                                                                                 |
| -------------- | -------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| OnChangedState | `UnityEvent<CameraState, CameraState>` | Événement déclenché lorsque l'état de la caméra change. Les écouteurs enregistrés reçoivent deux paramètres : - Le nouvel état de la caméra. (Type : `CameraState`) - L'état précédent de la caméra. (Type : `CameraState`) |
| OnUpdateState  | `UnityEvent<CameraState>`              | Événement déclenché lorsque l'état actuel de la caméra se trouve au statut `StateStatus.Update`. Les écouteurs enregistrés reçoivent un seul paramètre : - L'état actuel de la caméra. (Type : `CameraState`)               |

### Méthodes

### Create

`static Create(camera: Camera, data: CameraData) → ZepetoCamera`

Crée une instance de `ZepetoCamera`.

| Paramètre | Type                        | Description                                             |
| --------- | --------------------------- | ------------------------------------------------------- |
| camera    | `Camera`                    | Objet `Camera` Unity servant de base au `ZepetoCamera`. |
| data      | [CameraData](./#cameradata) | Configuration initiale du `ZepetoCamera`.               |

**Renvoie :** [ZepetoCamera](./#zepetocamera) — Nouvelle instance de `ZepetoCamera`.

### SetFollowTarget

`SetFollowTarget(target: Transform, scaleReference?: Transform) → void`

Définit la cible que la caméra doit suivre.

| Paramètre                   | Type        | Description                                                                                                                                                                                                       |
| --------------------------- | ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| target                      | `Transform` | `Transform` représentant l'objet que la caméra doit suivre.                                                                                                                                                       |
| scaleReference (facultatif) | `Transform` | `Transform` servant de référence pour mettre à l'échelle le comportement de suivi de la caméra. S'il est fourni, la caméra ajuste sa distance par rapport à la cible en fonction de l'échelle de cette référence. |

### Rotate

`Rotate(delta: Vector2) → void`

Fait pivoter la caméra.

| Paramètre | Type      | Description            |
| --------- | --------- | ---------------------- |
| delta     | `Vector2` | Amplitude de rotation. |

### DoZoom

`DoZoom(delta: number) → void`

Effectue un zoom avec la caméra.

| Paramètre | Type     | Description        |
| --------- | -------- | ------------------ |
| delta     | `number` | Amplitude de zoom. |

## ZepetoPlayer

`class`

Représente un joueur ZEPETO.

### Propriétés

| Nom           | Type                                  | Description                                                                                         |
| ------------- | ------------------------------------- | --------------------------------------------------------------------------------------------------- |
| userId        | `string`                              | ID utilisateur du joueur, un identifiant unique généré aléatoirement lors de la création du compte. |
| name          | `string`                              | Nom d'utilisateur du joueur, défini par l'utilisateur dans l'application ZEPETO.                    |
| character     | [ZepetoCharacter](./#zepetocharacter) | Personnage ZEPETO du joueur.                                                                        |
| isLocalPlayer | `boolean`                             | Indique s'il s'agit d'un joueur local.                                                              |

### Méthodes

### GetProfileTextureAsync

`GetProfileTextureAsync(complete: Action<Texture2D>) → void`

Récupère l'image de profil du joueur. Lève une `Exception` générale.

| Paramètre | Type                | Description                                                |
| --------- | ------------------- | ---------------------------------------------------------- |
| complete  | `Action<Texture2D>` | Fonction de callback traitant l'image de profil récupérée. |

### Release

`Release() → void`

Libère l'objet joueur ZEPETO.

## ZepetoPlayerControl

`class`

Gère le contrôle des entrées d'un joueur ZEPETO.

### Méthodes

### Create

`static Create(playerActions: PlayerActions) → ZepetoPlayerControl`

Crée une instance de `ZepetoPlayerControl`.

| Paramètre     | Type            | Description                                                      |
| ------------- | --------------- | ---------------------------------------------------------------- |
| playerActions | `PlayerActions` | Ensemble d'actions d'entrée à associer au `ZepetoPlayerControl`. |

**Renvoie :** [ZepetoPlayerControl](./#zepetoplayercontrol) — Nouvelle instance de `ZepetoPlayerControl`.
L'instance est attachée à un nouveau game object et prête à traiter les actions d'entrée du joueur.

## ZepetoCameraControl

`class`

Gère les commandes de caméra dans un environnement ZEPETO, y compris le traitement des entrées pour le déplacement et le zoom de la caméra.

### Méthodes

### Create

`static Create(cameraActions: CameraActions) → ZepetoCameraControl`

Crée une instance de `ZepetoCameraControl`.

| Paramètre     | Type            | Description                                                                                                                                              |
| ------------- | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| cameraActions | `CameraActions` | Ensemble d'actions de caméra à associer au `ZepetoCameraControl`. Ces actions définissent la manière dont la caméra réagit aux entrées de l'utilisateur. |

**Renvoie :** [ZepetoCameraControl](./#zepetocameracontrol) — Nouvelle instance de `ZepetoCameraControl`.
L'instance est attachée à un nouveau game object et prête à traiter les actions d'entrée de la caméra.

## CharacterState

`enum`

Représente l'état d'un personnage ZEPETO.

| Nom      | Valeur | Description                                                                                      |
| -------- | ------ | ------------------------------------------------------------------------------------------------ |
| Invalid  | 0      | Non initialisé ou non valide.                                                                    |
| Idle     | 1      | Le personnage n'effectue aucun déplacement ni aucune action.                                     |
| Walk     | 2      | Le personnage se déplace lentement.                                                              |
| Run      | 3      | Le personnage se déplace rapidement.                                                             |
| JumpIdle | 4      | Le personnage saute sur place.                                                                   |
| JumpMove | 5      | Le personnage saute dans une direction, combinant un bond vertical et un déplacement horizontal. |
| Teleport | 20     | Le personnage se déplace d'un endroit à un autre sans parcourir l'espace intermédiaire.          |
| Gesture  | 30     | Le personnage effectue un geste.                                                                 |
| Move     | 102    | État de déplacement général.                                                                     |
| MoveTurn | 103    | Le personnage change de direction de déplacement.                                                |
| Jump     | 104    | État de saut général.                                                                            |
| Stamp    | 106    | Le personnage effectue une frappe au sol.                                                        |
| Falling  | 108    | Le personnage est en chute libre.                                                                |
| Landing  | 109    | Le personnage revient au sol après une chute.                                                    |

## CharacterMoveState

`enum`

Représente l'état de déplacement détaillé d'un personnage ZEPETO.

| Nom      | Valeur | Description         |
| -------- | ------ | ------------------- |
| None     | -1     | None.               |
| MoveWalk | 0      | Déplacement lent.   |
| MoveRun  | 1      | Déplacement rapide. |

## CharacterJumpState

`enum`

Représente l'état de saut détaillé d'un personnage ZEPETO.

| Nom        | Valeur | Description                                                                       |
| ---------- | ------ | --------------------------------------------------------------------------------- |
| None       | -1     | None.                                                                             |
| JumpIdle   | 0      | Saut sur place.                                                                   |
| JumpMove   | 1      | Saut dans une direction, combinant un bond vertical et un déplacement horizontal. |
| JumpDash   | 2      | Saut rapide.                                                                      |
| JumpDouble | 3      | Exécution d'un second saut alors que le personnage est déjà en train de sauter.   |

## CharacterLandingState

`enum`

Représente l'état d'atterrissage détaillé d'un personnage ZEPETO.

| Nom           | Valeur | Description                            |
| ------------- | ------ | -------------------------------------- |
| None          | -1     | None.                                  |
| LandingSlight | 0      | Atterrissage avec un impact léger.     |
| LandingDeep   | 1      | Atterrissage avec un impact important. |
| LandingRoll   | 2      | Atterrissage avec roulade.             |

## KnowSockets

`enum`

Définit un ensemble de points d'attache connus, appelés sockets, sur un personnage.

| Nom         | Valeur | Description                                               |
| ----------- | ------ | --------------------------------------------------------- |
| HEAD\_UPPER | 0      | Représente la partie supérieure de la tête du personnage. |

## MotionState

`class`

Classe permettant de gérer l'état et la configuration de mouvement du personnage.

### Propriétés

| Nom                 | Type                                              | Description                                                                           |
| ------------------- | ------------------------------------------------- | ------------------------------------------------------------------------------------- |
| useDoubleJump       | `boolean`                                         | Détermine si le personnage peut effectuer un double saut.                             |
| doubleJumpPower     | `number`                                          | Force supplémentaire appliquée lors d'un double saut.                                 |
| useLanding          | `boolean`                                         | Détermine s'il faut appliquer le mouvement d'atterrissage.                            |
| useLandingRoll      | `boolean`                                         | Détermine si le personnage effectue une roulade à l'atterrissage.                     |
| landingRollSpeed    | `number`                                          | Obtient ou définit la vitesse de roulade à l'atterrissage du personnage.              |
| useMoveTurn         | `boolean`                                         | Détermine s'il faut jouer un mouvement lors du changement de direction du personnage. |
| gravity             | `number`                                          | Force gravitationnelle appliquée au personnage.                                       |
| currentJumpState    | [CharacterJumpState](./#characterjumpstate)       | Récupère l'état de saut actuel du personnage.                                         |
| currentLandingState | [CharacterLandingState](./#characterlandingstate) | Récupère l'état d'atterrissage actuel du personnage.                                  |
| currentMoveState    | [CharacterMoveState](./#charactermovestate)       | Récupère l'état de déplacement actuel du personnage.                                  |

## CharacterStateMachine

`class` · extends [StateMachine\<CharacterState>](./#statemachine)

Classe chargée de synchroniser l'animator avec l'état de personnage d'un personnage ZEPETO.

### Propriétés

| Nom                      | Type      | Description                                                                                                                                                                                         |
| ------------------------ | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| constraintStateAnimation | `boolean` | Détermine s'il faut synchroniser l'animator avec l'état actuel du personnage ZEPETO. Si la valeur est `true`, l'état de l'animator n'est pas mis à jour en fonction de l'état actuel du personnage. |

### Méthodes

### SyncStateAnimation

`SyncStateAnimation() → void`

Synchronise l'animator avec l'état actuel du personnage ZEPETO.

### ChangeStateAnimation

`ChangeStateAnimation(state: CharacterState) → void`

Joue sur l'animator l'animation associée à l'état de personnage fourni.

| Paramètre | Type                                | Description                                          |
| --------- | ----------------------------------- | ---------------------------------------------------- |
| state     | [CharacterState](./#characterstate) | État de personnage représentant l'animation à jouer. |

## StateMachine

`class`

`StateMachine` manages the `States`, `Transitions`, and `Events`.
En mettant à jour les états selon des conditions définies et le temps écoulé, elle permet de définir et de contrôler des états variés pour les objets.

### Propriétés

| Nom             | Type                                            | Description                                                                                                                                         |
| --------------- | ----------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| OnChangedState  | `Action<TEnum, TEnum>`                          | Événement déclenché lorsque l'état de la caméra change. Les écouteurs enregistrés reçoivent deux paramètres : - Le nouvel état. - L'état précédent. |
| Events          | [TransitionBase\<TEnum>\[\]](./#transitionbase) | Fournit un tableau de tous les événements définis dans la machine à états.                                                                          |
| Current         | [State\<TEnum>](./#state)                       | Récupère l'état actuel.                                                                                                                             |
| Prev            | [State\<TEnum>](./#state)                       | Récupère l'état précédent.                                                                                                                          |
| IsRunning       | `boolean`                                       | Indique si la machine à états traite activement les états et les transitions.                                                                       |
| stateCount      | `number`                                        | Récupère le nombre d'états définis dans la machine à états.                                                                                         |
| transitionCount | `number`                                        | Récupère le nombre de transitions définies dans la machine à états.                                                                                 |

### Méthodes

### FindState

`FindState(state: TEnum, success: Action<State<TEnum>>, failed: Action) → void`

Recherche un état dans la machine à états et exécute un callback en cas de succès.

| Paramètre | Type                   | Description                                                     |
| --------- | ---------------------- | --------------------------------------------------------------- |
| state     | `TEnum`                | État à rechercher dans la machine à états.                      |
| success   | `Action<State<TEnum>>` | Fonction de callback traitant le `State` trouvé.                |
| failed    | `Action`               | Fonction de callback traitant le cas où l'état est introuvable. |

### FindTransitions

`FindTransitions(from: TEnum, success: Action<Transition<TEnum>[]>, failed: Action) → void`

Recherche des transitions dans la machine à états et exécute un callback en cas de succès.

| Paramètre | Type                          | Description                                                              |
| --------- | ----------------------------- | ------------------------------------------------------------------------ |
| from      | `TEnum`                       | État à partir duquel la transition démarre.                              |
| success   | `Action<Transition<TEnum>[]>` | Fonction de callback traitant le tableau de `Transition` trouvé.         |
| failed    | `Action`                      | Fonction de callback traitant le cas où aucune transition n'est trouvée. |

### FindTransition

`FindTransition(from: TEnum, to: TEnum, success: Action<Transition<TEnum>>, failed: Action) → void`

Recherche une transition dans la machine à états et exécute un callback en cas de succès.

| Paramètre | Type                        | Description                                                            |
| --------- | --------------------------- | ---------------------------------------------------------------------- |
| from      | `TEnum`                     | État à partir duquel la transition démarre.                            |
| to        | `TEnum`                     | État vers lequel la transition s'effectuera.                           |
| success   | `Action<Transition<TEnum>>` | Fonction de callback traitant la `Transition` trouvée.                 |
| failed    | `Action`                    | Fonction de callback traitant le cas où la transition est introuvable. |

### Start

`Start(state: TEnum) → void`

Démarre le traitement de la machine à états.

| Paramètre | Type    | Description                                                        |
| --------- | ------- | ------------------------------------------------------------------ |
| state     | `TEnum` | État à partir duquel la machine à états commencera son traitement. |

### Update

`Update(deltaTime: number) → void`

Met à jour l'état actuel et la transition de la machine à états.

| Paramètre | Type     | Description                                                  |
| --------- | -------- | ------------------------------------------------------------ |
| deltaTime | `number` | Temps écoulé en secondes depuis le dernier appel à `Update`. |

### Stop

`Stop() → void`

Arrête le traitement de la machine à états.

### EnterState

`EnterState(state: TEnum) → void`

Fait passer la machine à états vers un état spécifié.

| Paramètre | Type    | Description                                                     |
| --------- | ------- | --------------------------------------------------------------- |
| state     | `TEnum` | État vers lequel la machine à états va effectuer la transition. |

### LeaveState

`LeaveState(nextState: TEnum) → void`

La machine à états quitte l'état actuel.

| Paramètre | Type    | Description                                                     |
| --------- | ------- | --------------------------------------------------------------- |
| nextState | `TEnum` | État suivant qui sera traité par le `OnLeave` de l'état actuel. |

## StateStatus

`enum`

Représente les statuts possibles d'un état au sein d'une machine à états, indiquant la phase actuelle du cycle de vie de l'état.

| Nom    | Valeur | Description                                                 |
| ------ | ------ | ----------------------------------------------------------- |
| Wait   | 0      | L'état est inactif et attend d'être activé.                 |
| Enter  | 1      | L'état est en cours d'activation.                           |
| Update | 2      | L'état est actif et sa logique est en cours d'exécution.    |
| End    | 3      | L'état a terminé sa phase active et est prêt à se terminer. |
| Leave  | 4      | L'état est en cours de désactivation.                       |

## CustomMotionData

`class`

Représente la configuration personnalisée du mouvement du personnage.

### Propriétés

| Nom                           | Type      | Description                                                                                                                      |
| ----------------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------- |
| useDoubleJump                 | `boolean` | Détermine si le personnage peut effectuer un double saut.                                                                        |
| doubleJumpPower               | `number`  | Force supplémentaire appliquée lors d'un double saut.                                                                            |
| useLanding                    | `boolean` | Détermine s'il faut appliquer le mouvement d'atterrissage.                                                                       |
| useLandingRoll                | `boolean` | Détermine si le personnage effectue une roulade à l'atterrissage.                                                                |
| landingRollSpeed              | `number`  | Vitesse de lecture du mouvement de roulade à l'atterrissage.                                                                     |
| useMoveTurn                   | `boolean` | Détermine s'il faut jouer un mouvement lors du changement de direction du personnage.                                            |
| gravity                       | `number`  | Force gravitationnelle appliquée au personnage.                                                                                  |
| walkThreshold                 | `number`  | Valeur d'entrée minimale requise pour déclencher l'accélération du mouvement de marche.                                          |
| runThreshold                  | `number`  | Valeur d'entrée minimale requise pour passer du mouvement de marche à celui de course.                                           |
| fallingTimeThreshold          | `number`  | Durée de chute minimale permettant de déterminer si le personnage est entré en état de chute.                                    |
| fallingSpeedThreshold         | `number`  | Vitesse de chute minimale permettant de déterminer si le personnage est entré en état de chute.                                  |
| landingTimeThreshold          | `number`  | Durée minimale au sol permettant de déterminer si le personnage a atterri.                                                       |
| landingSpeedThreshold         | `number`  | Vitesse de chute minimale permettant de déterminer si le personnage peut effectuer des actions supplémentaires à l'atterrissage. |
| landingImpactSpeedThreshold   | `number`  | Vitesse de chute minimale permettant de déterminer si le personnage subit un impact plus important à l'atterrissage.             |
| landingRollSpeedThreshold     | `number`  | Vitesse de chute maximale requise pour déclencher une roulade à l'atterrissage.                                                  |
| moveTurnAngleThreshold        | `number`  | Angle de rotation minimal requis pour déclencher un mouvement de demi-tour.                                                      |
| moveTurnSpeedThreshold        | `number`  | Vitesse de déplacement minimale requise pour déclencher un mouvement de demi-tour.                                               |
| moveTurnTimeThreshold         | `number`  | Durée du mouvement de demi-tour.                                                                                                 |
| jumpDashSpeedThreshold        | `number`  | Vitesse de saut minimale requise pour déclencher un dash.                                                                        |
| walkClipBaseSpeed             | `number`  | Vitesse de base du mouvement de marche.                                                                                          |
| stampClipNormalizedTime       | `number`  | Durée du mouvement de frappe au sol.                                                                                             |
| landingClipNormalizedTime     | `number`  | Durée du mouvement d'atterrissage.                                                                                               |
| landingRollClipNormalizedTime | `number`  | Durée du mouvement de roulade à l'atterrissage.                                                                                  |
| moveTurnClipNormalizedTime    | `number`  | Durée du mouvement de demi-tour.                                                                                                 |

## CharacterShadow

`class`

Classe chargée de gérer les ombres des personnages ZEPETO.

### Propriétés

| Nom               | Type        | Description                                                            |
| ----------------- | ----------- | ---------------------------------------------------------------------- |
| target            | `Transform` | Représente l'objet servant de référence de transform.                  |
| autoSyncTransform | `boolean`   | Détermine s'il faut synchroniser la position de l'ombre avec la cible. |

## CameraState

`enum`

Représente l'état d'un `ZepetoCamera`.

| Nom    | Valeur | Description                     |
| ------ | ------ | ------------------------------- |
| Idle   | 0      | La caméra ne suit pas la cible. |
| Follow | 1      | La caméra suit la cible.        |

## ZepetoScreenStick

`class` · extends [ZepetoScreenControl](./#zepetoscreencontrol)

Classe conçue pour gérer les interactions au stick dans l'environnement ZEPETO.

### Événements

| Nom                | Type                  | Description                                       |
| ------------------ | --------------------- | ------------------------------------------------- |
| OnPointerDownEvent | `UnityEvent`          | Événement déclenché lorsque le stick est enfoncé. |
| OnDragEvent        | `UnityEvent<Vector2>` | Événement déclenché lorsque le stick est déplacé. |
| OnPointerUpEvent   | `UnityEvent`          | Événement déclenché lorsque le stick est relâché. |

### Méthodes

### OnDrag

`OnDrag(eventData: PointerEventData) → void`

Gère le comportement de glissement en calculant le delta de position et en le limitant à la plage de déplacement spécifiée.
Déclenche `OnDragEvent` avec la valeur de position normalisée.
Lève `ArgumentNullException`.

| Paramètre | Type               | Description                                    |
| --------- | ------------------ | ---------------------------------------------- |
| eventData | `PointerEventData` | Données relatives à l'événement de glissement. |

## ZepetoScreenControl

`class`

Classe abstraite conçue pour créer des contrôles d'interface dans l'environnement ZEPETO.

### Méthodes

### OnPointerDown

`OnPointerDown(eventData: PointerEventData) → void`

Traite les événements lorsque l'utilisateur appuie sur un contrôle d'interface.

| Paramètre | Type               | Description                                          |
| --------- | ------------------ | ---------------------------------------------------- |
| eventData | `PointerEventData` | Données relatives à l'événement d'appui du pointeur. |

### OnPointerUp

`OnPointerUp(eventData: PointerEventData) → void`

Traite les événements lorsque l'utilisateur relâche un contrôle d'interface.

| Paramètre | Type               | Description                                                 |
| --------- | ------------------ | ----------------------------------------------------------- |
| eventData | `PointerEventData` | Données relatives à l'événement de relâchement du pointeur. |

## ZepetoScreenButton

`class` · extends [ZepetoScreenControl](./#zepetoscreencontrol)

Classe conçue pour gérer les interactions avec les boutons dans l'environnement ZEPETO.

### Événements

| Nom              | Type         | Description                                        |
| ---------------- | ------------ | -------------------------------------------------- |
| OnPointDownEvent | `UnityEvent` | Événement déclenché lorsque le bouton est enfoncé. |
| OnPointUpEvent   | `UnityEvent` | Événement déclenché lorsque le bouton est relâché. |

## ZepetoScreenTouchpad

`class` · extends [ZepetoScreenControl](./#zepetoscreencontrol)

Classe conçue pour gérer les interactions au pavé tactile dans l'environnement ZEPETO.

### Propriétés

| Nom                           | Type             | Description                                                                                          |
| ----------------------------- | ---------------- | ---------------------------------------------------------------------------------------------------- |
| canvasGroupTouchPadBackground | `CanvasGroup`    | Composant Canvas Group servant à gérer l'opacité et l'interaction de l'arrière-plan du pavé tactile. |
| touchPadBackgroundCurve       | `AnimationCurve` | Courbe d'animation pour l'effet de fondu de l'arrière-plan du pavé tactile.                          |
| touchHandle                   | `RectTransform`  | Composant `RectTransform` représentant la poignée tactile.                                           |
| touchHandleAnimator           | `Animator`       | Composant Animator servant à animer la poignée tactile.                                              |
| touchHandleOrigin             | `RectTransform`  | `RectTransform` correspondant à la position d'origine de la poignée tactile.                         |
| touchHandleOriginAnimator     | `Animator`       | Composant Animator du point d'origine de la poignée tactile.                                         |

### Événements

| Nom                | Type                  | Description                                              |
| ------------------ | --------------------- | -------------------------------------------------------- |
| OnPointerDownEvent | `UnityEvent`          | Événement déclenché lorsque le pavé tactile est enfoncé. |
| OnDragEvent        | `UnityEvent<Vector2>` | Événement déclenché lorsque le pavé tactile est déplacé. |
| OnPointerUpEvent   | `UnityEvent`          | Événement déclenché lorsque le pavé tactile est relâché. |

### Méthodes

### OnPointerClick

`OnPointerClick(eventData: PointerEventData) → void`

Traite les événements de clic sur le pavé tactile. Lève `ArgumentNullException`.

| Paramètre | Type               | Description                                    |
| --------- | ------------------ | ---------------------------------------------- |
| eventData | `PointerEventData` | Données relatives à l'événement de glissement. |

### OnDrag

`OnDrag(eventData: PointerEventData) → void`

Gère le comportement de glissement en calculant le delta de position et en le limitant à la plage de déplacement spécifiée.
Déclenche `OnDragEvent` avec la valeur de position normalisée.
Lève `ArgumentNullException`.

| Paramètre | Type               | Description                                    |
| --------- | ------------------ | ---------------------------------------------- |
| eventData | `PointerEventData` | Données relatives à l'événement de glissement. |

## UIZepetoPlayerControl

`class`

Classe fournissant un contrôle par interface du personnage du joueur local.

### Méthodes

### StartMoving

`StartMoving() → void`

Définit l'indicateur de déplacement du personnage du joueur local sur `true`.

### Move

`Move(delta: Vector2) → void`

Définit la direction de déplacement du personnage ZEPETO du joueur local.

| Paramètre | Type      |
| --------- | --------- |
| delta     | `Vector2` |

### StopMoving

`StopMoving() → void`

Arrête le personnage ZEPETO du joueur local.

### Jump

`Jump() → void`

Fait sauter le personnage ZEPETO du joueur local.

### DoubleJump

`DoubleJump() → void`

Fait effectuer un double saut au personnage ZEPETO du joueur local.

### Update

`Update() → void`

Met à jour la direction de déplacement du personnage ZEPETO du joueur local.

## InputHelper

`class`

Classe utilitaire conçue pour faciliter le traitement des entrées.

### Méthodes

### IsPointerOverUIObjectCurrentPosition

`static IsPointerOverUIObjectCurrentPosition() → boolean`

Détermine si le pointeur se trouve actuellement au-dessus d'un objet d'interface.

**Renvoie :** `boolean` — Renvoie `true` si le pointeur se trouve au-dessus d'un objet d'interface.

### IsPointerOverUIObject

`static IsPointerOverUIObject(position: Vector2) → boolean`

Vérifie si la position spécifiée à l'écran se trouve au-dessus d'un élément d'interface.

| Paramètre | Type      | Description         |
| --------- | --------- | ------------------- |
| position  | `Vector2` | Position à l'écran. |

**Renvoie :** `boolean` — Renvoie `true` si la position se trouve au-dessus d'un objet d'interface.

## EventReceiver

`class`

Classe chargée de traiter les événements liés au personnage ou les événements généraux au sein du ZEPETO World.

### Événements

| Nom                              | Type                                | Description                                                              |
| -------------------------------- | ----------------------------------- | ------------------------------------------------------------------------ |
| OnCharacterClick (static)        | `UnityEvent<string, ZepetoContext>` | Événement déclenché lorsque l'on clique sur le personnage.               |
| OnCharacterProfileClick (static) | `UnityEvent<string, ZepetoContext>` | Événement déclenché lorsque l'on clique sur le profil du personnage.     |
| OnClick (static)                 | `UnityEvent<number>`                | Événement de clic générique utilisable pour divers éléments interactifs. |

## TransitionBase

`class`

Classe de base permettant de définir les transitions entre états dans une machine à états.

### Propriétés

| Nom       | Type                          | Description                                                                                            |
| --------- | ----------------------------- | ------------------------------------------------------------------------------------------------------ |
| To        | `TEnum`                       | État vers lequel la transition s'effectuera.                                                           |
| Duration  | `number`                      | Durée que la transition doit prendre du début à la fin (en secondes).                                  |
| Status    | [StateStatus](./#statestatus) | Statut de la transition.                                                                               |
| IsRunning | `boolean`                     | Indique si la transition se trouve actuellement au statut `StateStatus.Enter` ou `StateStatus.Update`. |

### Méthodes

### Check

`Check() → boolean`

Vérifie si les conditions de déclenchement d'une transition sont remplies.

**Renvoie :** `boolean` — `true` si les conditions de la transition sont remplies.

## State

`class`

Représente un état au sein d'une machine à états.

### Propriétés

| Nom           | Type                          | Description                                             |
| ------------- | ----------------------------- | ------------------------------------------------------- |
| OnUpdateState | `Action<TEnum>`               | Fonction de callback traitant la mise à jour de l'état. |
| stateType     | `TEnum`                       | Type de l'état.                                         |
| Status        | [StateStatus](./#statestatus) | Statut de l'état.                                       |

## Transition

`class` · extends [TransitionBase\<TEnum>](./#transitionbase)

Classe générique permettant de définir les transitions entre états dans une machine à états.

### Propriétés

| Nom  | Type    | Description                                 |
| ---- | ------- | ------------------------------------------- |
| From | `TEnum` | État à partir duquel la transition démarre. |

## ZepetoCharacter.LoadingStatus

`enum`

État de chargement du personnage ZEPETO.

| Nom       | Valeur | Description                                                       |
| --------- | ------ | ----------------------------------------------------------------- |
| NotLoaded | 0      | Le personnage n'a pas encore commencé le processus de chargement. |
| Loading   | 1      | Le personnage est en cours de chargement.                         |
| Loaded    | 2      | Le personnage est entièrement chargé.                             |
| Error     | 3      | Une erreur s'est produite durant le processus de chargement.      |

## PlayerControlMode

`enum`

| Nom      | Valeur |
| -------- | ------ |
| Default  | 0      |
| WalkOnly | 1      |
| RunOnly  | 2      |
