Berputar Setiap Detik
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 11 dari 85.
transform.Rotate(x, y, z) memutar GameObject sebanyak derajat tersebut pada setiap sumbunya. Jika dipanggil di Update(), objek akan berputar sedikit setiap frame, sehingga terus berputar.
Namun, berapa banyak frame dalam satu detik? Di komputer yang cepat mungkin ada 120, sedangkan di ponsel mungkin ada 30. transform.Rotate(0, 0, 5) biasa akan membuat objek berputar empat kali lebih cepat di komputer yang lebih cepat. Solusi Unity adalah Time.deltaTime: jumlah detik yang berlalu sejak frame terakhir. Kalikan kecepatan dengan nilai ini, maka kecepatan tersebut berarti per detik di setiap perangkat.
Di sini, roda berputar pada sumbu z-nya, 45 derajat setiap detik:
public float speed = 45f;
void Update()
{
transform.Rotate(0, 0, speed * Time.deltaTime);
}Pada 60 frame per detik, Time.deltaTime bernilai sekitar 0.0167, sehingga setiap frame berputar sebesar 45 * 0.0167, atau sekitar 0.75 derajat. Jika dijumlahkan, 60 putaran kecil itu menjadi 45 derajat. Pada 30 frame per detik, setiap frame berputar dua kali lebih jauh, dan jumlahnya tetap 45 derajat dalam satu detik.
Tantangan
MudahBuat kubus berputar pada sumbu y dengan kecepatan speed derajat per detik.
- Di dalam
Update(), panggiltransform.Rotate(x, y, z). - Letakkan
speed * Time.deltaTimepada angka tengah, untuk y, dan0untuk x dan z. Roda di atas berputar pada sumbu z; kubus ini berputar pada sumbu y.
Tekan tombol “Main”: kubus berputar seperempat putaran setiap detik. Lalu tekan tombol “Periksa”.
Coba sendiri
using UnityEngine;
public class Spinner : MonoBehaviour
{
public float speed = 90f;
void Update()
{
// Putar kubus pada sumbu y-nya di sini
}
}
Semua pelajaran di Dasar-Dasar Scripting Unity
1Dasar-Dasar C# di Unity
Halo, UnityVariabelDesimal Memerlukan fTeks di ConsoleVariabel yang Menyimpan NilaiIf dan ElseBandingkan AngkaUlasan: Pengumpul Koin7Perulangan dan method
Ulangi dengan forPerulangan di dalam perulanganTulis methodMethod yang Mengembalikan NilaiarrayUlasan: Tangga10Menemukan Benda
Cari Berdasarkan NamaTagCari Berdasarkan TipeReferensi Lebih Baik daripada FindNull di UnityRangkuman: Koin Terdekat13Proyek: Hindari Balok
Karakter PelariBalok dari Langit2Buat Bergerak
Tempatkan KubusBergerak Setiap FrameBerputar Setiap DetikKemudikan dengan TombolRangkuman: Kemudikan Kubus5Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak AntarobjekVector3 adalah StructRangkuman: Pilot Drone8GameObjects dan Komponen
Referensi di InspectorAmbil KomponenKomponen yang HilangTambahkan KomponenRequireComponentTampilkan dan SembunyikanRingkasan: Sakelar Lampu6Transformasi dan Hierarki
Objek Induk dan AnakKibarkan BenderaSkalaMelihat BendaBergerak Menuju TitikRekap: Bulan yang MengorbitLatihan sendiri: Playground Unity