Créer un personnage Zepeto
ÉTAPE 1 : Ajouter une base à la scène
- Dans la fenêtre Hiérarchie, cliquez sur Objet 3D → Plan.

- Réglez la position du Plan à X : 0, Y : 0, Z : 0, et réglez la taille suffisamment grande à X : 10, Y : 1, Z : 10.

👍 Conseils
- Le Plan est le sol le plus basique à des fins de test.
- Peu importe ce que vous utilisez tant que c'est un Objet avec un Collider.
- Au fur et à mesure que vous vous familiarisez avec la création de mondes, vous pouvez créer une carte cool pour remplacer le sol.
- Sans plateforme, le personnage tombera dès qu'il sera créé et ne sera pas visible.
ÉTAPE 2: Ajouter le composant ZEPETO Players
Dans la fenêtre Hiérarchie, sélectionnez ZEPETO → onglet ZepetoPlayers.

Un objet appelé ZepetoPlayers sera automatiquement créé comme indiqué ci-dessous. ZepetoPlayers est un composant qui gère les modules de contrôleur de personnage dans le Monde.

Les valeurs pour le contrôle du personnage et les fonctions associées peuvent être définies dans la fenêtre Inspecteur.
- Vous pouvez généralement configurer des éléments tels que les paramètres de la caméra ZEPETO, la vitesse de mouvement du personnage, la hauteur de saut, etc.
- Dans cet exemple, nous utiliserons les valeurs par défaut.
📘 Pour des paramètres détaillés, veuillez vous référer au guide du Contrôleur de Personnage ZEPETO. Contrôleur de Personnage ZEPETO
ÉTAPE 3 : Charger le Personnage
Pour charger un personnage, vous devez créer un nouveau fichier ZEPETOScript.
1) Dans le panneau [Projet], sélectionnez le menu [+] dans le coin supérieur gauche ou sélectionnez Actifs → Créer → ZEPETO → TypeScript.

2) Lorsque le fichier ZEPETOScript est créé, veuillez entrer le nom sous CharacterLoader. Un fichier de script sera créé comme indiqué ci-dessous.

3) Dans la Hierarchy → menu [+] → exécutez le menu Create Empty.

4) Lors de la création d'un GameObject Vide, écrivez CharacterLoader. Un GameObject sera créé comme indiqué ci-dessous.

5) Sélectionnez le CharacterLoader GameObject dans Hierarchy et cliquez sur le bouton Add Component dans Inspector.

6) Dans la fenêtre Add Component, ajoutez le composant Zepeto script.

7) Cliquez sur le bouton Attach Zepeto Script sur le composant Zepeto Script.

8) Sélectionnez le fichier CharacterLoader ZEPETO Script que vous avez créé précédemment dans la fenêtre Attach Zepeto Script.

9) Configurez le GameObject CharacterLoader comme suit.

- Le ZEPETOScript ne fonctionnera pas à moins qu'il ne soit ajouté en tant que composant à un GameObject dans la scène.
10) Ensuite, chargeons le personnage dans Scene en saisissant votre identifiant ZEPETO. Ouvrez le fichier CharacterLoader ZEPETO Script pour exécuter l'éditeur de script. Appliquez ensuite l'exemple de script ci-dessous.
- Veuillez entrer votre ID ZEPETO là où il est indiqué [ZEPETO_ID].
- Si votre ID ZEPETO est 'abcd', vous devez l'entrer comme ZepetoPlayers.instance.CreatePlayerWithZepetoId("", "abcd", new SpawnInfo(), true)
Script pour charger un personnage ZEPETO avec un ID ZEPETO spécifique
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { SpawnInfo, ZepetoPlayers, LocalPlayer } from 'ZEPETO.Character.Controller';
export default class CharacterLoader extends ZepetoScriptBehaviour {
Start() {
ZepetoPlayers.instance.CreatePlayerWithZepetoId("", "[ZEPETO_ID]", new SpawnInfo(), true);
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
const player: LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
});
}
}
11) Après avoir enregistré le script, veuillez revenir à l'éditeur Unity.
- Veuillez passer à l'exécution de l'ÉTAPE 4.
- Si vous utilisez ce code, vous ne jouerez qu'avec l'avatar d'un ID ZEPETO spécifique.
- Lorsque vous lancerez votre monde, vous devrez modifier votre code pour qu'il soit basé sur l'ID ZEPETO de l'utilisateur qui a accédé à votre monde, au lieu de l'ID ZEPETO que vous avez entré dans votre code. Veuillez utiliser le script ci-dessous.
Script pour charger le personnage de l'ID connecté
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { SpawnInfo, ZepetoPlayers, LocalPlayer, ZepetoCharacter } from 'ZEPETO.Character.Controller';
import { WorldService } from 'ZEPETO.World';
export default class CharacterLoader extends ZepetoScriptBehaviour {
Start() {
// Récupérer l'ID utilisateur spécifié lors de la connexion à zepeto via l'éditeur.
ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true);
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
const player: LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
});
}
}- Ce script crée un personnage ZEPETO basé sur l'ID connecté et n'accepte pas un ID ZEPETO spécifique, donc assurez-vous de vous connecter à l'éditeur Unity avant de tester.
- Après avoir enregistré le script, veuillez revenir à l'éditeur Unity.
- Veuillez passer à l'exécution de l'ÉTAPE 4.
- Veuillez vous assurer qu'il n'y a qu'un seul code de création de joueur local dans le script client.
- Si plusieurs joueurs identiques sont créés, le script CreatePlayerWithUserId() peut être appelé ailleurs.
- Une erreur courante est d'appliquer le code d'exemple multijoueur tout en laissant le code de création de personnage dans ce guide intact, ce qui entraîne la création du personnage deux fois. Veuillez gérer cela en commentant un côté.
ÉTAPE 4 : Exécuter
Utilisez le bouton [▶︎(lecture)] au centre de l'écran pour vérifier que le CharacterLoader fonctionne correctement.
Le personnage chargé est appelé le personnage du joueur local, ce qui signifie le personnage ZEPETO que les utilisateurs peuvent contrôler directement sur leurs propres appareils.
Le CharacterLoader a une cartographie des touches de contrôle de personnage commune pour chaque événement d'entrée correspondant à l'appareil (PC/Mobile). Ainsi, le personnage chargé peut être contrôlé dans une scène, quelle que soit la plateforme.
Sur un PC, les personnages et les caméras peuvent être contrôlés avec une souris. Sur un appareil mobile, les personnages et les caméras peuvent être contrôlés avec un pad virtuel comme montré dans les captures d'écran ci-dessous.

