Skala
Termasuk bagian Dasar-Dasar Scripting Unity dalam perjalanan Unity di Coddy. Pelajaran 25 dari 67.
transform.localScale mengalikan ukuran object pada setiap sumbunya. Cube default memiliki panjang 1 unit di setiap sisinya, jadi cube dengan localScale (4, 1, 0.5) lebarnya 4 unit, tingginya 1 unit, dan kedalamannya setengah unit. Untuk ukuran yang sama pada semua sumbu, kalikan Vector3.one, yaitu (1, 1, 1). Gelembung sabun ini membesar 0.3 unit per detik hingga lebarnya mencapai 3 unit:
public float size = 1f;
void Update()
{
size = Mathf.Min(size + 0.3f * Time.deltaTime, 3f);
transform.localScale = Vector3.one * size;
}Mathf.Min(a, b) mengembalikan angka yang lebih kecil dari keduanya, jadi size membesar hingga mencapai 3, lalu tetap di angka 3.
Skala bekerja dari pivot object, yang untuk bentuk bawaan Unity berada di tengah. Cube berukuran 1 unit yang berada di atas tanah memiliki pusat pada y = 0.5. Jika skalanya diubah menjadi setinggi 3 unit, cube menjulur 1.5 unit ke atas dan 1.5 unit ke bawah dari titik itu, sehingga separuh bagiannya tenggelam ke tanah. Agar berdiri di atas tanah, pusatnya harus berada pada setengah tingginya: y = 1.5.
Ukuran child dikalikan dengan ukuran parent-nya: child dengan localScale (1, 1, 1) di bawah parent yang skalanya 2 akan digambar dua kali lebih besar. transform.lossyScale membaca ukuran akhirnya di dunia, dan nilainya hanya dapat dibaca. localScale adalah properti yang kamu atur.
Tantangan
SedangEs batu sedang mencair. Sejak awal permainan, ukurannya menyusut pada setiap sumbu sebesar melt (0.2) per detik, dari ukuran 1 hingga 0.4, lalu tetap pada ukuran tersebut.
Jika menyusut dari bagian tengahnya, es batu akan melayang, jadi jaga agar bagian bawahnya tetap menyentuh tanah (pada y = 0) sepanjang waktu. Posisi x dan z-nya tidak berubah.
Tekan Play untuk melihatnya mencair, lalu tekan Check.
Coba sendiri
using UnityEngine;
public class Melt : MonoBehaviour
{
public float melt = 0.2f;
void Update()
{
// Perkecil sebesar melt setiap detik hingga 0.4, dengan bagian bawah tetap menyentuh tanah
}
}
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Dasar-Dasar Scripting Unity
1Skrip Pertamamu
Halo, UnityLetakkan KubusBergerak di Setiap FrameBerputar Setiap DetikKendalikan dengan TombolRingkasan: Kendarai Kubus4Vektor
Menjumlahkan VektorArahRuang Lokal dan DuniaKecepatan DiagonalJarak antara BendaVector3 adalah StructRingkasan: Pilot Drone7Proyek: Tangkap Bintang
Si PenangkapBintang Jatuh5Transformasi dan Hierarki
Objek Induk dan AnakSkalaMenghadap ke ObjekBergerak Menuju TitikRangkuman: Bulan yang Mengorbit6GameObject dan Komponen
Referensi di InspectorMendapatkan KomponenKomponen yang HilangMenambahkan KomponenRequireComponentTampilkan dan SembunyikanRangkuman: Sakelar Lampu