CRÉEZ VOTRE MONDE
Joueurs & Personnages : Avancé
Mise en œuvre de la téléportation
9min
implémente un portail à travers lequel le personnage zepeto peut se téléporter à deux points différents é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 📘 veuillez 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 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 3\) créez un total de 2 points de téléportation de la même manière ajustez la position afin que les points ne se chevauchent pas é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é 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 étape 3 exécuter téléportez le personnage zepeto du point a au point b lorsqu'il est près du portail 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 📘 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