Problem z raycastem

Programowanie w Unity.

Problem z raycastem

Postprzez bialas95 » 10 Gru 2018, 22:32

Witam, otóż mam problem z wysłaniem raycasta do przeciwnika, aby go zabić.

Kod: Zaznacz wszystko
if (Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), out Knife_bullet, 27.5f,layerMask))
        {
            if (Knife_bullet.collider.gameObject.name == "Enemy_patrol")
            {
                Paren_animator.GetComponent<Animator>().SetBool("ThrowKill", true);
                Target.GetComponent<Check_dieAI>().SetHowHeDie("Trap", true, new Vector3(0,0,0), 0f);
                StartCoroutine(OffAnimation(Target));   
            }
        }

Drugi if w ogole się nie włącza, ale gdy zmienie np. na coś w stylu layer != 9 (Wall) to bez problemu dociera do celu. Niestety wtedy promien przechodzi nawet przez ściane.
Ktoś pomoże ?
bialas95
 
Posty: 23
Rejestracja: 12 Maj 2018, 20:22
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez Ether_141 » 11 Gru 2018, 00:55

Może raycast coś blokuje po prostu
Awatar użytkownika
Ether_141
 
Posty: 421
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez bialas95 » 11 Gru 2018, 01:16

No właśnie nie widzę nic co by go mogło blokować. NavMeshHit działa bez zarzutu, ale tam chyba ściana nie może odbić promieni.Raycast w debugu zatrzymuje się na tym samym miejscu. Nie ważne jak długi ustawie promień.
bialas95
 
Posty: 23
Rejestracja: 12 Maj 2018, 20:22
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez Wichur » 11 Gru 2018, 05:53

objekt w ktory ma uderzyc nazywa sie "Enemy_patrol" ? czy "Enemy_patrol (Clone)" jesli zostal instantiate'owany :)
Sprawdz layerMaski
Awatar użytkownika
Wichur
 
Posty: 120
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez bialas95 » 11 Gru 2018, 14:06

Enemy_patrol, nawet sprawdzam po tagu i to samo. Niby ma jakieś obiekty przed sobą, ale maja layer "Igonore Raycast". W jakim sensie spr layerMask ? W kodzie ? Teraz nagle działa tylko jeśli navmesha ma przeciwnik wyłączonego...
bialas95
 
Posty: 23
Rejestracja: 12 Maj 2018, 20:22
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez Wichur » 11 Gru 2018, 16:36

Physics.Raycast(transform.position, transform.TransformDirection(Vector3.forward), out Knife_bullet, 27.5f,layerMask)
Tutaj co masz zaznaczone
Awatar użytkownika
Wichur
 
Posty: 120
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez bialas95 » 11 Gru 2018, 16:44

Nie mam nic. Jak miałem w sumie to samo.
Layermask = 1 << 8;
layaremask = ~layermask;
Takie coś miałem wcześniej. Wall jest pod numerem 9 .
bialas95
 
Posty: 23
Rejestracja: 12 Maj 2018, 20:22
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez Wichur » 11 Gru 2018, 20:51

to co miales wczeniej to hit na wszystko procz layer 8

Jak nie masz nic to znaczy, ze raycast ignoruje wszystko, ustaw poprawnie LayerMask, ustaw w liscie to z czym ma raycast kolidowac i na pewno bedzie dzialac
Awatar użytkownika
Wichur
 
Posty: 120
Rejestracja: 19 Gru 2017, 10:33
Miejscowość: Pruszcz Gdański
Has thanked: 0 time
Been thanked: 0 time

Re: Problem z raycastem

Postprzez Ether_141 » 11 Gru 2018, 20:54

Zrób sobie zmienną typu LayerMask i w inspektorze ustaw sobie layer na który ma działać raycast.
Awatar użytkownika
Ether_141
 
Posty: 421
Rejestracja: 29 Sie 2015, 11:47
Has thanked: 0 time
Been thanked: 0 time


Wróć do Skrypty

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości

cron