XGRIDSDocs
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Seria Lixel PortalCam

    • PortalCam P1

      • Przegląd produktu
      • Podstawowa obsługa
      • Korzystanie z aplikacji LCC Scan
      • Konserwacja i pielęgnacja
      • FAQ
  • Seria Lixel K

    • Lixel K1

      • Przegląd produktu
      • Podstawowa obsługa
      • Aktywacja i połączenie urządzenia
      • Przebieg skanowania
      • Pozyskiwanie danych chmury punktów ze współrzędnymi bezwzględnymi
      • Fuzja map
      • Zalecenia dotyczące planowania trasy dla typowych scen
      • Środki ostrożności
      • FAQ
    • Lixel K2

      • Przegląd produktu
      • Podstawowa obsługa
      • Aktywacja i połączenie urządzenia
      • Przebieg skanowania
      • Pozyskiwanie danych chmury punktów ze współrzędnymi bezwzględnymi
      • Fuzja map
      • Zalecenia dotyczące planowania trasy dla typowych scen
      • Środki ostrożności
      • FAQ
  • Seria Lixel L

    • Lixel L2 Pro

      • Przegląd produktu
      • Podstawowa obsługa
      • Aktywacja i połączenie urządzenia
      • Proces skanowania
      • Pozyskiwanie danych chmury punktów ze współrzędnymi bezwzględnymi
      • Punkt pomiarowy
      • Dodatek
      • FAQ
    • Lixel L3

      • Przegląd produktu
      • Podstawowe funkcje urządzenia
      • Aktywacja i połączenie urządzenia
      • Przechwytywanie danych
      • Przechwytywanie współrzędnych bezwzględnych
      • Dodatek
  • Akcesoria

    • Stick Light

      • Przewodnik instalacji
      • Podstawowa obsługa
      • Często zadawane pytania
  • Lixel Studio

    • Wersja i prawa autorskie
    • Instalacja i aktywacja
    • Interfejs oprogramowania
    • Operacje na plikach
    • Przetwarzanie projektu
    • Narzędzia
    • Rysowanie 2D
    • Zastosowania
    • Ustawienia
    • Połączenie z urządzeniem
  • 07-plugin-sdk

    • Unity

      • Wprowadzenie do Unity SDK
      • Funkcje techniczne
      • Wymagania środowiska deweloperskiego
      • Przewodnik szybkiego startu dla PC
      • Przewodnik optymalizacji ustawień projektu
      • Przewodnik deweloperski dla Pico 4 Ultra
      • Przewodnik strumieniowania PC dla Pico 4 Ultra
      • Przewodnik deweloperski dla Quest 3
      • Przewodnik strumieniowania PC dla Quest 3
      • Przewodnik deweloperski dla OpenXR
      • Przewodnik Business Streaming dla Pico 4 Ultra
      • Słownik
      • Często zadawane pytania (FAQ)
      • Skontaktuj się z nami
      • Przewodnik programowania funkcji

        • Przewodnik mieszanego renderowania wielu scen
        • Przewodnik odbierania cieni
        • Przewodnik oświetlenia w czasie rzeczywistym
        • Przewodnik renderowania wielokamerowego
        • Przewodnik renderowania obrazów wysokiej rozdzielczości
        • Przewodnik zgodności formatów danych LCC i LCC2
        • Przewodnik efektu ładowania
        • Przewodnik przełączania trybu renderowania Mip
        • Przewodnik przyciągania do krawędzi i narożników
        • Przewodnik dekala projekcyjnego
        • Przewodnik wideo dekala projekcyjnego
        • Przewodnik podświetlania
        • Przewodnik przycinania w czasie rzeczywistym
        • Przewodnik korekcji kolorów
        • Przewodnik pobierania danych siatki sceny
        • Przewodnik trybu edytora
        • Przewodnik konfiguracji parametrów wydajności renderowania
        • Przewodnik współpakowania aplikacji i danych
        • Przewodnik systemu kolizji
        • Przewodnik problemów z uprawnieniami w deweloperstwie na macOS
        • Przewodnik kompilacji i pakowania na urządzenia iOS
      • Dokumentacja API

        • LCCManager
        • Renderer
        • Typy danych
      • Dziennik zmian

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14

Przewodnik deweloperski dla Quest 3

Przepływ pracy LCC dla Quest 3 różni się nieco od oficjalnego przepływu tworzenia projektu VR firmy Meta: oficjalne modyfikacje konfiguracji Unity wprowadzane przez Meta sprawiają, że renderowanie LCC jest niezgodne z przepływem pracy zalecanym w ich dokumentacji deweloperskiej. Oficjalny przepływ pracy Meta znajdziesz w Set up Unity for XR development. Opierając się na tym przepływie, ten przewodnik wyjaśnia, jak zintegrować LCC Unity SDK w celu renderowania scen 3DGS.