👍 Les interfaces d'entrée suivantes sont prises en charge pour le contrôle des personnages : PC
- Déplacer : Flèches du clavier, WASD
- Sauter : Espace
- Double Saut : (Gauche) Maj
- Zoom : Molette de la souris
- Faire pivoter : Glisser sur l'écran
Mobile
- Déplacer : (Bas gauche de l'écran) pad virtuel
- Sauter : (Bas droit de l'écran) bouton du pad virtuel
- Zoom : (Deux doigts) glisser sur l'écran
- Faire pivoter : (Un doigt) glisser sur l'écran
Si la création de personnage ZEPETO ne fonctionne pas correctement, veuillez aller à Menu Unity > Paramètres du projet > Éditeur > Paramètres du mode Play.
- désactiver les options de mode de jeu.

ÉTAPE 5 : Changez la position de départ du personnage ZEPETO
La position de départ du personnage ZEPETO est créée à UnityEngine.Vector3(0,0,0) sauf indication contraire.
La valeur de rotation est également générée à un angle de UnityEngine.Quaternion.Euler(0,0,0).
La position de spawn du personnage et les valeurs de rotation sont définies en utilisant ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, new SpawnInfo(), true); l'argument de la fonction, SpawnInfo(), sera généré.
Vous pouvez donc définir la valeur souhaitée pour SpawnInfo() avant d'appeler la fonction de création de personnage pour vous assurer qu'il apparaît à un emplacement spécifique.
Nous avons pré-placé un objet 3D > Cube à l'emplacement (0,0,0) sur la carte.
Si vous changez la valeur de l'emplacement de spawn pour le personnage comme suit, il apparaîtra sur le Cube.
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
import { SpawnInfo, ZepetoPlayers, LocalPlayer, ZepetoCharacter } from 'ZEPETO.Character.Controller';
import { WorldService } from 'ZEPETO.World';
import { Quaternion, Vector3 } from 'UnityEngine';
export default class CharacterLoader extends ZepetoScriptBehaviour {
Start() {
// Définir la position de spawn du personnage
const spawnInfo = new SpawnInfo();
spawnInfo.position = new Vector3(0,2,0);
// Définir la rotation de spawn du personnage
spawnInfo.rotation = Quaternion.Euler(0,0,0);
// Récupérer l'identifiant de l'utilisateur spécifié lors de la connexion à Zepeto via l'éditeur.
ZepetoPlayers.instance.CreatePlayerWithUserId(WorldService.userId, spawnInfo, true);
ZepetoPlayers.instance.OnAddedLocalPlayer.AddListener(() => {
const player: LocalPlayer = ZepetoPlayers.instance.LocalPlayer;
});
}
}
Utilisez le bouton Play au centre de l'écran pour vérifier la création du personnage.

Si vous changez les valeurs de position et d'orientation, vous pouvez également créer un personnage allongé comme ceci.
// Définir la position de spawn du personnage
const spawnInfo = new SpawnInfo();
spawnInfo.position = new Vector3(2,1,2);
// Définir la rotation de spawn du personnage
spawnInfo.rotation = Quaternion.Euler(90,0,0);