---
title: Mise en œuvre de la téléportation
slug: world-sdk-guide-fr/mise-en-oeuvre-de-la-teleportation
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

Implémente un portail à travers lequel le personnage ZEPETO peut se téléporter à deux points différents.



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-xQUSTAIqb6XR3_ijDqhI3-20240904-102421.gif)



## ÉTAPE 1 : Définir le point de téléportation cible



- Implémentez le code de création du personnage ZEPETO dans la scène par défaut.

:::hint{type="info"}
**📘&#x20;**&#x56;euillez vous référer au guide suivant. \[[Créer un personnage ZEPETO](docId\:geFfw2QSRCk7y989-y9Of)]
:::



1\) Créez des points vers lesquels se téléporter.

- Pour ce guide, nous les appellerons points A et B.
- Créez une Hiérarchie > Objet 3D > Plan, et renommez-le en Plan\_A.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-YPfNLxuMmybV-RiO0UnQh-20240904-102421.png)



2\) Ajoutez un objet Portal qui initiera un téléport.

- Assurez-vous d'ajouter un Collider pour interagir avec l'objet.
  - Ajustez la taille de la zone pour détecter les collisions.
  - Assurez-vous de vérifier Is Trigger.

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



3\) Créez un total de 2 points de téléportation de la même manière.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-esYtCDox6OMaljFjTWWNa-20240904-102421.png "Exemple de Point de Téléportation A")



![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-vB1mUIZBJCc8INMKDEr_A-20240904-102421.png "Exemple de Point de Téléportation B")



- Ajustez la Position afin que les points ne se chevauchent pas.

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



## ÉTAPE 2 : Écrire un script



1\) Créer un projet > Créer > ZEPETO > TypeScript et le renommer en Téléport.

2\) Écrire un script d'exemple comme ci-dessous.

- Logique pour téléporter avec destinationObject lorsqu'une collision avec un personnage ZEPETO est détectée dans la zone de collision de l'objet auquel le script est attaché.

```typescript
import { Collider, Vector3, Quaternion, GameObject } from 'UnityEngine';
import { SpawnInfo, ZepetoCharacter, ZepetoPlayer, ZepetoPlayers } from 'ZEPETO.Character.Controller';
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
 
export default class Teleport extends ZepetoScriptBehaviour {
     
    // L'objet de destination vers lequel se téléporter
    public destinationObject: GameObject;
 
    private _localCharacter: ZepetoCharacter;
 
    Start() {
        // Trouver le joueur local et le définir à _localCharacter
        ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
            this._localCharacter = ZepetoPlayers.instance.LocalPlayer.zepetoPlayer.character;
        });
    }
 
    OnTriggerEnter(collider: Collider) {
        // Ne pas exécuter la fonction si _localCharacter n'est pas encore défini ou si le gameObject en collision n'est pas _localCharacter
        if (this._localCharacter == null || collider.gameObject != this._localCharacter.gameObject) {
            return;
        }
 
        // Téléporter le _localCharacter à la position de destinationObject
        this._localCharacter.Teleport(this.destinationObject.transform.position, Quaternion.identity);
    }
}
```



3\) Après avoir terminé d'écrire le script, ajoutez le script à l'objet Portail qui initiera le téléport.

4\) Dans l'inspecteur, assignez l'objet de destination.

- Objet de destination : un objet portail pour arriver à la fin du téléport.

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-y-PuKoPDgX5mbE1uVnOUE-20240904-102421.png" size="62" width="424" height="601" position="center" showCaption="false"}



## ÉTAPE 3 : Exécuter



Téléportez le personnage ZEPETO du point A au point B lorsqu'il est près du portail.

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



:::hint{type="danger"}
- Ce guide ne traite que de la téléportation des joueurs locaux que je manipule.
- Dans le cas de mondes multijoueurs, la synchronisation de la position des autres joueurs est également requise.
- En utilisant le composant de synchronisation de l'exemple multijoueur, la synchronisation de la position est facile à mettre en œuvre.
:::



:::hint{type="info"}
**📘 Exemple Multijoueur - Composant Multijoueur Zepeto**
[https://github.com/naverz/zepeto-multiplay-example/tree/main/Assets/Zepeto Multiplay Component](https://github.com/naverz/zepeto-multiplay-example/tree/main/Assets/Zepeto%20Multiplay%20Component)
:::

