11.07.2026 15:16

Silnik gier: promienie — linia wzroku i trafienia

⏱️ 2 min read
Share:

„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.

📚 Related posts

27.08.2026 20:55

Data, której nie cofniemy nawet my

Każdy certyfikat autorstwa dostaje datę zapisaną w blockchainie Bitcoina — takiej nie podważy nikt, my też nie. Sprawdzisz ją bez konta i bez Moonligh...
Continue reading →
27.08.2026 19:35

Twój kolor, wszędzie

Trzy tryby i siedem akcentów, wspólnych dla strony i Moonlight Animate. Motyw jedzie z kontem, profil pokazuje gościom Twoje kolory, a harmonogram sam...
Continue reading →
27.08.2026 18:31

Kto moderuje i na jakiej podstawie

Moderator to teraz osobna rola z własnym zakresem, a nie administrator w przebraniu. Odrzucenie treści wymaga powodu, który trafia do autora razem z d...
Continue reading →

📧 Stay up to date!

Join the waitlist to get notified about new Dev Blog posts and Moonlight platform launch.