Wymagania dotyczące wersji

Wersje oprogramowania i wtyczek używane w tym przewodniku są następujące. Zaleca się tworzenie z użyciem tych samych wersji; inne, nieprzetestowane wersje mogą mieć problemy ze zgodnością:

Oprogramowanie / WtyczkaWersja
Unityv6000.0.69f1
Meta XR All-in-One SDKv205.0.0
LCC Unity SDKv2.1.35 i nowsze

Uwaga:

  1. Meta SDK obsługuje tylko przestrzeń kolorów Linear w URP, a sceny LCC renderowane w tej przestrzeni kolorów będą wyglądać na nieco wyblakłe.
  2. Wersja Unity, wersja Meta SDK i wersja LCC SDK wpływają na renderowanie i wydajność, więc staraj się utrzymywać wersje oprogramowania spójne z tym przewodnikiem.

Przepływ pracy deweloperskiej

Krok 1: Utwórz projekt URP

Wybierz Uniwersalny 3D w szablonie projektu, jak pokazano poniżej:

Utwórz projekt Uniwersalny 3D (URP)

Utwórz projekt Uniwersalny 3D (URP)

Krok 2: Przełącz platformę

Po utworzeniu projektu wybierz Plik → Profile kompilacji z menu Unity, aby otworzyć okno kompilacji, i przełącz platformę na Android, jak pokazano poniżej:

Przełącz platformę na Android w Profilach kompilacji

Przełącz platformę na Android w Profilach kompilacji

Krok 3: Zaimportuj Unity OpenXR

Otwórz okno UPM przez menu Unity Okno → Menedżer pakietów, wybierz Unity Registry na liście po lewej stronie, wpisz OpenXR w polu wyszukiwania, wybierz OpenXR Plugin z wyników wyszukiwania i zainstaluj go, jak pokazano poniżej:

Zainstaluj wtyczkę OpenXR Plugin z Unity Registry

Zainstaluj wtyczkę OpenXR Plugin z Unity Registry

Krok 4: Zaimportuj XR Interaction Toolkit

Wybierz Unity Registry na liście po lewej stronie, wpisz XR w polu wyszukiwania, wybierz XR Interaction Toolkit z wyników wyszukiwania i zainstaluj go, jak pokazano poniżej:

Zainstaluj XR Interaction Toolkit z Unity Registry

Zainstaluj XR Interaction Toolkit z Unity Registry

Krok 5: Zaimportuj Meta XR All-in-One SDK

Meta XR All-in-One SDK to zestaw narzędzi deweloperskich XR firmy Meta; zobacz Meta XR All-in-One SDK (UPM).

Przed użyciem tego SDK dodaj go do swoich zasobów osobistych w Unity Asset Store: https://assetstore.unity.com/packages/tools/integration/meta-xr-all-in-one-sdk-269657. Następnie otwórz UPM przez Okno → Menedżer pakietów, wybierz Moje zasoby po lewej stronie, wpisz Meta XR w polu wyszukiwania i zainstaluj Meta XR All-in-One SDK, jak pokazano poniżej:

Zainstaluj Meta XR All-in-One SDK z Moich zasobów

Zainstaluj Meta XR All-in-One SDK z Moich zasobów

Krok 6: Zaimportuj LCC Unity SDK

Otwórz okno UPM przez menu Unity Okno → Menedżer pakietów, kliknij + po lewej stronie, wybierz Zainstaluj pakiet z dysku z menu rozwijanego, znajdź LCC Unity SDK i wybierz plik package.json, aby go zaimportować, jak pokazano poniżej:

Zaimportuj LCC Unity SDK przez Zainstaluj pakiet z dysku

Zaimportuj LCC Unity SDK przez Zainstaluj pakiet z dysku

Po ukończeniu powyższych kroków uruchom ponownie Unity przed przejściem do kolejnych ustawień.

Krok 7: Skonfiguruj środowisko Unity

Skonfiguruj XR Plug-in Management

Wybierz Plik → Ustawienia projektu z paska menu Unity, po lewej stronie wybierz Zarządzanie wtyczkami XR i zaznacz Zainicjuj XR przy uruchomieniu na platformach Pulpit i Android, jak pokazano poniżej:

Zaznacz Zainicjuj XR przy uruchomieniu na platformie Pulpit

