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 Pico 4 Ultra

Przepływ pracy LCC dla Pico 4 Ultra jest zasadniczo taki sam jak oficjalny przepływ tworzenia projektu VR firmy PICO; zobacz dokumentację PICO Unity Integration SDK. Ten przewodnik opiera się na nim i wyjaśnia, jak zintegrować LCC Unity SDK w celu renderowania scen 3DGS.

Wymagania dotyczące wersji

Wersje oprogramowania i pakietów używane w tym przewodniku są wymienione poniżej. Zaleca się tworzenie z użyciem tych samych wersji; inne, nieprzetestowane wersje mogą mieć problemy ze zgodnością:

Oprogramowanie / PakietWersjaOpis
Unityv2022.3.62f3Używa Unity 2022 LTS
PICO Unity Integration SDKv3.4.0Pobrany z oficjalnego kanału PICO
LCC Unity SDKv2.1.27 i nowszeWersja obsługująca Built-in; pobierz wersję zgodną z Unity 2022 LTS

Szczegółowe wymagania sprzętowe i programowe znajdziesz w Wymagania środowiska deweloperskiego.

Uwaga:

  1. Ponieważ PICO Unity Integration SDK ma poważne problemy z wydajnością w potoku URP, zalecany jest potok renderowania Built-in; zobacz jego znane problemy.
  2. Jeśli testujesz w Unity v6000.0.69f1 i aplikacja zawiesza się lub ulega awarii, przełącz się na Unity v2022.3 LTS: urządzenia z serii PICO 4 mają problemy ze zgodnością z aplikacjami używającymi jednocześnie Unity 6 i Vulkan; zobacz jego znane problemy.
  3. Wersja Unity, wersja PICO SDK i wersja LCC SDK wpływają na renderowanie i wydajność; staraj się utrzymywać wersje oprogramowania spójne z tym przewodnikiem.

Przepływ pracy deweloperskiej

Krok 1: Utwórz projekt

W szablonie projektu wybierz typ 3D (Built-in Render Pipeline). Ponieważ PICO Unity Integration SDK ma poważne problemy z wydajnością w potoku URP, nie wybieraj potoku URP, jak pokazano poniżej:

Utwórz projekt 3D (Built-in Render Pipeline)

Utwórz projekt 3D (Built-in Render Pipeline)

Krok 2: Przełącz platformę

W menu Unity wybierz Plik → Profile kompilacji, aby otworzyć okno kompilacji i przełączyć 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 PICO Unity Integration SDK

Pobierz PICO Unity Integration SDK z oficjalnej strony PICO i zainstaluj go zgodnie z samouczkiem PICO; możesz go też zaimportować bezpośrednio z GitHub pod adresem https://github.com/Pico-Developer/PICO-Unity-Integration-SDK.git. Ten przewodnik używa wersji v3.4.0, jak pokazano poniżej:

Zaimportuj PICO Unity Integration SDK v3.4.0

Zaimportuj PICO Unity Integration SDK v3.4.0

Krok 4: 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 listy rozwijanej, przejdź do 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

Krok 5: Skonfiguruj środowisko Unity

Skonfiguruj XR Plug-in Management

Na pasku menu Unity wybierz Plik → Ustawienia projektu, po lewej stronie wybierz Zarządzanie wtyczkami XR i zaznacz Zainicjuj XR przy uruchomieniu na karcie platformy Android, jak pokazano poniżej:

Zaznacz Zainicjuj XR przy uruchomieniu w Zarządzaniu wtyczkami XR

Zaznacz Zainicjuj XR przy uruchomieniu w Zarządzaniu wtyczkami XR

Wybierz pozycję PICO w sekcji Zarządzanie wtyczkami XR i ustaw Tryb renderowania platformy Android na MultiView, jak pokazano poniżej:

Ustaw Tryb renderowania PICO na MultiView

Ustaw Tryb renderowania PICO na MultiView

