Çapraz Hız
Coddy'nin Unity Journey'sinin Unity'de Script Yazmanın Temelleri bölümünün bir parçası. Ders 27 / 85.
Sağ ve yukarı ok tuşlarını birlikte basılı tut; ham eksenler yönü (1, 0, 1) olarak verir. Uzunluğu, .magnitude, 1 + 1'in kareköküdür; yaklaşık 1,41 eder. Bu vektörle hareket eden bir yürüyüşçü, düz ilerleyerek 1 birim aldığı sürede çapraz yönde 1,41 birim yol alır: %41 daha hızlı.
.normalized, aynı yönü gösteren ve uzunluğu tam 1 birim olan bir vektörün kopyasını verir: (1, 0, 1), yaklaşık (0,71, 0, 0,71) olur; (0, 0, 5) ise (0, 0, 1) olur. Hızla çarpıldığında, yön ne olursa olsun o hızla hareket eder. Bu arı, çiçek uzakta da olsa yakında da olsa ona saniyede 2 birim hızla uçar; .normalized olmadan çiçek ne kadar uzaktaysa o kadar hızlı uçardı:
public Vector3 flower = new Vector3(4, 1, 3);
public float speed = 2f;
void Update()
{
Vector3 toFlower = flower - transform.position;
transform.position += toFlower.normalized * speed * Time.deltaTime;
}Vector3.zero.normalized, sıfırın yönü olmadığı için (0, 0, 0) olarak kalır. v.normalized, v değerini değiştirmez; v.Normalize() ise v değerinin kendisini değiştirir.
Görev
KolayYürüyenin çapraz yönlerde de aynı hızda hareket etmesini sağla.
Update()içindeVector3 direction = new Vector3(Input.GetAxisRaw("Horizontal"), 0, Input.GetAxisRaw("Vertical"));oluştur.direction.normalized * speed * Time.deltaTimedeğerinitransform.positiondeğerine ekle.
“Oyna” düğmesine bas ve iki yön tuşunu basılı tut: yürüyen çapraz yönde, düz ilerlediğinden daha hızlı hareket etmez. Ardından “Kontrol et” düğmesine bas.
Kendin dene
using UnityEngine;
public class Walker : MonoBehaviour
{
public float speed = 4f;
void Update()
{
// Ok tuşları veya WASD: x ve z eksenlerinde speed hızında hareket et; çapraz yönlerde de aynı hızı koru.
}
}
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