Moduły Matali Physics Core
Opis modułu Matali Physics Core
Matali Physics Core to zaawansowany, nowoczesny, wieloplatformowy, wydajny i innowacyjny silnik fizyki 3d. Matali Physics Core jest "sercem" środowiska Matali Physics.
Zaawansowana symulacja bryły sztywnej
Sj - Skalowanie jednorodneKształty podstawowe PrzesunięcieObrótSjSnjSfera Półsfera Sześcian Prostopadłościan Cylinder Dwupromieniowy cylinder (Cylinder stożkowy, Stożek ścięty) Stożek Ostrosłup Kapsuła Dwupromieniowa kapsuła (Stożkowa kapsuła) Czworościan Otoczka wypukła Wypukła siatka trójkątów Niewypukła siatka trójkątów Mapa wysokości Płyn Trójkąt Punkt Odcinek Płaszczyzna
Snj - Skalowanie niejednorodne• Dynamika bryły sztywnej z efektywnym automatycznym zarządzaniem aktywnością, kontrolą prędkości liniowej i kątowej, tłumieniem liniowym i kątowym oraz innymi parametrami • W pełni wielowątkowa symulacja, stabilny i wytrzymały, wysoce zoptymalizowany solver • Obszerne właściwości masowe, lokalna i globalna grawitacja, siły • Pola akcji i sił o zasięgach określonych przez dowolne kształty podstawowe • Parametryczne pola akcji • Bogaty zestaw kształtów podstawowych, na których dostępne są operacje sumy Minkowskiego i budowy otoczki wypukłej, tworzące dalsze unikalne kształty • Operacje na dowolnych zbiorach trójkątów poprzez kontrolery zbiorów trójkątów • Odkształcalne w czasie rzeczywistym siatki trójkątów • Odkształcalne w czasie rzeczywistym rozległe mapy wysokości • Animowane rozległe powierzchnie płynu z objętościami • Objętości płynu • Mapy wysokości z dziurami i terenem o kształcie nie prostokątnym • Wiele map wysokości i powierzchni płynu na pojedynczej scenie fizyki • Wbudowane funkcje do przekształcenia niewypukłych siatek trójkątów do zbioru obiektów wypukłych (obiektów fizyki i/lub kształtów i/lub kształtów podstawowych) • Materiały definujące wartości tarcia statycznego i dynamicznego, współczynnika odbicia, określające wygląd i trwałość obiektów fizyki • Możliwe do zmiany w czasie rzeczywistym wartości tarcia i współczynnika odbicia dla każdego punktu mapy wysokości • W pełni interpolowane wartości wysokości, tarcia i współczynnika odbicia dla mapy wysokości • Grupy obiektów fizyki z zaawansowanym modelowaniem procesu ich destrukcji. Każda grupa brył sztywnych może podlegać rozpadowi, a proces destrukcji grupy jest w pełni określony przez twórców sceny fizyki • Programowalny rozpad grup obiektów fizyki • Skalowalne w czasie rzeczywistym obiekty fizyki, grupy obiektów fizyki i grupy obiektów fizyki z wiązaniami z poprawnym, automatycznym przeliczaniem parametrów fizycznych i wiązań • Obiekty kinematyczne sterowane przez system animacyjny • Skalowalna pływalność obiektów fizyki • Przełączany stan statyczny obiektów fizyki
Zaawansowane wykrywanie kolizji i filtrowanie kolizji
• Ciągła detekcja kolizji (CCD) pomiędzy wszystkimi kształtami podstawowymi i kształtami od nich pochodnymi • Raportowanie kontaktów • Współczynniki wpływu • Przydziały kolizji bryły sztywnej na różne grupy kolizyjne (maksymalnie 64) • Przełączniki
Zunifikowane wiązania
• Jedno naturalne wiązanie • Limity odległości dla osi X, Y i Z • Limity kątowe dla osi X, Y i Z (zdefiniowane jako kąty Eulera lub quaterniony) • Zaawansowana kontrola nad limitami odległości i kątowymi • Praca w trybie normalnym, sprężyny lub odkształcania • Parametry określające trwałość wiązania
Wbudowane API: rzucania promieni, zapytania objętościowego
• Testy przecięcia promień-powierzchnia dla wszystkich kształtów podstawowych • Zapytania objętościowe określone jako transformowany "gruby" odcinek • Zapytania objętościowe określone jako transformowany sześcian • Zapytania objętościowe określone jako transformowana sfera
Zaawansowane zarządzanie wieloma scenami fizyki i obiektami fizyki
• W pełni dynamiczne sceny fizyki skonstruowane jako zbiory obiektów fizyki i grupy obiektów fizyki • Zarządcy: obiektów fizyki i scen fizyki • Obiekty fizyki z wiązaniami i grupy obiektów fizyki z wiązaniami mogą zostać podczas inicjalizacji obrócone, przesunięte i przeskalowane • Jednoczesne sekwencyjne przetwarzanie wielu scen fizyki • Utrzymanie czasu życia obiektów fizyki poprzez liczniki ramek • Pełne wsparcie dla kamer (ostrosłup widoku, macierz widoku, macierz rzutowania) • Wsparcie dla instancjowania • Obsługa obiektów przezroczystych (w tym obiektów o zmiennej przezroczystości) • Ustalanie kolejności oraz sposobu rysowania obiektów
Animacje oparte na fizyce i fizyczna AI
• Całkowita kontrola wiązań (odległości i kątów) • Modelowanie klatek kluczowych oparte na kontroli wiązań • Wsparcie dla sprzężenia zwrotnego siły • Wszystkie przykłady animacji opartych na fizyce udostępnione z kodem źródłowym C++ • Wszystkie przykłady fizycznej AI udostępnione z kodem źródłowym C++
Symulacja cząstek sztywnych
• Ogólny system cząstek • Dynamika cząstek • Interakcja przepływu cząstek • Zaawansowane zarządzanie cząstkami • Obsługa i filtrowanie kolizji • Interakcje między cząstkami • Utrzymanie czasu życia i innych parametrów
Symulacja pojazdów
• Symulacja pojazdów rzeczywistych i wyobrażonych • Sterowanie poprzez kontrolery i/lub przełączniki i/lub rzucanie promieni i/lub zapytania objętościowe • Pojazdy tworzone jako grupy obiektów fizyki połączone wiązaniami • Wszystkie przykłady pojazdów udostępnione z kodem źródłowym C++
Kierowany fizyką dźwięk
• Pełne wsparcie dla wybranych charakterystyk ruchu obiektu • Zasięgi dźwięków określone przez dowolne kształty podstawowe
Kierowana fizyką muzyka
• Wsparcie dla zmiany parametrów syntezy muzyki w zależności od parametrów symulacji fizyki i vice versa • Wsparcie dla synchronizacji symulacji fizyki z syntezą muzyki
Zaawansowane kontrolery
Wewnętrzne kontrolery Opis Kontroler kursora Zapewnia funkcje do obsługi kursora Kontroler Screen To Ray Zapewnia funkcje do rzucenia promienia w przestrzeni 3D dla podanych współrzędnych ekranowych Kontroler powierzchni płynu Zapewnia funkcje do tworzenia sinusoidalnych lub kosinusoidalnych zaburzeń powierzchni płynu w czasie rzeczywistym Kontroler mapy wysokości Zapewnia funkcje do deformacji mapy wysokości w czasie rzeczywistym Kontroler zbioru trójkątów Zapewnia funkcje do dodania trójkątów do dowolnego zbioru trójkątów i do modyfikowania trójkątów w zbiorze w czasie rzeczywistym Kontroler destrukcji Zapewnia funkcje do rozpadu grup obiektów niepołączonych wiązaniami Kontroler ruchu Zapewnia dodatkowe parametry do sterowania ruchem obiektu podczas kolizji • Bogaty zestaw wewnętrznych kontrolerów • Potężny mechanizm kontrolerów użytkownika • Skalowalne do Twoich potrzeb, w pełni funkcjonalne kontrolery postaci • Priorytety określające kolejność wykonywania kontrolerów użytkownika • Wszystkie przykłady użycia wewnętrznych kontrolerów udostępnione z kodem źródłowym C++ • Wszystkie przykłady użycia kontrolerów użytkownika udostępnione z kodem źródłowym C++ • Wszystkie przykłady użycia kontrolerów postaci udostępnione z kodem źródłowym C++
Serializacja i deserializacja
Serializowane elementy sceny fizyki Parametry symulacji Obiekty fizyki (z materiałami, kamerami, kontrolerami, źródłami mgły, źródłami światła i dźwięku, punktami kontaktu, etc) Kształty Kształty podstawowe Wiązania Siatki trójkątów • Serializacja całych scen fizyki do łatwo parsowalnych danych XML • Deserializacja całych scen fizyki z łatwo parsowalnych danych XML • Serializacja całych scen fizyki do pliku, pamięci lub strumienia • Deserializacja całych scen fizyki z pliku, pamięci lub strumienia • Tworzenie migawek w czasie rzeczywistym. Takie migawki mogą zostać odczytane i przetwarzane dalej od momentu, w którym zostały utworzone • Serializacja w dwóch trybach: zoptymalizowanym lub pełnym • Serializacja kontrolerów użytkownika poprzez programowalną klasę Archive • Obsługa danych użytkownika i automatyczna serializacja/deserializacja takich danych
Wizualizacja na potrzeby wyszukiwania i usuwania błędów
• Pełne wsparcie dla debugerów definiowanych przez użytkownika • Wbudowane mechanizmy wymagane do niestandardowego debugowania
Wieloplatformowy
Wspierane platformy Android 10 (poziom API 29) i nowsze Android TV 10 (poziom API 29) i nowsze *BSD (głównie FreeBSD 12.2 i nowsze) iOS 15 i nowsze iPadOS 15 i nowsze Linux (dystrybucje) macOS 12 Monterey i nowsze Steam Deck tvOS 15 i nowsze UWP Desktop UWP Xbox Series X/S Windows 11 Windows 10 Platformy Dostępny jako Steam Deck, UWP, Windows Skompilowana biblioteka statyczna (.lib) Android, Android TV, *BSD, iOS, iPadOS, Linux, macOS, Steam Deck, tvOS Skompilowana biblioteka statyczna (.a) Obsługiwane typy aktywności Android Native Activity
Często zadawane pytania
- Czy w środowisku Matali Physics mogę tworzyć wiązania typu zawias?
- Oczywiście, Matali Physics Core oferuje naturalne złączenie, które może dynamicznie przekształcać się w dowolne inne. W razie potrzeby możesz zainicjalizować parametry złączenia zgodnie z ograniczeniem typu zawias i nie zmieniać ich później lub zmieniać po zdarzeniach w scenie - wszystko w zależności od Twoich potrzeb.
- Czy Matali Physics Core obsługuje natywny, niejawny kształt cylindra?
- Tak. Wszystkie obsługiwane kształty są wymienione w tabeli "Kształty podstawowe" w sekcji "Zaawansowana symulacja bryły sztywnej" na tej stronie internetowej.
- Czy mogę zmienić rozmiar jednego obiektu fizyki bez tworzenia wielu identycznych kształtów?
- Oczywiście. Matali Physics Core zapewnia pełną obsługę skalowania obiektów fizyki.
- Czy mogę dynamicznie zmieniać rozmiar dowolnego obiektu fizyki?
- Tak. Możesz zmieniać skalę obiektów fizyki, grup obiektów fizyki oraz grup obiektów fizyki z wiązaniami zarówno podczas tworzenia/inicjalizacji, jak i w czasie rzeczywistym podczas symulacji. Matali Physics Core jest prawdopodobnie jedynym silnikiem fizyki 3d czasu rzeczywistego, który oferuje taką gotową do użycia funkcjonalność.
- Czy Matali Physics Core oferuje programowalne zdarzenia od kolizji lub podobną funkcjonalność?
- Oczywiście. W grupie kontrolerów użytkownika Matali Physics Core oferuje programowalny kontroler od zdarzeń kolizyjnych.
- W jaki sposób mogę modyfikować pojedyncze trójkąty w niewypukłych siatkach trójkątów?
- Taką funkcjonalność oferuje kontroler zbioru trójkątów.
- Czy mogę zbudować całą scenę fizyki jako w pełni dynamiczną i zniszczalną?
- Tak. Silnik Matali Physics Core to najlepsze rozwiązanie dla takich scen.
- Czy Matali Physics Core może obsługiwać wiele scen fizyki w jednej scenie gry?
- Oczywiście, przykłady dostępne są w Matali Physics Game.
- Czy Matali Physics Core może zostać zintegrowany z moim silnikiem gry?
- To bardzo trudne pytanie. Generalnie tak, jest to możliwe, ale będzie wymagało, podobnie jak w przypadku każdego innego silnika fizyki, dużego nakładu pracy z Twojej strony. Jeśli chcesz niezwłocznie tworzyć gry, lepszym podejściem jest poleganie na Matali Physics jako platformie, przenoszenie do niej własnych modułów (i kodów C++), a następnie tworzenie i publikowanie gier.
- Używałem silnika Matali Physics wcześniej, kiedy był w C#. Czy mogę użyć kodu, który napisałem w C# w bieżącej wersji dla C++?
- W większości przypadków, po niewielkich zmianach, kod związany z wykorzystaniem silnika Matali Physics w C# można przenieść bezpośrednio do aktualnej wersji w C++.