Pytania otagowane jako raycasting

Technika używania promieni do określania punktów przecięcia. Często używany w symulacji oświetlenia.

4
Rzuć promień, aby wybrać blok w grze wokselowej
Rozwijam grę z terenem podobnym do Minecrafta zbudowanym z bloków. Ponieważ podstawowe renderowanie i ładowanie porcji jest już zakończone, chcę zaimplementować wybieranie bloków. Dlatego muszę dowiedzieć się, jaki blok stoi aparat pierwszej osoby. Słyszałem już o nieprojektowaniu całej sceny, ale zdecydowałem się tego nie robić, ponieważ brzmi to hack i …

2
Jak mogę zaimplementować oświetlenie w silniku wokselowym?
Tworzę silnik terenowy podobny do MC i pomyślałem, że oświetlenie sprawi, że będzie wyglądać o wiele ładniej. Problem polega na tym, że bloki nie są odpowiednio oświetlone, gdy umieszczony jest blok emitujący światło (patrz zrzuty ekranu na dole) na stronie. Do tej pory chcę wdrożyć „blokowe” oświetlenie Minecrafta. Więc stworzyłem …
15 c#  xna  lighting  raycasting 

1
Jak narysować strzałkę na krawędzi ekranu wskazującą obiekt znajdujący się poza ekranem?
Chcę zrobić to, co opisano w tym temacie: http://www.allegro.cc/forums/print-thread/283220 Próbowałem różnych metod wymienionych tutaj. Najpierw próbowałem użyć metody opisanej przez Carrus85: Po prostu weź stosunek dwóch trójkątów przeciwprostokątnych (nie ma znaczenia, którego trójkąta użyjesz dla drugiego, sugeruję punkt 1 i punkt 2 jako obliczaną odległość). To da ci procent proporcji …


1
Dlaczego UnCity OnCollisionEnter nie podaje normalnych powierzchni i jaki jest najbardziej niezawodny sposób ich uzyskania?
Zdarzenie Unity dotyczące kolizji daje ci obiekt kolizji, który daje pewne informacje na temat kolizji, która miała miejsce (w tym listę punktów kontaktowych z normalnymi trafieniami). Ale nie dostajesz normalnych powierzchni dla zderzacza, który trafiłeś. Oto zrzut ekranu do zilustrowania. Czerwona linia pochodzi z, ContactPoint.normala niebieska linia pochodzi z RaycastHit.normal. …

3
Jak obsługiwać RTS Click-And-Move w przestrzeni 3D?
Jak obsłużyć funkcję „kliknij i przesuń” w pełnej przestrzeni 3D? Łatwo jest obsługiwać na płaszczyźnie 2D za pomocą prostego raycasta, ale nie jest tak w 3D, ponieważ nie ma płaszczyzny końcowej, aby raycast mógł uzyskać punkt końcowy. Mam na myśli dwa pomysły: Wykonaj raycast, a następnie pozwól graczowi wybrać odległość …

1
Jak mogę zapewnić symetrię pola widzenia w Roguelike?
Pracuję nad Roguelike i do tego stworzyłem algorytm śledzenia pola widzenia (FoV), który polega na kreśleniu linii Bresenhama do każdego punktu w jednolitym okręgu. Jest wolny od artefaktów (i dość wydajny), ale brakuje mi ważnego wymogu mojego: symetrii (jeśli widzisz potwora, musi on także cię widzieć). Oto przykład niesymetrycznego zachowania …

3
Algorytmy wykrywania kolizji w wąskich fazach
Istnieją trzy fazy wykrywania kolizji. Broadphase : Pętla między wszystkimi obiektami, które mogą oddziaływać, dozwolone są fałszywe alarmy, jeśli przyspieszyłoby to zapętlenie. Narrowphase : Określa, czy się zderzają, a czasem, jak, nie ma fałszywych trafień Rozdzielczość : rozwiązuje kolizję. Pytanie, które zadaję, dotyczy wąskiej fazy. Istnieje wiele algorytmów różniących się …


2
Ukośna linia wzroku z dwoma rogami
Obecnie używam algorytmu liniowego Bresenhama dla linii wzroku. Problem polega na tym, że znalazłem przypadek, w którym gracze mogą patrzeć przez ściany. Występuje, gdy gracz patrzy między dwoma rogami ściany ze szczeliną po drugiej stronie pod określonymi kątami. Chcę, aby kafelek między dwiema ścianami został oznaczony jako nieprawidłowy. Jaki jest …

2
Bardziej efektywny sposób wdrożenia linii wzroku na siatce 2D z rzutowaniem promieniami?
Rozważ siatkę 2d płytek i przybliżoną kulę współrzędnych - wyśrodkowaną na odtwarzaczu - która reprezentuje linię wzroku. Celem jest zablokowanie linii wzroku poza przeszkodami (np. Ścianami). Względnie proste jest ustalenie, czy widoczna jest pojedyncza komórka w polu widzenia: rzuć promień z gracza na komórkę docelową, używając Bresenhama - jeśli jedna …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.