Ölçek
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 25 / 67.
transform.localScale, bir nesnenin boyutunu eksenlerinin her biri 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 eşit boyut için Vector3.one ile çarpın; bu değer (1, 1, 1) şeklindedir. Bu sabun köpüğü, 3 birim genişliğe 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; dolayısıyla size 3'e ulaşana kadar büyür ve ardından 3'te kalır.
Ölçeklendirme, nesnenin pivot noktası çevresinde gerçekleşir. Unity'nin yerleşik şekillerinde bu nokta merkezdir. Yere oturan 1 birimlik bir küpün merkezi y = 0.5 konumundadır. Küpü 3 birim yüksekliğe ölçeklendirdiğinizde, merkezinden 1.5 birim yukarı ve 1.5 birim aşağı uzanır; böylece yarısı zemine gömülür. Yerde durması için merkezinin yüksekliğinin yarısı kadar olması gerekir: y = 1.5.
Bir çocuğun boyutu, ebeveyninin boyutuyla çarpılır: ölçeği 2 olan bir ebeveynin altındaki localScale değeri (1, 1, 1) olan bir çocuk, iki kat büyük çizilir. transform.lossyScale, dünyadaki son boyutu okur ve salt okunurdur; ayarladığınız değer localScale'dir.
Görev
Ortaघनाकार बर्फ पिघल रहा है। खेल शुरू होते ही यह हर सेकंड melt (0.2) की दर से सभी अक्षों पर सिकुड़ता है; इसका आकार 1 से घटकर 0.4 हो जाता है और फिर उसी आकार का रहता है।
केंद्र के चारों ओर सिकुड़ने से यह हवा में तैरने लगेगा, इसलिए इसका निचला हिस्सा पूरे समय ज़मीन पर (y = 0 पर) रखें। इसके x और z में कोई बदलाव नहीं होता।
इसे पिघलते हुए देखने के लिए Play दबाएँ, फिर Check दबाएँ।
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 düş
}
}
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Unity'de Script Yazmanın Temelleri bölümündeki tüm dersler
1İlk Betiğiniz
Merhaba, UnityKüpü YerleştirHer Karede Hareket EtHer Saniye DönTuşlarla Yön VerÖzet: Küpü Sür4Vektörler
Vektörleri ToplamaYönlerYerel ve Dünya UzayıÇapraz HızNesneler Arasındaki MesafeVector3 Bir YapıdırÖzet: Drone Pilotu7Proje: Yıldızı Yakala
YakalayıcıDüşen Bir Yıldız5Dönüşümler ve Hiyerarşi
Ebeveynler ve ÇocuklarÖlçekNesnelere BakışBir Noktaya Doğru HareketTekrar: Yörüngedeki Ay6GameObject'ler ve Bileşenler
Inspector'daki ReferanslarBir Bileşen AlEksik BileşenlerBir Bileşen EkleRequireComponentGöster ve GizleÖzet: Işık Anahtarı