Local ve world farkı
- Oyun Geliştirme kursu
- Başlangıç
- Ders 41/83
- 4 dk
Yerel ve dünya uzayı arasındaki farkı öğrenirsin.
Local ve World uzayı
Unity'de World Space, nesnenin sahnenin genel koordinat sistemine göre konumunu ifade eder. Local Space ise nesnenin kendi ebeveynine göre konumunu ve dönüşünü ifade eder. Bir nesnenin ebeveyni varsa yerel koordinatları bu ebeveynin koordinat sistemine bağlıdır.
World Position: (10, 0, 0)
Local Position: (2, 0, 0)Bu iki değer aynı nesne için farklı olabilir çünkü farklı koordinat sistemlerini temsil eder.
Ebeveyn ve çocuk nesneler
Unity'de bir Transform başka bir Transform'un çocuğu olabilir. Çocuk nesnenin localPosition değeri ebeveynine göre hesaplanırken position değeri dünya koordinatlarını gösterir. Ebeveyn hareket ettiğinde çocuk nesnenin dünya konumu da etkilenebilir.
Parent
Position: (5, 0, 0)
└── Child
Local Position: (2, 0, 0)
World Position: (7, 0, 0)Bu hiyerarşi, nesneleri birbirine bağlı biçimde düzenlemeyi sağlar.
Uygulama Yerel ve dünya konumlarını yazdır
Bir Unity C# sınıfında Start metodu oluştur. Önce nesnenin dünya konumunu, ardından ebeveynine göre yerel konumunu Debug.Log ile yazdır. Bunun için sırasıyla transform.position ve transform.localPosition kullan.
Başlangıç kodu
using UnityEngine;
public class SpaceInfo : MonoBehaviour
{
void Start()
{
// Print world and local positions.
}
}Örnek çözüm
using UnityEngine;
public class SpaceInfo : MonoBehaviour
{
void Start()
{
Debug.Log(transform.position);
Debug.Log(transform.localPosition);
}
}Beklenen çıktı
(7.00, 0.00, 0.00) (2.00, 0.00, 0.00)
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir nesnenin ebeveynine göre konumunu hangi özellik gösterir?
- transform.rotation
- transform.localScale
- transform.position
- transform.localPosition Doğru cevap
Açıklama: localPosition, nesnenin dünya koordinatlarına değil, doğrudan ebeveyninin koordinat sistemine göre konumunu belirtir.
2 Yerel konumu oku
Vector3 relativePoint = transform.____;
Vector3 relativePoint = transform.localPosition;
Açıklama: localPosition, nesnenin ebeveynine göre konumunu Vector3 olarak verir.
3 Koordinat sistemleri
| Kavram | Anlamı |
|---|---|
World Space |
Sahnenin genel koordinat sistemidir |
Local Space |
Ebeveyne göre koordinat sistemidir |
position |
Dünya konumunu verir |
localPosition |
Ebeveyne göre konumu verir |