Debug.DrawRay
Deklarasyon
public static void DrawRay(Vector3 start, Vector3 dir, Color color = Color.white, float duration = 0.0f, bool depthTest = true);
Parametreler
start | Işının başlaması gereken dünya uzayındaki nokta. |
dir | Işının yönü ve uzunluğu. |
color | Çizilen çizginin rengi. |
duration | Çizginin ne kadar süreyle görünür olacağı (saniye cinsinden). |
depthTest | Kameraya daha yakın olan diğer nesnelerin çizgiyi gizleyip gizlemediğini belirler. |
Açıklama
Start noktasından başlayarak dünya koordinatlarında start + dir kadar mesafede çizgi çizer.
Duration parametresi, çizginin çizildiği kare sonrasında ne kadar süreyle görünür olacağını belirler. Eğer duration 0 ise (varsayılan), çizgi 1 kare boyunca çizilir.
Eğer depthTest true olarak ayarlanırsa, çizgi, kameraya daha yakın olan diğer nesneler tarafından örtülecektir.
Çizgi, düzenleyicinin Sahne görünümünde çizilecektir. Gizmo çizimi oyun görünümünde etkinse, çizgi orada da çizilecektir.
using UnityEngine;
public class Example : MonoBehaviour
{
// Kare güncelleme örneği: Pozisyondan başlayarak 10 metre uzunluğunda bir yeşil çizgi
// çizer, 1 kare boyunca görünür.
void Update()
{
Vector3 forward = transform.TransformDirection(Vector3.forward) * 10;
Debug.DrawRay(transform.position, forward, Color.green);
}
}
using UnityEngine;
public class Example : MonoBehaviour
{
// Olay geri çağrısı örneği: Tüm temas noktalarını ve normal vektörlerini 2 saniye
// boyunca hata ayıklama şeklinde çizer.
void OnCollisionEnter(Collision collision)
{
Debug.DrawRay(collision.contacts[0].point, collision.contacts[0].normal, Color.green, 2, false);
}
}
Yorumlar
Yorum Gönder