Menu
CoddyTech

Ö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.

challenge icon

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üş
    }
}
quiz iconKendini test et

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