Zaznacz Zainicjuj XR przy uruchomieniu na platformie Pulpit

Zaznacz Zainicjuj XR przy uruchomieniu na platformie Android

Zaznacz Zainicjuj XR przy uruchomieniu na platformie Android

Wybierz pozycję OpenXR w sekcji Zarządzanie wtyczkami XR i ustaw Tryb renderowania dla platform Pulpit i Android na Multi-pass, jak pokazano poniżej:

Ustaw Tryb renderowania OpenXR na Multi-pass

Ustaw Tryb renderowania OpenXR na Multi-pass

Uwaga: Meta XR All-in-One SDK zmodyfikuje wartość Trybu renderowania; przed kompilacją upewnij się, że ta wartość to Multi-pass.

Skonfiguruj Odtwarzacz (platforma Pulpit)

Po lewej stronie Ustawień projektu wybierz Odtwarzacz, przełącz na platformę Pulpit, rozwiń sekcję Inne ustawienia, odznacz Automatyczny API grafiki, ustaw API graficzne na Vulkan, Direct3D12, Direct3D11 i usuń pozostałe API graficzne; ustaw Przestrzeń kolorów na Linear, jak pokazano poniżej:

Ustaw API graficzne i przestrzeń kolorów Linear na platformie Pulpit

Ustaw API graficzne i przestrzeń kolorów Linear na platformie Pulpit

Skonfiguruj Odtwarzacz (platforma Android)

Po lewej stronie Ustawień projektu wybierz Odtwarzacz, przełącz na platformę Android, rozwiń sekcję Inne ustawienia, odznacz Automatyczny API grafiki, ustaw API graficzne na Vulkan i usuń pozostałe API graficzne; ustaw Przestrzeń kolorów na Linear (Meta SDK obsługuje tylko przestrzeń kolorów Linear), jak pokazano poniżej:

Ustaw API graficzne na Vulkan i przestrzeń kolorów Linear na platformie Android

Ustaw API graficzne na Vulkan i przestrzeń kolorów Linear na platformie Android

Ustaw Nazwę firmy i Nazwę produktu

Na karcie Odtwarzacz ustaw poprawnie Nazwę firmy i Nazwę produktu, jak pokazano poniżej:

Ustaw Nazwę firmy i Nazwę produktu

Ustaw Nazwę firmy i Nazwę produktu

Ustaw backend skryptowy i wejście platformy Android

Przewiń kartę Inne ustawienia platformy Android w dół i ustaw Minimalny poziom API = Android 12L (poziom API 32) lub wyższy, Backend skryptowy = IL2CPP, Architektury docelowe = ARM64, Aktywna obsługa wejścia = Pakiet Input System (nowy), jak pokazano poniżej:

Ustaw Minimalny poziom API, Backend skryptowy, Architektury docelowe i Aktywną obsługę wejścia

Ustaw Minimalny poziom API, Backend skryptowy, Architektury docelowe i Aktywną obsługę wejścia

Sprawdź Grafikę i Jakość

Po lewej stronie Ustawień projektu wybierz Grafika i sprawdź Render Asset odpowiadający Domyślnemu potokowi renderowania używanemu przez platformę Mobile, w tym przykładzie Mobile_RPAsset, jak pokazano poniżej:

Sprawdź Render Asset Domyślnego potoku renderowania na platformie Mobile

Sprawdź Render Asset Domyślnego potoku renderowania na platformie Mobile

Po lewej stronie Ustawień projektu wybierz Jakość, sprawdź Render Asset odpowiadający Domyślnemu potokowi renderowania używanemu przez platformę Mobile (w tym przykładzie Mobile_RPAsset), ustaw Stały współczynnik DPI skalowania rozdzielczości = 0.7, Liczba VSync = Bez synchronizacji, jak pokazano poniżej:

Ustaw współczynnik DPI i VSync w Jakości

Ustaw współczynnik DPI i VSync w Jakości

Skonfiguruj Render Asset

Znajdź Render Asset odpowiadający Domyślnemu potokowi renderowania używanemu przez platformę Mobile (w tym przykładzie Mobile_RPAsset). Po kliknięciu zasób zostanie zlokalizowany w oknie projektu (Projekt). Wybierz zasób, a następnie w oknie właściwości (Inspektor): odznacz Teksturę głębi, Teksturę nieprzezroczystą, HDR; ustaw Wygładzanie krawędzi (MSAA) = Wyłączone, Skala renderowania = 0.7, Filtr skalowania = Automatyczny, jak pokazano poniżej:

