Tourner chaque seconde
Fait partie de la section Les bases du scripting dans Unity du Journey Unity de Coddy. Leçon 4 sur 67.
transform.Rotate(x, y, z) fait tourner un GameObject du nombre de degrés indiqué autour de chacun de ses axes. Appelé dans Update(), il le fait tourner un peu à chaque image, donc l’objet continue de tourner.
Mais combien d’images y a-t-il dans une seconde ? Sur un ordinateur rapide, peut-être 120 ; sur un téléphone, peut-être 30. Un simple transform.Rotate(0, 0, 5) tournerait quatre fois plus vite sur l’ordinateur rapide. La solution de Unity est Time.deltaTime : le nombre de secondes écoulées depuis la dernière image. Multipliez une vitesse par cette valeur et elle correspond à une vitesse par seconde, sur tous les appareils.
Ici, une roue tourne autour de son axe z à 45 degrés par seconde :
public float speed = 45f;
void Update()
{
transform.Rotate(0, 0, speed * Time.deltaTime);
}À 60 images par seconde, Time.deltaTime vaut environ 0.0167, donc chaque image fait tourner la roue de 45 * 0.0167, soit environ 0.75 degré, et ces 60 rotations donnent 45 degrés. À 30 images par seconde, chaque image fait tourner la roue deux fois plus loin, et une seconde donne toujours un total de 45 degrés.
Défi
FacileLe cube a un script Spinner avec une speed de 90. Dans Update(), fais tourner le cube autour de son axe y à une vitesse de speed degrés par seconde, sur n’importe quel appareil.
Appuie sur Play pour le regarder tourner, puis sur Check.
Essayez vous-même
using UnityEngine;
public class Spinner : MonoBehaviour
{
public float speed = 90f;
void Update()
{
// Faites tourner le cube autour de son axe y ici
}
}
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les bases du scripting dans Unity
1Votre premier script
Bonjour, UnityPlacez le cubeBouger à chaque imageTourner chaque secondeDirigez avec les touchesRécapitulatif : conduisez le cube4Vecteurs
Addition de vecteursDirectionsEspaces local et mondeVitesse diagonaleDistance entre les objetsVector3 est une structRécapitulatif : pilote de drone7Projet : Attrape l’étoile
L’attrapeurUne étoile qui tombe2L’inspecteur
Champs de l’inspecteurSerializeFieldNombres flottants et MathfAttributs de l’inspecteurRécapitulatif : ascenseur5Transformations et hiérarchie
Parents et enfantsÉchelleRegarder les objetsSe déplacer vers un pointRécapitulatif : Lune en orbite8Rechercher des objets
Rechercher par nomTagsRechercher par typeLes références plutôt que FindLe null de UnityRécapitulatif : la pièce la plus proche11Projet : Esquivez les blocs
Le coureurBlocs qui tombent6GameObjects et composants
Références dans l’InspectorObtenir un composantComposants manquantsAjouter un composantRequireComponentAfficher et masquerRécapitulatif : interrupteur