Ölçek
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 33 / 85.
transform.localScale, bir nesnenin boyutunu her bir ekseni boyunca çarpar. Varsayılan bir küpün her kenarı 1 birimdir; bu nedenle localScale değeri (4, 1, 0.5) olan bir küp 4 birim genişliğinde, 1 birim yüksekliğinde ve yarım birim derinliğindedir. Her yönde aynı boyuta ulaşmak için (1, 1, 1) olan Vector3.one ile çarpın. Bu sabun köpüğü, genişliği 3 birime ulaşana kadar saniyede 0.3 birim büyür:
public float size = 1f;
void Update()
{
size = Mathf.Min(size + 0.3f * Time.deltaTime, 3f);
transform.localScale = Vector3.one * size;
}Mathf.Min(a, b), iki sayıdan küçük olanı döndürür; bu nedenle size 3'e ulaşana kadar büyür ve sonra 3 olarak kalır.
Ölçeklendirme, nesnenin pivot noktası etrafında gerçekleşir; Unity'nin yerleşik şekillerinde bu nokta merkezdir. Yerde duran, 1 birimlik bir küpün merkezi y = 0.5 konumundadır. Küpü 3 birim yüksekliğe ölçeklendirirseniz, merkezi bu noktadan 1.5 birim yukarıya ve 1.5 birim aşağıya ulaşır; dolayısıyla yarısı yere gömülür. Yerde durması için merkezinin yüksekliğinin yarısında olması gerekir: y = 1.5.
Bir çocuk nesnenin boyutu, ebeveyninin boyutuyla çarpılır: 2 kat ölçeklendirilmiş bir ebeveynin altındaki localScale değeri (1, 1, 1) olan bir çocuk nesne iki kat büyük çizilir. transform.lossyScale, dünyadaki son boyutu okur ve salt okunurdur; ayarladığınız değer localScale değeridir.
Görev
OrtaBuz küpünü yerde tutarak 0.4'e kadar küçült.
float size = 1f;alanını ekle.Update()içindesize = Mathf.Max(size - melt * Time.deltaTime, 0.4f);değerini ata.transform.localScale = Vector3.one * size;ayarını yap.- Alt kısmını y = 0'da tut: x ve z'yi koruyarak konumun y değerini
size / 2yap.
“Oyna” düğmesine bas: küp küçülür ve yerde kalır. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class Melt : MonoBehaviour
{
public float melt = 0.2f;
void Update()
{
// Alt kısmı yerde kalacak şekilde, saniyede melt kadar küçülerek 0.4'e in
}
}
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1Unity'de C# Temelleri
Merhaba, UnityDeğişkenlerOndalık Sayılar için f GerekirKonsolda MetinHatırlayan DeğişkenlerEğer ve DeğilseSayıları KarşılaştırmaTekrar: Coin Collector4Girdi
Basılı, Basılı Tutulmuş, BırakılmışEksenlerAdlandırılmış DüğmelerFare DüğmeleriTekrar: Zıplama Yükleme7Döngüler ve Metotlar
for ile tekrarlamaİç içe döngülerBir metot yazmaYanıt veren metotlarDizilerTekrar: Merdiven10Nesneleri Bulma
Ada Göre BulEtiketlerTüre Göre BulReferanslar Bulmaktan İyidirUnity'de NullÖzet: En Yakın Madeni Para13Proje: Bloklardan Kaç
KoşucuGökyüzünden Bloklar5Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir Struct'tırTekrar: Drone Pilotu8GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı3Inspector
Inspector AlanlarıSerializeFieldOndalıklı Sayılar ve MathfInspector ÖzellikleriTekrar: Asansör6Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarBayrağı Göndere ÇekÖlçekNesnelere BakBir Noktaya Doğru Hareket EtTekrar: Yörüngedeki Ay9Proje: Yıldızı Yakala
YakalayıcıDüşen Bir YıldızKendi başına pratik yap: Unity playground