Wybierz pozycję Walidacja projektu w sekcji Zarządzanie wtyczkami XR i kliknij Napraw wszystko, aby dokończyć niezbędne ustawienia (można to również pominąć i utworzyć ręcznie później), jak pokazano poniżej:

Kliknij Napraw wszystko w Walidacji projektu

Kliknij Napraw wszystko w Walidacji projektu

Uwaga:

  • Kliknięcie Napraw wszystko tworzy niezbędne GameObjects w aktualnie otwartej scenie, więc musisz usunąć Kamerę główną i Światło kierunkowe w scenie.
  • Ten przykład naprawia tylko UIOrientation.LandscapeLeft; wszystko inne jest tworzone ręcznie.

Skonfiguruj Keystore

Tworzenie dla PICO wymaga Keystore. Przejdź do Odtwarzacz → karta Android → Ustawienia publikowania → Menedżer magazynu kluczy, utwórz nowy Keystore i dokończ ustawienia, jak pokazano poniżej:

Utwórz nowy Keystore w Menedżerze magazynu kluczy

Utwórz nowy Keystore w Menedżerze magazynu kluczy

Ustaw nazwę firmy i nazwę produktu

Tworzenie dla PICO nie pozwala na domyślną wartość defaultCompany. Na karcie Odtwarzacz ustaw poprawną Nazwę firmy i Nazwę produktu, jak pokazano poniżej:

Ustaw Nazwę firmy i Nazwę produktu

Ustaw Nazwę firmy i Nazwę produktu

Skonfiguruj opcje jakości

W Ustawieniach projektu wybierz kartę Jakość i ustaw Wygładzanie krawędzi = Wyłączone, Stały współczynnik DPI skalowania rozdzielczości = 0.7 i Liczba VSync = Bez synchronizacji, jak pokazano poniżej:

Wyłącz wygładzanie krawędzi i ustaw współczynnik DPI oraz VSync na karcie Jakość

Wyłącz wygładzanie krawędzi i ustaw współczynnik DPI oraz VSync na karcie Jakość

Wpisz AppID

W menu Unity wybierz PICO → Platforma → Ustawienia platformy, aby otworzyć panel ustawień, i wpisz AppID, o który ubiegałeś się na platformie deweloperskiej PICO, w polu Wklej swój App ID tutaj; zobacz Utwórz konto deweloperskie, organizację i aplikację.

Wpisz AppID w Ustawieniach platformy PICO

Wpisz AppID w Ustawieniach platformy PICO

Skonfiguruj Grafikę

W Ustawieniach projektu wybierz kartę Grafika, wybierz platformę Android i skonfiguruj jak pokazano poniżej:

Skonfiguruj platformę Android na karcie Grafika

Skonfiguruj platformę Android na karcie Grafika

Skonfiguruj Odtwarzacz

W Ustawieniach projektu wybierz kartę Odtwarzacz, wybierz platformę Android, ustaw Przestrzeń kolorów = Gamma, odznacz Automatyczny API grafiki i pozostaw tylko Vulkan, a pozostałe ustawienia jak pokazano poniżej:

Ustaw Przestrzeń kolorów na Gamma i pozostaw tylko Vulkan jako API graficzne

Ustaw Przestrzeń kolorów na Gamma i pozostaw tylko Vulkan jako API graficzne

Przewiń bieżącą kartę w dół i ustaw Minimalny poziom API = Android 10.0, Backend skryptowy = IL2CPP, Poziom zgodności API = .NET Standard 2.1 i Architektury docelowe = ARM64, a pozostałe ustawienia jak pokazano poniżej:

Ustaw Minimalny poziom API, Backend skryptowy, Poziom zgodności API i Architektury docelowe

Ustaw Minimalny poziom API, Backend skryptowy, Poziom zgodności API i Architektury docelowe

Kontynuuj przewijanie bieżącej karty w dół i ustaw Aktywna obsługa wejścia = Pakiet Input System (nowy), a pozostałe ustawienia jak pokazano poniżej:

