Obracaj się co sekundę
Część sekcji Podstawy skryptów w Unity ścieżki Unity w Coddy. Lekcja 4 z 67.
transform.Rotate(x, y, z) obraca obiekt GameObject o podaną liczbę stopni wokół każdej z jego osi. Wywołana w Update() obraca obiekt nieco w każdej klatce, więc obiekt stale się obraca.
Ale ile klatek przypada na sekundę? Na szybkim komputerze może to być 120, a na telefonie — 30. Zwykłe transform.Rotate(0, 0, 5) obracałoby obiekt cztery razy szybciej na szybszym urządzeniu. Rozwiązaniem Unity jest Time.deltaTime: liczba sekund, które upłynęły od poprzedniej klatki. Pomnóż przez nią prędkość, a będzie ona oznaczać prędkość na sekundę na każdym urządzeniu.
W tym przykładzie koło obraca się wokół osi z o 45 stopni na sekundę:
public float speed = 45f;
void Update()
{
transform.Rotate(0, 0, speed * Time.deltaTime);
}Przy 60 klatkach na sekundę Time.deltaTime wynosi około 0.0167, więc w każdej klatce obrót wynosi 45 * 0.0167, czyli około 0.75 stopnia, a 60 takich obrotów daje 45. Przy 30 klatkach na sekundę obrót w każdej klatce jest dwa razy większy, a suma po sekundzie nadal wynosi 45.
Wyzwanie
ŁatwySześcian ma skrypt Spinner z prędkością 90. W Update() spraw, by sześcian obracał się wokół osi y z prędkością speed stopni na sekundę, na dowolnym urządzeniu.
Naciśnij Play, aby zobaczyć efekt, a następnie Check.
Spróbuj swoich sił
using UnityEngine;
public class Spinner : MonoBehaviour
{
public float speed = 90f;
void Update()
{
// Obróć tutaj sześcian wokół jego osi y
}
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy skryptów w Unity
1Twój pierwszy skrypt
Witaj, UnityUmieść sześcianPoruszaj się w każdej klatceObracaj się co sekundęSteruj za pomocą klawiszyPodsumowanie: Prowadź sześcian2Inspektor
Pola inspektoraSerializeFieldLiczby zmiennoprzecinkowe i MathfAtrybuty inspektoraPodsumowanie: Winda5Transformacje i hierarchia
Rodzice i dzieciSkalaPatrz na obiektyPoruszanie się w kierunku punktuPodsumowanie: Księżyc krążący po orbicie3Wejście
Naciśnięty, przytrzymany, zwolnionyOsiePrzyciski o nazwachPrzyciski myszyPowtórka: naładowany skok6Obiekty gry i komponenty
Referencje w InspectorzePobieranie komponentuBrakujące komponentyDodawanie komponentuRequireComponentPokazywanie i ukrywaniePodsumowanie: włącznik światła