11.07.2026 15:16

Silnik gier: promienie — linia wzroku i trafienia

⏱️ 2 min czytania
Udostępnij:

„Czy strażnik widzi gracza?", „czy pod stopami jest grunt?", „w co trafił strzał?" — na te pytania gra odpowiada promieniem: odcinkiem rzuconym w świat fizyki, który zwraca najbliższą trafioną bryłę. Silnik gier 2D właśnie go dostał, w dwóch smakach.

Ze skryptu wystarczy jedna linijka: mp.raycast(x1, y1, x2, y2) zwraca punkt trafienia, normalną powierzchni (przydatną do rykoszetów i ustawiania się na zboczach), ułamek dystansu i sam trafiony obiekt — albo nic, jeśli droga wolna. Ta sama operacja jest dostępna jako klocek grafu logiki. Ważny szczegół kontraktu: strefy-wyzwalacze nigdy nie blokują promienia — niewidzialna czujka w drzwiach nie zasłania strażnikowi widoku.

Drugi smak to węzeł-sonda: wpinany w scenę, co krok fizyki rzuca promień od swojej pozycji wzdłuż zadanego wektora i trzyma gotowy wynik. Sonda obraca się razem ze swoim rodzicem — czujnik ściany przypięty do postaci patrzy tam, gdzie postać jest odwrócona, bez żadnej matematyki po stronie gry.

Jak zwykle całość jest pokryta testami bez okna: trafienie przez pas czujki (pominięty), zgodność punktu i normalnej z ręcznym przeliczeniem, obrót sondy razem z węzłem i identyczne wyniki ze skryptu i z kodu silnika. Audyt dorzucił też solidność na brzegach — wynik sondy nie trzyma nieaktualnych wskaźników po usunięciu trafionego obiektu, a promień zaczynający się wewnątrz bryły ma jasno opisane zachowanie.

Następny naturalny krok fizyki: warstwy i maski kolizji, żeby promienie i kontakty mogły wybierać, co ich interesuje.

📚 Powiązane posty

14.07.2026 22:19

Silnik gier: od szablonu do grywalnej gry RPG top-down

Startowy szablon silnika gier to teraz kompletny, grywalny wycinek gry RPG top-down: chodzenie po siatce, rozmowy z postaciami, przeciwnik goniący gdy...
Czytaj dalej →
14.07.2026 19:16

Moonlight Animate — system dialogów w grach

Silnik gier 2D w Moonlight Animate ma teraz kompletny system dialogów: kwestie z efektem maszyny do pisania, wybory z warunkami, zmienne fabularne i g...
Czytaj dalej →
14.07.2026 18:40

Moonlight Animate: ruchoma panorama dźwięku także w wyeksportowanym wideo

Dźwięk przejeżdżający z lewego do prawego głośnika brzmiał dobrze w podglądzie, ale eksport przez serwer zamrażał go w miejscu. Ostatnia luka parytetu...
Czytaj dalej →

📧 Bądź na bieżąco!

Zapisz się na listę oczekujących, aby otrzymywać powiadomienia o nowych postach na Dev Blog oraz informacje o starcie platformy Moonlight.