UNİTY 3D FUNCTIONS - RAYCAST
RAYCAST:
public class Control : MonoBehaviour
{
RaycastHit hit;
private void
Update()
{
if (Physics.Raycast(transform.position, transform.forward, out hit, Mathf.Infinity ))
{
print(“ok”);
}
}
}
Out hit = Lazerin çarptığı obje hakkında bilgi verir.
Örneğin lazerin çarptığı objenin içinde light componenti varsa bunları
değerleri vb şeyleri bize iletir.
Mathf.Infinity = Lazerin
uzunluğudur. Sonsuza kadar gitmesine yarar bu kod. Bu kodun yerine istersek
buraya 99999 bile yazabiliriz ama biz lazerin sonsuza kadar gitmesini
istiyoruz. DrawRay’de çalışmıyor bu kod.
Raycastler collideri
olmayan objelere çarpmazlar.
public class Control : MonoBehaviour
{
RaycastHit hit;
private void Update()
{
if (Physics.Raycast(transform.position, transform.forward, out hit, Mathf.Infinity))
{
print(hit.collider.gameObject.name);
}
}
}
Bu kod sayesinde lazerin çarptığı objenin componentine
erişir ve bu sayede o objenin ismini yazdırır.
Hiç yorum yok: