FS25: Wyjaśnienie deformacji gruntu
FS25: Wyjaśnienie deformacji gruntu
To już nie jest tajemnicą, że ziemia w Farming Simulator 25 będzie się deformować. Ale chcesz poznać szczegóły, prawda? No to idź i zdobądź trochę!
Oprócz nowych zrzutów ekranu wizualizujących odkształcanie się gruntu, starszy inżynier oprogramowania Eddie Edwards z GIANTS Software przedstawi bardziej szczegółowo, jak to w rzeczywistości działa.
Eddie, opowiedz nam najpierw o sobie i swoim stanowisku – na czym polega twoja rola?
Jestem jednym ze starszych programistów silnika Farming Simulator. Pracuję w GIANTS od początków FS13. Stworzyłem oryginalny port na PlayStation 3 i byłem odpowiedzialny za inne porty silnika GIANTS na PS4, PS5, Switch i iOS. W firmie jestem zdecydowanie „facetem od PlayStation”, ale pracuję również nad technologią silnika międzyplatformowego, taką jak Density Maps, renderowanie, kompilator shaderów, trochę fizyki, dźwięku itp.
Nie ma wiele w GIANTS Engine, nad czym nie pracowałem w pewnym zakresie przez ostatnie 12 lat! I w szczególności, oczywiście, stworzyłem nowe technologie, które wprowadzają deformację gruntu do FS25 – ulepszony system Density Map, nowy system geometrii terenu i system wirtualnej teksturyzacji terenu.
Jak odkształca się ziemia
W zależności od rodzaju gruntu, odkształcenie i ściskanie gleby zależy od wielu czynników. Spójrz!
Jakie czynniki definiują sposób odkształcania się gruntu?
Eddie: Wpływ na to ma wiele czynników. Po pierwsze, każdy rodzaj podłoża ma inny poziom „twardości” i „lepkości”. Asfalt nie może się w ogóle odkształcić, na przykład błoto może się bardzo odkształcić (z powodu innej „twardości”), a jazda po śniegu natychmiast go miażdży, podczas gdy jazda po błocie powoduje jego ściskanie przez dłuższy czas (z powodu innej „lepkości”). Ponadto, jeśli podłoże jest mokre, ma to również wpływ na odkształcenie.
Na odkształcenie wpływa również rodzaj pojazdu, którym jeździsz – zarówno ciężar ciągnika, jak i szerokość jego opon wpływają na reakcję terenu. A pojazd poruszający się wolniej będzie tonął szybciej niż pojazd poruszający się szybciej.
Jak deformacja gruntu wpływa na rozgrywkę? Co gracze „poczują”?
Po raz pierwszy FS25 zapewnia prawdziwą fizyczną reakcję na podłoże – poczujesz, jak ciągnik podskakuje na ziemi, a także zobaczysz, jak tworzy koleiny i ślady. Jeśli wrócisz i przejedziesz przez te koleiny i ślady, również odczujesz ich wpływ.
Trudniej jest też kierować, jeśli wkopałeś się w ziemię, tak jak w prawdziwym życiu. Jazda w deszczu będzie trudniejsza niż jazda w słońcu. Konfiguracja opon ma teraz większy wpływ i być może będziesz musiał rozważyć, które opony najlepiej nadają się do różnych pór roku i różnych rodzajów prac polowych.
Oranie na innym poziomie
Choć odkształcenia gleby zależą od konkretnych maszyn, ich ciężaru i innych warunków, to w Farming Simulator 25 jedna konkretna czynność polowa będzie prawdopodobnie odczuwana zupełnie inaczej.
Jakie maszyny/sprzęt najlepiej pokażą deformacje gruntu?
Oranie jest teraz nowym doświadczeniem – pług tworzy prawdziwe fizyczne bruzdy, które nie tylko można wyraźniej zobaczyć na ekranie, ale także wpływają na ciągnik podczas jazdy po nich. Ponadto maszyny z gąsienicami teraz wchodzą w swoje własne, ponieważ tak dobrze radzą sobie z nierównym podłożem.
Wydajność, efekty wizualne i wyzwania!
Jakie były wyzwania techniczne przy wdrażaniu deformacji gruntu?
Deformacja gruntu działa na siatce o rozmiarze 12,5 cm, co daje 16K x 16K dla mapy 2 km (to 256 megapikseli – sama mapa ma tylko 4 megapiksele). Występowały różne wyzwania techniczne związane z wydajnym przechowywaniem tych danych, a także z wydajnym przetwarzaniem danych, na przykład gdy narzędzia takie jak kultywatory lub pługi pracują na polach, a pojazdy przejeżdżają po polach i reagują na te drobne nierówności i grzbiety.
Istnieje również „proceduralny” poziom deformacji gruntu, który jest mapowany za pomocą geometrii w podobny sposób, w jaki mapuje się tekstury terenu za pomocą obrazów, z tą różnicą, że jest on uruchamiany na procesorze CPU, a nie na szybszym procesorze GPU, więc musieliśmy mocno zoptymalizować ten kod.
W jaki sposób są przechowywane i zarządzane dane dotyczące deformacji gruntu?
Ponieważ deformacja gruntu działa w wyższej rozdzielczości niż ta, z którą mieliśmy do czynienia wcześniej, chcieliśmy zaoszczędzić pamięć w obszarach, które nie są zdeformowane (np. w górach skalistych lub w miejscach, w których gracz jeszcze nie był), więc stworzyliśmy „rzadką” wersję Density Maps. Przechowuje ona kafelki danych tylko w regionach, w których deformacja faktycznie występuje. Co więcej, aby jeszcze bardziej zmniejszyć ilość zajmowanej pamięci, wszystkie kafelki są kompresowane przy użyciu bardziej zaawansowanej wersji istniejącej kompresji Density Map, której używaliśmy w przeszłości.
Dodatkowo, aby obsługiwać szybkie operacje na tych danych o wysokiej rozdzielczości, stworzyliśmy Density Map Processing Unit (DPU), który jest jak mały emulator GPU, który działa na CPU i jest w stanie wykonywać operacje na Density Maps z dużo większą prędkością niż wcześniej. Można go faktycznie zaprogramować za pomocą naszego wewnętrznego języka shaderów, chociaż ta funkcja nie jest jeszcze używana w FS25.
Jeśli chodzi o szybkość, cały system (kompresja danych, operacje DPU i generowanie proceduralne) jest napisany przy użyciu natywnych instrukcji SIMD (SSE4.1 lub AVX2 na PC i konsolach oraz NEON na komputerach Mac z procesorem ARM). W tej wersji Farming Simulator jest o wiele więcej kodu zoptymalizowanego pod kątem SIMD niż kiedykolwiek wcześniej.
Opowiedz nam, jak zoptymalizowałeś fizykę deformacji pod kątem wydajności.
W poprzednich wersjach Farming Simulator niestandardowa fizyka pojazdów zajmowała się terenem o rozdzielczości 0,5 m. Przy odkształceniu i przemieszczeniu terenu rozdzielczość wynosi teraz 0,125 m — 4 razy więcej w każdym kierunku lub 16 razy więcej trójkątów. Spowodowało to, że wykrywanie kolizji koła z terenem było 16 razy wolniejsze, więc napisaliśmy niestandardową implementację tego dla FS25, która jest około trzydzieści razy szybsza od starego kodu, więc ogólnie rzecz biorąc nasza fizyka pojazdów jest teraz około dwa razy szybsza niż wcześniej, nawet przy wszystkich nowych funkcjach.
Nowy kod fizyki wymagał dość skomplikowanych obliczeń matematycznych i analizy numerycznej. Na szczęście mam tytuł magistra matematyki, co bardzo mi pomogło w tym zadaniu!
W jaki sposób gra radzi sobie z przejściami wizualnymi przy deformacji podłoża?
Kolejną nową funkcją w FS25 jest siatka czworokątnego drzewa terenu, która umożliwia renderowanie trójkątów o wysokiej rozdzielczości w pobliżu gracza, ale w większej odległości wykorzystuje niższą rozdzielczość. Nie ma więc potrzeby renderowania zdeformowanej geometrii, gdy gracz znajduje się w odległości setek metrów.
Geometria płynnie przechodzi z odkształconej do niezdeformowanej w pewnej odległości od gracza. Jednak to przejście jest dość dobrze ukryte z powodu innej nowej technologii w FS25, jaką jest system wirtualnej tekstury terenu.
Chociaż deformacja nie jest renderowana w oddali za pomocą trójkątów, jest ona nadal cieniowana i renderowana w teksturze terenu (za pomocą techniki graficznej zwanej normal mappingiem). Tak więc deformacja jest nadal wyraźnie widoczna, nawet na odległych obszarach, gdzie liczba renderowanych trójkątów jest bardzo niska, a ślady pozostawione przez pojazdy AI można zobaczyć nawet, jeśli obserwuje się je z odległości pół kilometra!
Co osobiście najbardziej podoba ci się w deformacji terenu w grze?
Autor:Wdrożenie wszystkich tych nowych technologii było bardzo satysfakcjonującym doświadczeniem i bardzo podoba mi się fakt, że w rezultacie gracz nie tylko ma lepsze wrażenia wizualne, ale także, że gra w tak interesujący sposób współdziała z fizyką i rozgrywką, dzięki czemu FS25 jest o wiele ciekawszym i bardziej realistycznym „symulatorem” niż kiedykolwiek wcześniej!
Farming Simulator 25 mods