Ustaw Aktywną obsługę wejścia na Pakiet Input System (nowy)

Ustaw Aktywną obsługę wejścia na Pakiet Input System (nowy)

Krok 6: Utwórz scenę

Utwórz zupełnie nową scenę w Unity i usuń Kamerę główną oraz Światło kierunkowe. Kliknij prawym przyciskiem myszy w pustym obszarze okna Hierarchia i wybierz XR → XR Origin (VR) z menu podręcznego, aby utworzyć niezbędne obiekty XR.

Wybierz obiekt XR Origin (VR) i dodaj komponent PXR_Manager przez Dodaj komponent w oknie Inspektor oraz skonfiguruj jego powiązane właściwości, jak pokazano poniżej:

Dodaj i skonfiguruj komponent PXR_Manager na XR Origin (VR)

Dodaj i skonfiguruj komponent PXR_Manager na XR Origin (VR)

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

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

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

Wybierz Kamerę główną (drugorzędne dziecko XR Origin (VR)) i ustaw powiązane właściwości komponentu Kamera w oknie Inspektor, 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)

W oknie Hierarchia kliknij prawym przyciskiem myszy Utwórz pusty, aby utworzyć pusty obiekt o nazwie LCCManager, znormalizuj jego Transform i dołącz skrypt LCCManager przez Dodaj komponent, jak pokazano poniżej:

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

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

W oknie Hierarchia kliknij prawym przyciskiem myszy Utwórz pusty, aby utworzyć kolejny pusty obiekt o nazwie LCCRenderer, i ustaw jego Transform z Rotation.x = -90 i Scale.x = -1, jak pokazano poniżej:

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

Utwórz pusty obiekt LCCRenderer i ustaw Rotation.x = -90, Scale.x = -1, aby wyrównać układ 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;
using UnityEngine.XR;

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

    private LCCCore.Renderer m_renderer;

    private void Awake()
    {
        XRSettings.eyeTextureResolutionScale = 0.8f; // Zmniejsz rozdzielczość tekstury, aby poprawić wydajność
    }

    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.Pico);
        m_renderer = m_manager.GetRender(this.gameObject.transform);
        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 ten skrypt do GameObject LCCRenderer w oknie Hierarchia, następnie przeciągnij GameObject LCCManager na właściwość Manager skryptu w oknie Inspektor, a na koniec wpisz ścieżkę pliku LCC.

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

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

Aby ułatwić debugowanie w Edytorze Unity i bezpośrednie pakowanie na urządzenie z Androidem, kod używa makr kompilacji do rozróżnienia środowiska uruchomieniowego: w Edytorze używa ścieżki określonej przez m_FilePath; na urządzeniu z Androidem używa źródła danych na urządzeniu. Dane na urządzeniu są umieszczane w następujący sposób:

  1. Najpierw uruchom raz spakowaną aplikację na urządzeniu PICO.
  2. Po zainstalowaniu aplikacji przejdź do jej katalogu danych (zwykle Pamięć urządzenia PICO → 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 dane źródłowe LCC do folderu LccData.

Uwaga:

  1. W praktyce zaleca się umieszczenie źródła danych aplikacji PICO na serwerze, zamiast pakowania go bezpośrednio do aplikacji.
  2. Urządzenie Pico 4 Ultra renderuje jednocześnie około 700 000 prymitywów gaussowskich na ekranie, czyli mniej więcej o dwa rzędy wielkości mniej niż ~25 milionów na PC. Jest ono głównie zalecane do renderowania i wyświetlania małych scen i pojedynczych obiektów; duże sceny są płynniejsze przez strumieniowanie 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

  • Konfigurację projektu i optymalizację wydajności znajdziesz w Przewodnik optymalizacji ustawień projektu oraz Przewodnik ustawień parametrów wydajności renderowania.
  • Inne przepływy pracy deweloperskiej PICO znajdziesz w oficjalnej dokumentacji: Dokumentacja deweloperska PICO.