Wyłącz Teksturę głębi/nieprzezroczystą, HDR, MSAA i ustaw Skalę renderowania w Render Asset

Wyłącz Teksturę głębi/nieprzezroczystą, HDR, MSAA i ustaw Skalę renderowania = 0.7 w Render Asset

Znajdź pasujący Renderer dla tego Render Asset, w tym przykładzie Mobile_Renderer (Universal Renderer Data), i ustaw jego odpowiednie właściwości w oknie właściwości (Inspektor), jak pokazano poniżej:

Skonfiguruj właściwości Mobile_Renderer (Universal Renderer Data)

Skonfiguruj właściwości Mobile_Renderer (Universal Renderer Data)

Walidacja projektu

Po lewej stronie Ustawień projektu wybierz Zarządzanie wtyczkami XR, a następnie Walidacja projektu. Napraw elementy walidacji oznaczone na czerwono — kliknij przycisk Napraw po prawej stronie każdego czerwonego elementu, aby go naprawić; żółte elementy ostrzeżeń można naprawić według potrzeb lub na razie pozostawić bez obsługi. Przed przetworzeniem, jak pokazano poniżej:

Walidacja projektu przed przetworzeniem (obecne elementy oznaczone na czerwono)

Walidacja projektu przed przetworzeniem (obecne elementy oznaczone na czerwono)

Po przetworzeniu, jak pokazano poniżej:

Walidacja projektu po przetworzeniu (elementy oznaczone na czerwono naprawione)

Walidacja projektu po przetworzeniu (elementy oznaczone na czerwono naprawione)

Krok 8: Utwórz scenę

Ten przykład zaczyna się od zupełnie nowej sceny (Scena). Po utworzeniu sceny Unity usuń GameObject Kamera główna w oknie hierarchii (Hierarchia), następnie kliknij prawym przyciskiem myszy w pustym obszarze okna i wybierz XR → XR Origin (VR) z menu podręcznego, jak pokazano poniżej:

Utwórz XR Origin (VR) przez menu podręczne

Utwórz XR Origin (VR) przez menu podręczne

Krok 9: Skonfiguruj scenę

Wybierz GameObject XR Origin (VR) w oknie hierarchii (Hierarchia) i w komponencie XR Origin w oknie właściwości (Inspektor) ustaw Tryb początku śledzenia na Podłoga, jak pokazano poniżej:

Ustaw Tryb początku śledzenia XR Origin na Podłoga

Ustaw Tryb początku śledzenia XR Origin na Podłoga

Wybierz GameObject Kamera główna pod XR Origin (VR) w oknie hierarchii (Hierarchia) i ustaw właściwości kamery w oknie właściwości (Inspektor):

WłaściwośćZalecana wartośćOpis
Pole widzenia60FOV
Płaszczyzny przycinania → Blisko0.2 ~ 0.3Bliska płaszczyzna przycinania
Płaszczyzny przycinania → Daleko3000 ~ 5000Daleka płaszczyzna przycinania, obejmująca sceny wielkoskalowe
Wygładzanie krawędziBez wygładzania krawędziWygładzanie krawędzi domyślnie wyłączone
Tekstura nieprzezroczystaWyłączoneDomyślnie wyłączone
Tekstura głębiWyłączoneDomyślnie wyłączone
Typ tłaJednolity kolorZalecany jednolity kolor
TłoCzarnyZalecany czarny jako domyślny kolor tła
Renderowanie HDRWyłączoneDomyślnie wyłączone
MSAAWyłączoneDomyślnie wyłączone
URP Dynamic ResolutionWyłączoneDomyślnie wyłączone

Pozostałe właściwości jak pokazano poniżej:

Ustaw właściwości komponentu Kamera Kamery głównej pod XR Origin (VR)

Ustaw właściwości komponentu Kamera Kamery głównej pod XR Origin (VR)

Krok 10: Napisz kod, aby załadować scenę

Kliknij prawym przyciskiem myszy Utwórz pusty w oknie hierarchii (Hierarchia), aby utworzyć pusty obiekt, nazwij go LCCManager, znormalizuj jego Transform i dołącz do niego skrypt LCCManager, jak pokazano poniżej:

Utwórz pusty obiekt LCCManager i dołącz skrypt LCCManager

Utwórz pusty obiekt LCCManager i dołącz skrypt LCCManager

Kliknij prawym przyciskiem myszy Utwórz pusty w oknie hierarchii (Hierarchia), aby utworzyć kolejny pusty obiekt, nazwij go LCCRenderer i ustaw jego Transform Rotation.x = -90, Scale.x = -1, jak pokazano poniżej:

