[OMSI 1 & 2] Boundingbox - obwiednia |
Tym razem bardzo krótkie wyjaśnienie kwestii dotyczącej obwiedni pojazdu (ang. "boundingbox").
Otóż obwiednia jest niezbędna do odpowiednich wyliczeń dla danych geometrycznych pojazdu, a przede wszystkim - symulacji kolizji. Tworzy ona niejako prostopadłościan wokół modelu, którego ściany stanowią "granice" wykrywania kolizji. Deklarację obwiedni można znaleźć pod słowem kluczowym: Kod: [boundingbox] Aby odpowiednio ustawić obwiednię musimy znać przede wszystkim: - szerokość pojazdu bez lusterek - podawaną w metrach - długość pojazdu - także podawaną w metrach - wysokość pojazdu - w tej samej jednostce jak wyżej Znając powyższe, możemy zabierać się za wklepywanie odpowiednich wartości pod wcześniej wymienione słowo kluczowe. Powinny się tam znaleźć odpowiednio dane o: - szerokości pojazdu - długości pojazdu - wysokości pojazdu - przesunięciu punktu centralnego obwiedni od punktu środkowego pojazdu (niem. Nullpunkt, czyli punkt 0,0,0 w pliku 3D pojazdu) po osi X (a więc tej od szerokości) w metrach - przesunięciu punktu centralnego obwiedni od punktu środkowego pojazdu po osi Y (od długości) w metrach - przesunięciu punktu centralnego obwiedni od punktu środkowego pojazdu po osi Z (od wysokości) w metrach Jeśli ktoś nadal nie rozumie trzech ostatnich myślników - wyjaśniam. Obwiednia jest tworzona wokół pewnego punktu, którą przetłumaczyłem sobie jako "punkt centralny obwiedni". Skoro operujemy w 3D, mamy trzy współrzędne tego punktu: X, Y i Z. Od niego "rozwijane" są odległości podawane wcześniej. Czyli ustawiając szerokość w pierwszym myślniku na 2 metry a w czwartym myślniku przesunięcie 0 - mamy taką sytuację: Kolizja po tej osi zostanie wykryta, gdy jakiś obiekt znajdzie się w pasie między współrzędnymi -1 a 1 na osi X biorąc pod uwagę wartości z programu 3D. Jeśli natomiast w czwartym myślniku podamy przesunięcie -0.5: Tutaj kolizja po tej osi zostanie wykryta, gdy jakiś obiekt znajdzie się w pasie między współrzędnymi -1,5 a 0,5 na osi X biorąc pod uwagę wartości z programu 3D. Adekwatna sytuacja ma się dla pozostałych osi. Przy ustawieniu trzech ostatnich myślników na 0 - punkt centralny obwiedni = punktowi 0,0,0 w układzie współrzędnych w programie 3D. O ile przestawianie punktu centralnego dla szerokości akurat większego sensu zazwyczaj nie ma, o tyle, żeby uwzględnić wystający przedni zderzak, zwykle wartość przesunięcia dla długości (piąty myślnik) nieco odbiega od wartości 0. Pewnikiem jest, że w 99% przypadków wymagane jest ustawienie odpowiedniego przesunięcia po osi Z, czyli dla wysokości, żeby obwiednia nie wtapiała się niepotrzebnie w ziemię oraz żeby niski autobus zmieścił się w np. tunelu bądź pod innymi obiektami. Gotowy wpis obwiedni wygląda na przykład tak: Kod: [boundingbox] Niepoprawne ustawienie wartości może skutkować dziwnymi i śmiesznymi kolizjami podczas jazdy. Często winę za tzw "niewidzialne ściany" zrzuca się na twórców map, tymczasem nie wszystkie pojazdy mają odpowiednio ustawioną obwiednię i przez to wywoływane są nierealistyczne kolizje z elementami scenerii. Poradnik został napisany wyłącznie dla Forum http://strefa-omsi.pl i nie może być rozpowszechniany we fragmentach lub w całości na innych stronach bez zezwolenia głównego Autora.
♪ "Nie pytaj mnie, wiem tyle co i ty" ♪
Zanim cokolwiek napiszesz, przeczytaj koniecznie REGULAMIN Jeśli masz problem techniczny, zapoznaj się z ZASADAMI DZIAŁÓW TECHNICZNYCH Jeśli chcesz podzielić się dodatkiem, zapoznaj się z REGULAMINEM DZIAŁU POBIERALNIA |
Użytkownicy przeglądający ten wątek: |
2 gości |