Wydanie silnika gry Godot 3.2


Wydanie silnika gry Godot 3.2

NA ŻĄDANIA PRACOWNIKÓW! Pobrane z opennetu.

Po 10 miesiącach prac opublikowano darmowy silnik gry Godota 3.2, odpowiedni do tworzenia gier 2D i 3D. Silnik obsługuje łatwy do nauczenia się język logiki gry, środowisko graficzne do projektowania gier, system wdrażania gry jednym kliknięciem, rozbudowane możliwości animacji i symulacji procesów fizycznych, wbudowany debugger oraz system identyfikacji wąskich gardeł wydajności . Kod silnika gry, środowisko projektowania gier i powiązane narzędzia programistyczne (silnik fizyczny, serwer dźwiękowy, backendy renderujące 2D/3D itp.) są rozpowszechniane na licencji MIT.

Silnik został udostępniony na zasadach open source w 2014 roku przez firmę OKAM, po dziesięciu latach opracowywania autorskiego produktu profesjonalnej klasy, który był używany do tworzenia i publikowania wielu gier na komputery PC, konsole do gier i urządzenia mobilne. Silnik obsługuje wszystkie popularne platformy desktopowe i mobilne (Linux, Windows, macOS, Wii, Nintendo 3DS, PlayStation 3, PS Vita, Android, iOS, BBX), a także tworzenie gier dla Internetu. Stworzono gotowe do uruchomienia zestawy binarne dla systemów Linux, Windows i macOS.

Odrębna gałąź opracowuje nowy backend renderujący oparty na graficznym API Vulkan, który będzie oferowany w następnej wersji Godota 4.0, zamiast obecnie oferowanych backendów renderujących poprzez OpenGL ES 3.0 i OpenGL 3.3 (obsługa OpenGL ES i OpenGL będzie zostać zachowane poprzez udostępnienie starego backendu OpenGL ES 2.0/OpenGL 2.1 na nowej architekturze renderowania opartej na Vulkan). Przejście z Godot 3.2 na Godot 4.0 będzie wymagało przeróbki aplikacji ze względu na niekompatybilność na poziomie API, jednak gałąź Godot 3.2 będzie miała długi cykl wsparcia, którego długość będzie uzależniona od zapotrzebowania użytkowników na tę gałąź. Wersje tymczasowe 3.2.x obejmują także możliwość przenoszenia innowacji z gałęzi 4.x, które nie wpływają na stabilność, takich jak obsługa kompilacji AOT, ARCore, DTLS i platformy iOS dla projektów C#.