Utwórz pusty obiekt LCCRenderer i ustaw Transform do wyrównania układu współrzędnych

Utwórz pusty obiekt LCCRenderer i ustaw Rotation.x = -90 oraz Scale.x = -1, aby wyrównać układy współrzędnych

Rotation.x = -90 i Scale.x = -1 to transformacja wyrównująca z układu współrzędnych danych LCC (prawoskrętny z osią Z w górę) do układu współrzędnych Unity (lewoskrętny z osią Y w górę); zobacz „Układ współrzędnych danych LCC" w Wprowadzenie do Unity SDK.

Napisz skrypt C# o nazwie LCCRenderer.cs z następującym kodem:

using LCCCore;
using UnityEngine;

public class LCCRenderer : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;

    private LCCCore.Renderer m_renderer;

    void Start()
    {
#if UNITY_EDITOR
        m_manager.SetPlatformType(PlatformType.PC);
        m_renderer = m_manager.GetRender(this.gameObject.transform);
        m_renderer.Load(m_FilePath, onProgress, onLoaded);
#else
        m_manager.SetPlatformType(PlatformType.Quest);
        m_renderer = m_manager.GetRender(this.gameObject.transform);
        m_renderer.Load(m_FilePath, onProgress, onLoaded);
        //m_renderer.Load($"{Application.persistentDataPath}/LccData/meta.lcc2", onProgress, onLoaded);
#endif
    }

    private void onProgress(float v)
    {
        Debug.Log("postęp:" + v);
    }

    private void onLoaded()
    {
        m_manager.SetStartLod(2);
        m_renderer.SetEnvironment(false);
        Debug.Log("Dane załadowane");
    }
}

Dołącz skrypt do GameObject LCCRenderer w oknie hierarchii (Hierarchia), następnie przeciągnij GameObject LCCManager na właściwość Manager skryptu w oknie właściwości (Inspektor), a na koniec wpisz ścieżkę pliku LCC, po czym skompiluj i uruchom.

Dołącz skrypt LCCRenderer do obiektu i powiąż Manager oraz ścieżkę pliku

Dołącz skrypt LCCRenderer do obiektu i powiąż Manager oraz ścieżkę pliku

Aby ułatwić debugowanie w Edytorze Unity i bezpośrednią kompilację na urządzenie z Androidem, kod używa makr kompilacji do rozróżnienia środowiska uruchomieniowego: w Edytorze Unity używa platformy PC, a na urządzeniu Quest używa platformy Quest.

Dla urządzeń Quest zaleca się umieszczenie źródła danych na serwerze; podczas testowania możesz też używać źródła danych bezpośrednio na urządzeniu. Konkretne kroki:

  1. Uruchom zbudowaną aplikację na urządzeniu Quest raz.
  2. Po zainstalowaniu aplikacji wejdź do jej katalogu danych (zwykle Pamięć urządzenia Quest → Android → data → BundleID aplikacji → Files; konkretny katalog znajdziesz w ścieżce instalacji aplikacji Android) i utwórz folder LccData w podkatalogu Files.
  3. Skopiuj wszystkie źródła danych LCC do folderu LccData.

Uwaga:

  1. W praktyce zaleca się umieszczenie źródła danych aplikacji Quest na serwerze, zamiast pakowania go bezpośrednio do aplikacji.
  2. Możliwość renderowania 3DGS na ekranie urządzenia Quest 3 wynosi około 700 000 prymitywów gaussowskich, czyli mniej więcej o dwa rzędy wielkości mniej niż możliwość po stronie PC wynosząca około 25 milionów. Zaleca się ją głównie do renderowania i wyświetlania małych scen i pojedynczych obiektów; duże sceny będą płynniejsze przy strumieniowaniu PC.
  3. Podczas renderowania dużych scen LCC zaleca się ustawienie StartLOD na 2 i wyłączenie wyświetlania danych środowiskowych (jak w przykładowym kodzie).

Powiązane materiały

  • Ustawienia projektu i optymalizację wydajności znajdziesz w rozdziałach Przewodnik optymalizacji ustawień projektu i Przewodnik parametrów wydajności renderowania.
  • Inne przepływy pracy deweloperskiej Meta znajdziesz w oficjalnej dokumentacji: Dokumentacja deweloperska Meta.
  • Podczas tworzenia dla Quest ustaw Tryb renderowania platformy Pulpit na Multi-pass w Ustawienia projektu → OpenXR; w przeciwnym razie sceny LCC nie mogą renderować się poprawnie w Unity (dotyczy to zarówno Edytora, jak i środowiska uruchomieniowego).