Jak w unity rysować pole widzenia?

0

W starszych grach i niektórych nowych, głównie z widokiem izometrycznym, bywa, że postacie na ekranie mają zobrazowane pole widzenia, z postaci wychodzi płaski, półprzeźroczysty trójkąt 2d, który symbolizuje zakres widzenia oraz zasięg widzenia. Ma to na celu ułatwienie graczom rozgrywki, wrogowie wtedy są bardziej przewidywalni, łatwiej ich ominąć bez wchodzenia w walkę. Które gotowe rozwiązania w Unity sprawdzą się by stworzyć podobny efekt?

0

Chodziło jedynie o efekt graficzny, a nie o AI i raycasting. Wizualny trójkąt rysowany dla każdej postaci, nic poza nim.
Zapytam w inny sposób - jak narysować linię obróconą o ileś stopni? (gdy poznam odpowiedź, to będę mógł narysować dwie linię, jedną z lewej strony, drugą z prawej i już prawie będzie trójkąt zasięgu, wystarczy mi tyle.

0

narysuj linie i obroc ja o tyle stopni ile chcesz? (za pomoca transform?)

Co ty chcesz osiagnac?

0

ale jest gotowa metoda do obracania linii o określony kąt np. 45 stopni?

0

w zaleznosci od pozycji kamery zmien transform.rotation.x albo y albo z

0

To podam ci przykład z linią prostą.

Vector3 forward = transform.position + transform.forward * col.radius;
Debug.DrawLine(transform.position, forward, Color.magenta);

Pierwsza linia to wektor, który będzie oddalony od postaci o np. 8 metrów. Druga linia to narysowanie linii od pozycji postaci do wektora wcześniejszego.
Potrafisz podać mi funkcję, pomoże mi tę linię obrócić o 45 stopni w lewą stronę?

tobie widocznie chodziło o to bym zrobił pusty Game Object jako Child, dodał mu Line Renderer, ustawił drugi wektor na daną odległość, a następnie cały Game Object obrócił za pomocą Transform Rotation. Tak będzie najlepiej wg ciebie? Może masz rację. Może niepotrzebnie chciałem bawić się w inne sposoby i obracać jakimiś funkcjami wektory, zamiast iść na łatwiznę :).

1 użytkowników online, w tym zalogowanych: 0, gości: 1