Funkcje techniczne
Funkcje użytkowe
Wraz z ciągłym rozwojem LCC Unity SDK jego funkcje stają się coraz bogatsze. Obecnie udostępnia ponad 90 interfejsów API. Poniżej wymieniono główne funkcje użytkowe, które możesz zintegrować z własnym projektem w zależności od potrzeb.
| Nr | Funkcja | Opis | Uwagi |
|---|---|---|---|
| 1 | Renderowanie podstawowe | Obsługuje pełne renderowanie LOD0 Obsługuje dynamiczne renderowanie fragmentami LOD dla dużych scen Obsługuje renderowanie z harmonikami sferycznymi i bez nich Obsługuje niezależne sterowanie renderowaniem danych obiektu i danych środowiskowych | Automatycznie rozróżnia renderowanie pełne i fragmentami Obsługuje sceny danych 3DGS od poziomu obiektu do poziomu miasta |
| 2 | Obsługa wielu API graficznych | Obsługuje API graficzne DX12, DX11, Vulkan i Metal | Dostosowuje się do różnych platform sprzętowych |
| 3 | OpenXR | Obsługuje standard OpenXR dla urządzeń VR | Dostosowuje się do różnych platform sprzętowych |
| 4 | Renderowanie 3DGS / chmury punktów | Obsługuje oba tryby renderowania: 3DGS i chmurę punktów | |
| 5 | Mieszane renderowanie jednej / wielu scen | Obsługuje renderowanie pojedynczej sceny LCC Obsługuje mieszane renderowanie wielu scen LCC (do 255 scen LCC) Obsługuje mieszane renderowanie plików w formatach SOG / SPZ | Ujednolicone zarządzanie pamięcią CPU / pamięcią wideo GPU, całkowicie eliminujące wycieki i przepełnienia pamięci / pamięci wideo |
| 6 | Dynamiczne oświetlenie | Obsługuje dynamiczne oświetlenie w czasie rzeczywistym za pomocą świateł punktowych i reflektorowych | Nie polega na Proxy Mesh, jest bardziej elastyczne w użyciu |
| 7 | Cienie w czasie rzeczywistym | Obsługuje rzucanie cieni w czasie rzeczywistym przez siatki na powierzchnie 3DGS | Nie polega na Proxy Mesh, niski narzut i wysoka wydajność |
| 8 | Przyciąganie do narożników | Obsługuje przyciąganie do narożników na powierzchniach 3DGS, wyświetlanie kursora przyciągania i raycasting z przyciąganiem | |
| 9 | Renderowanie wielokamerowe | Pełny tryb renderowania obsługuje pełnofunkcyjne renderowanie wielokamerowe Tryb renderowania fragmentami obsługuje renderowanie wielokamerowe przy tej samej pozycji i orientacji | Umożliwia wiele pozycji kamer |
| 10 | Dekale projekcyjne | Obsługuje dekale projekcyjne z tekstur i dynamicznego wideo Obsługuje okluzję głębi dekali projekcyjnych | |
| 11 | Renderowanie ortograficzne / perspektywiczne | Obsługuje dynamiczne przełączanie między renderowaniem ortograficznym a perspektywicznym | |
| 12 | Nagrywanie wideo HD | Obsługuje nagrywanie wideo w różnych rozdzielczościach (1080P, 2K, 4K, 8K) | Umożliwia nagrywanie wideo HD w różnych rozmiarach Niezależne od rozdzielczości monitora |
| 13 | Podświetlanie w czasie rzeczywistym | Obsługuje podświetlanie zaznaczenia w czasie rzeczywistym (2D, 3D, Mix) | |
| 14 | Przycinanie w czasie rzeczywistym | Obsługuje przycinanie zaznaczenia w czasie rzeczywistym (2D, 3D, Mix) | |
| 15 | Przekrój płaszczyzną w czasie rzeczywistym | Obsługuje przekrój płaszczyzną poziomą i pionową w czasie rzeczywistym | |
| 16 | Korekcja kolorów w czasie rzeczywistym | Obsługuje korekcję kolorów zaznaczenia w czasie rzeczywistym (jasność, nasycenie, kontrast) | |
| 17 | Kolorowanie semantyczne | Obsługuje kolorowanie według semantyki danych semantycznych | Wymaga, aby prymitywy 3DGS przenosiły informacje semantyczne |
| 18 | Renderowanie AI Box | Obsługuje wizualizację plików lcb rozpoznanych przez AI | Używane głównie do renderowania ramek detekcji AI w branży energetycznej |
| 19 | Efekty ładowania | Obsługuje efekty dyfuzji podczas ładowania danych | |
| 20 | Raycasting | Obsługuje raycasting bez siatki Obsługuje raycasting z siatką Obsługuje wykrywanie kolizji sfery z siatką Obsługuje wykrywanie kolizji kapsuły z siatką | Wbudowany wysokowydajny system wykrywania kolizji |
| 21 | Dynamiczne ustawianie FOV | Obsługuje dynamiczne ustawianie FOV kamery renderującej w czasie działania | Używane głównie, gdy host renderujący i urządzenie wyświetlające są rozdzielone, np. podczas noszenia okularów stereoskopowych |
| 22 | Regulacja alfa | Obsługuje regulację globalnej przezroczystości 3DGS w czasie rzeczywistym Obsługuje niezależną regulację przezroczystości dla każdej sceny w renderowaniu wielu scen LCC | |
| 23 | Źródła danych | Obsługuje źródła danych z dysku lokalnego Obsługuje źródła danych z serwera sieciowego | |
| 24 | Blokada liczby klatek | Obsługuje dynamiczne przełączanie między zablokowaną a odblokowaną liczbą klatek | Domyślnie zablokowana w celu optymalizacji wydajności |
| 25 | Zapis głębi | Obsługuje zapis głębi w czasie rzeczywistym | Ograniczenie: ziarnistość zapisu jest duża i może tworzyć kształty elipsoid |
| 26 | Przełączanie Mip / Non-Mip w czasie rzeczywistym | Obsługuje przełączanie w czasie rzeczywistym między renderowaniem Mip i Non-Mip | |
| 27 | Strumieniowanie PCVR | Obsługuje strumieniowanie PCVR Single Pass Instanced i Multi Pass | |
| 28 | Pobieranie siatki sceny | Obsługuje pobieranie danych siatki sceny jednorazowo w całości lub częściowo na żądanie | |
| 29 | Odrzucanie małych punktów | Obsługuje dynamiczną regulację odrzucania małych punktów w czasie działania w celu optymalizacji wydajności | |
| 30 | Ustawienia parametrów renderowania | Udostępnia różne ustawienia parametrów renderowania, w tym całkowity bufor renderowania, liczbę renderowanych na ekran, StartLOD, współczynnik SSE i inne API | Umożliwia dynamiczną regulację wydajności i jakości renderowania w czasie działania |
Uwaga:
- Niektóre funkcje są ograniczone do platformy PC (w tym Windows, Mac i Ubuntu);
- Niektóre funkcje zależne od Render Features różnią się wsparciem między Built-in, URP i HDRP.
Wydajność
Renderowanie LCC to aplikacja intensywnie obciążająca obliczenia GPU. Wydajność renderowania zależy głównie od następujących czynników: rozdzielczości ekranu, szybkości przetwarzania CPU, szybkości przetwarzania GPU oraz pojemności i częstotliwości pamięci. Wszystkie liczby splatów w poniższej tabeli odnoszą się do liczby splatów 3DGS.
PC
Z kartą graficzną NVIDIA RTX 3060, procesorem Intel i7-11700 i 32 GB pamięci 3200 MHz, przy rozdzielczości 1800×1000, można osiągnąć prędkość renderowania 24 milionów splatów @ 30 FPS.
Urządzenia mobilne
| Platforma | Prędkość renderowania |
|---|---|
| Android (urządzenia średniej i wyższej półki od 2020 r.) | 2 miliony splatów @ 30 FPS |
| iOS (iPhone 11 i nowsze) | 3 miliony splatów @ 30 FPS |
VR
| Urządzenie | Prędkość renderowania |
|---|---|
| Pico 4 Ultra | 600 000 splatów @ 30 FPS |
| Quest 3 | 600 000 splatów @ 30 FPS |