CRÉEZ VOTRE MONDE
Interface Utilisateur
Utilisation du capteur gyroscopique
8min
lors de la création de zepeto world, vous pouvez utiliser le capteur gyroscopique pour mettre en œuvre diverses idées de jeu dans le monde en fonction de l'inclinaison de l'appareil ce guide vous montrera comment utiliser input gyro dans zepetoscript 📘 gyroscope https //docs unity3d com/scriptreference/gyroscope html https //docs unity3d com/scriptreference/gyroscope html configuration de l'objet 1\) ajoutez hiérarchie > \[+] > objet 3d > objet sphère à la scène 2\) changez le nom de l'objet en ball et ajoutez un composant rigidbody écrire un script 1\) ajouter typescript et renommer le script en rollingball écrire un script d'exemple comme indiqué ci dessous import { zepetoscriptbehaviour } from 'zepeto script'; import { input, systeminfo, vector3, rigidbody } from 'unityengine'; import { text } from 'unityengine ui'; export default class rollingball extends zepetoscriptbehaviour { public debugtext text; public velocitymultiplier number = 100; private rollingball rigidbody; start() { // obtenir le composant rigidbody attaché au même gameobject que ce script this rollingball = this getcomponent\<rigidbody>(); // vérifier si l'appareil prend en charge le gyroscope if (systeminfo supportsgyroscope) { // activer le gyroscope input gyro enabled = true; } else { // désactiver le script si le gyroscope n'est pas pris en charge console log("gyroscope non pris en charge sur cet appareil "); input gyro enabled = false; } } update() { // vérifier si le gyroscope de l'appareil d'entrée est activé if (input gyro enabled) { // lire les valeurs du gyroscope le long des axes x et z // arrondir à une décimale pour un mouvement stable de l'objet ball let gyrovaluex = math round(input gyro gravity x 10) / 10; let gyrovaluez = math round(input gyro gravity y 10) / 10; // définir la vitesse de la ball avec gyrovaluex et gyrovaluez this rollingball velocity = new vector3(gyrovaluex this velocitymultiplier, 0, gyrovaluez this velocitymultiplier); // afficher les valeurs gyro actuelles à l'écran this debugtext text = "input gyro gravity " + input gyro gravity tostring(); } } } description du script obtient le composant rigidbody attaché à l'objet ball arrondir le input gyro gravity x et input gyro gravity z valeurs pour obtenir les valeurs gyrovaluex, gyrovaluez donner de la vitesse à l'objet ball en substituant les valeurs gyrovaluex et gyrovaluez multipliées par velocitymultiplier dans velocity la input gyro gravity valeur est affichée à l'écran via text ui 📘 gyroscope gravity https //docs unity3d com/scriptreference/gyroscope gravity html https //docs unity3d com/scriptreference/gyroscope gravity html 2\) ajoutez le rollingball zepetoscript que vous avez écrit à l'objet ball dans la fenêtre hiérarchie, connectez le text ui à la propriété affichée dans la fenêtre inspecteur zepetoscript en faisant glisser et déposer test sur mobile 1\) exécutez le monde d'exemple avec le test mobile qr 2\) l'objet ball se déplace en fonction de l'inclinaison de l'appareil ❗️ attention veuillez noter que input gyro ne fonctionne que dans des environnements mobiles application de l'exemple vous pouvez déplacer le personnage zepeto dans le monde zepeto en appliquant input gyro 1\) ajoutez typescript et renommez le script en gyromovement écrivez un script d'exemple comme indiqué ci dessous import { zepetoscriptbehaviour } from 'zepeto script'; import { input, systeminfo, vector3 } from 'unityengine'; import { zepetocharacter, zepetoplayers, localplayer } from 'zepeto character controller'; export default class gyromovement extends zepetoscriptbehaviour { private localcharacter zepetocharacter; start() { // ajouter un écouteur pour quand un joueur local est ajouté zepetoplayers instance onaddedlocalplayer addlistener(() => { this localcharacter = zepetoplayers instance localplayer zepetoplayer character; }); // vérifier si l'appareil prend en charge le gyroscope if (systeminfo supportsgyroscope) { // activer le gyroscope input gyro enabled = true; } else { // désactiver le script si le gyroscope n'est pas pris en charge console log("gyroscope non pris en charge sur cet appareil "); input gyro enabled = false; } } update() { if (input gyro enabled) { // obtenir la valeur de l'axe x de la gravité du gyroscope\\ // arrondir à une décimale pour un mouvement stable du personnage const gyrovalue = math round(input gyro gravity x 10) / 10; const direction = new vector3(0, 0, gyrovalue); // déplacer le personnage local this localcharacter move(direction); } } } description du script lorsqu'un joueur local est ajouté à la scène, recevez une instance de personnage zepeto arrondissez la input gyro gravity x valeur pour obtenir la valeur gyrovalue déplacez le personnage zepeto dans la direction de l'axe z en assignant direction comme paramètre à la move() fonction 2\) ajoutez un gameobject à la scène et renommez le gyrogravity ajoutez le zepetoscript gyromovement que vous avez créé 3\) lors de l'exécution du monde d'exemple en tant que test mobile qr, le personnage zepeto se déplace en fonction de l'inclinaison de l'appareil 👍 conseils en plus de input gyro gravity utilisé dans cet exemple, vous pouvez utiliser diverses input gyro fonctions vous pouvez appliquer cela à diverses idées essayez de publier un monde amusant sur zepeto !