Najważniejsze nowe funkcje w Godot 3.2:

  • Dodano obsługę kasków wirtualnej rzeczywistości Oculus Quest, zaimplementowaną za pomocą wtyczki na platformę Android. Na potrzeby rozwoju systemów rzeczywistości rozszerzonej dla iOS dodano obsługę frameworku ARKit. Obsługa frameworku ARCore jest opracowywana dla systemu Android, ale nie jest jeszcze gotowa i zostanie uwzględniona w jednym z pośrednich wydań 3.3.x;
  • Interfejs edytora cieniowania wizualnego został przeprojektowany. Dodano nowe węzły w celu stworzenia bardziej zaawansowanych shaderów. Dla shaderów implementowanych przez klasyczne skrypty dodano obsługę stałych, tablic i „zmiennych” modyfikatorów. Wiele shaderów specyficznych dla backendu OpenGL ES 3.0 zostało przeniesionych do OpenGL ES 2;
  • Obsługa renderowania opartego na fizyce (PBR) jest zsynchronizowana z możliwościami nowych silników renderujących PBR, takich jak Blender Eevee i Substance Designer, aby zapewnić podobne wyświetlanie scen w programie Godot i używanych pakietach modelowania 3D;
  • Zoptymalizowano różne ustawienia renderowania, aby poprawić wydajność i jakość obrazu. Wiele funkcji z GLES3 zostało przeniesionych do backendu GLES3, w tym obsługa metody antyaliasingu MSAA (Multisample anti-aliasing) i różne efekty przetwarzania końcowego (poświata, rozmycie DOF i BCS);
  • Dodano pełną obsługę importowania scen i modeli 3D w glTF 2.0 (GL Transmission Format) oraz dodano wstępną obsługę formatu FBX, który umożliwia import scen z animacjami z Blendera, ale nie jest jeszcze kompatybilny z Maya i 3ds Max. Dodano obsługę skórek siatek podczas importowania scen przez glTF 2.0 i FBX, umożliwiając użycie jednej siatki w kilku siatkach. Prace nad ulepszeniem i stabilizacją obsługi glTF 2.0 zostały wykonane we współpracy ze społecznością Blendera, która zaoferuje ulepszoną obsługę glTF 2.0 w wersji 2.83;
  • Możliwości sieciowe silnika zostały rozszerzone o obsługę protokołów WebRTC i WebSocket, a także możliwość wykorzystania protokołu UDP w trybie multiemisji. Dodano API do używania skrótów kryptograficznych i pracy z certyfikatami. Dodano interfejs graficzny do profilowania aktywności sieciowej. Rozpoczęto prace nad stworzeniem portu Godota dla WebAssembly/HTML5, który umożliwi uruchomienie edytora w przeglądarce przez WWW;
  • Wtyczka dla platformy Android oraz system eksportu zostały przeprojektowane. Obecnie do tworzenia pakietów dla systemu Android oferowane są dwa osobne systemy eksportu: jeden z gotowym silnikiem i drugi umożliwiający tworzenie własnych kompilacji w oparciu o niestandardowe opcje silnika. Dostosowywanie własnych zestawów można wykonać na poziomie wtyczki dla Androida, bez ręcznej edycji szablonu źródłowego;
  • Do edytora dodano obsługę selektywnego wyłączania poszczególnych funkcji, można np. usunąć przyciski wywołujące edytor 3D, edytor skryptów, bibliotekę zasobów, węzły, panele, właściwości i inne elementy, które nie są wymagane przez programistę (ukrywanie niepotrzebnych rzeczy pozwala znacznie uprościć interfejs);
  • Dodano wstępną obsługę integracji z systemami kontroli kodu źródłowego oraz zaimplementowano w edytorze wtyczkę obsługującą Git;
  • Możliwe jest przedefiniowanie kamery do działającej gry poprzez okno w edytorze, co pozwala na ocenę różnych trybów gry (swobodny widok, inspekcja węzłów itp.);
  • Zaproponowano implementację serwera LSP (Language Server Protocol) dla języka GDScript, który umożliwia przesyłanie informacji o semantyce GDScript i zasadach uzupełniania kodu do zewnętrznych edytorów, takich jak wtyczka VS Code i Atom;
  • Wprowadzono wiele usprawnień do wbudowanego edytora skryptów GDScript: dodano możliwość ustawiania zakładek do pozycji w kodzie, zaimplementowano panel minimapy (w celu szybkiego przeglądu całego kodu), poprawiono autouzupełnianie wprowadzanych danych, oraz rozszerzono możliwości trybu projektowania skryptów wizualnych;
  • Dodano tryb tworzenia gier pseudo-3D, umożliwiający wykorzystanie efektu głębi w grach dwuwymiarowych poprzez zdefiniowanie kilku warstw tworzących fikcyjną perspektywę;
  • Do edytora 2D przywrócono obsługę atlasów tekstur;
  • GUI unowocześniło proces umieszczania kotwic i granic obszarów;
  • Dla danych tekstowych dodano możliwość monitorowania na bieżąco zmian parametrów efektów, zapewniono obsługę tagów BBCode oraz zapewniono możliwość definiowania własnych efektów;
  • Dodano generator strumienia audio umożliwiający tworzenie fal dźwiękowych na podstawie poszczególnych klatek oraz analizator widmowy;
  • Korzystając z biblioteki V-HACD, ​​można rozłożyć siatki wklęsłe na dokładne i uproszczone części wypukłe. Ta funkcja znacznie upraszcza generowanie kształtów kolizyjnych dla istniejących siatek 3D;
  • Zaimplementowano możliwość tworzenia logiki gry w C# przy użyciu Mono dla platform Android i WebAssembly (wcześniej C# był obsługiwany dla systemów Linux, Windows i macOS). W oparciu o Mono 6.6 zaimplementowano obsługę C# 8.0. Dla C# zaimplementowano także wstępną obsługę kompilacji z wyprzedzeniem (AOT), która została dodana do bazy kodu, ale nie została jeszcze aktywowana (w przypadku WebAssembly nadal używany jest interpreter). Aby edytować kod C#, można podłączyć zewnętrzne edytory, takie jak MonoDevelop, Visual Studio dla komputerów Mac i Jetbrains Rider;
  • Dokumentacja została znacznie rozszerzona i ulepszona. Opublikowano częściowe tłumaczenie dokumentacji na język rosyjski (przetłumaczono przewodnik wprowadzający do rozpoczęcia pracy).

Nowości na stronie Godota

Pobierz najnowszą wersję

Źródło: linux.org.ru

Dodaj komentarz