Przewodnik Business Streaming dla Pico 4 Ultra
Business Streaming dla Pico 4 Ultra renderuje projekt Unity na PC i strumieniuje go na urządzenie w celu przeglądania i interakcji za pomocą oficjalnego narzędzia PICO Business Streaming, wykorzystując moc obliczeniową PC do osiągnięcia wyższej wydajności niż renderowanie na urządzeniu. Ten przewodnik wyjaśnia, jak zintegrować LCC Unity SDK i ukończyć tworzenie strumieniowania z Business Streaming.
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 / Wtyczka | Wersja | Opis |
|---|---|---|
| Unity | v6000.0.69f1 i nowsze | Używa Unity 6 |
| OpenXR | 1.61.1 i nowsze | Wtyczka Unity OpenXR, instalowana z Unity Registry |
| LCC Unity SDK | v2.3.0 i nowsze | Pobierz ze strony pobierania LCC Unity SDK |
| Business Streaming | v2.2.0 i nowsze | Pobierz z oficjalnej strony PICO |
Uwaga:
- Business Streaming łączy się przez OpenXR, co różni się od Przewodnika deweloperskiego dla Pico 4 Ultra, który używa PICO Unity Integration SDK; nie mieszaj ich ze sobą.
- Wersja Unity, wersja OpenXR 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: Wymagania wstępne
Pobierz i zainstaluj Business Streaming v2.2.0 lub nowszy zarówno na komputerze, z którego będziesz strumieniować, jak i na urządzeniu Pico 4 Ultra; po instalacji zaleca się jednokrotne ponowne uruchomienie komputera.
Krok 2: Utwórz projekt URP
Wybierz typ Uniwersalny 3D (potok renderowania URP) w szablonie projektu, jak pokazano poniżej:

Utwórz projekt Uniwersalny 3D
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
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 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
Uwaga: po ukończeniu powyższych kroków uruchom ponownie Unity przed przejściem do kolejnych ustawień.
Krok 5: Skonfiguruj środowisko Unity
Skonfiguruj XR Plug-in Management
Wybierz Plik → Ustawienia projektu z paska menu Unity, po lewej stronie wybierz Zarządzanie wtyczkami XR, zaznacz Zainicjuj XR przy uruchomieniu na karcie Ustawienia Standalone PC, Mac i Linux i zaznacz OpenXR jako dostawcę wtyczki, jak pokazano poniżej:

Zaznacz Zainicjuj XR przy uruchomieniu i OpenXR w Zarządzaniu wtyczkami XR
Uwaga: jeśli po OpenXR pojawi się żółta ikona ostrzeżenia, kliknij Napraw wszystko, aby naprawić wszystko.
Wybierz pozycję OpenXR w sekcji Zarządzanie wtyczkami XR i ustaw Tryb renderowania na Single Pass Instanced lub Multi Pass w zależności od potrzeb; ogólnie Single Pass Instanced zapewnia lepszą wydajność, a pozostałe ustawienia pozostają domyślne, jak pokazano poniżej:

Ustaw Tryb renderowania OpenXR na Single Pass Instanced lub Multi Pass
Skonfiguruj API graficzne
Otwórz panel ustawień przez Edycja → Ustawienia projektu → Odtwarzacz, wybierz pozycję Inne na karcie odpowiedniej platformy i skonfiguruj API graficzne dla każdej platformy:
| Platforma | Czynność |
|---|---|
| Windows | Odznacz Automatyczny API grafiki dla systemu Windows i dodaj DirectX12, Vulkan oraz DirectX11 jako trzy API graficzne |
| macOS | Odznacz Automatyczny API grafiki dla Mac i zachowaj API graficzne Metal |
| Linux | Odznacz Automatyczny API grafiki dla Linux i zachowaj API graficzne Vulkan |
Uwaga: na platformie Windows zaleca się używanie DirectX12 lub Vulkan, które zapewniają lepszą wydajność; w przypadku DirectX11 zaleca się włączenie renderowania HDR, aby uniknąć artefaktów renderowania.
Krok 6: Utwórz scenę
Ten przykład zaczyna się od zupełnie nowej sceny. Utwórz scenę Unity (Scena), kliknij prawym przyciskiem myszy w pustym obszarze okna hierarchii (Hierarchia) i wybierz XR → Przekształć kamerę główną w XR Rig z menu podręcznego, aby przekształcić Kamerę główną w kamerę XR.
Krok 7: Skonfiguruj scenę
Wybierz GameObject XR Rig w oknie hierarchii (Hierarchia) i w oknie właściwości (Inspektor) ustaw Żądany tryb śledzenia właściwości Przesunięcie kamery na Podłoga, jak pokazano poniżej:
Ustaw Żądany tryb śledzenia Przesunięcia kamery XR Rig na Podłoga
Wybierz GameObject XR Rig → Przesunięcie kamery → Kamera główna w oknie hierarchii (Hierarchia) i ustaw właściwości komponentu Kamera w oknie właściwości (Inspektor): Płaszczyzny przycinania Blisko = 0.3, Daleko = 5000; Wygładzanie krawędzi = Bez wygładzania krawędzi; Tekstura nieprzezroczysta = Wyłączone, Tekstura głębi = Wyłączone; Typ tła = Jednolity kolor, Tło = czarny; Renderowanie HDR = Wyłączone, MSAA = Wyłączone, URP Dynamic Resolution = Wyłączone, jak pokazano poniżej:

Ustaw właściwości komponentu Kamera Kamery głównej pod XR Rig
Krok 8: 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 skrypt LCCManager przez Dodaj komponent, jak pokazano poniżej:

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 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;
[DefaultExecutionOrder(100)]
public class LCCRenderer : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
private Camera m_mainCamera;
private bool m_isLoaded = false;
void Start()
{
m_mainCamera = Camera.main;
// ustaw typ platformy na PCVR
m_manager.SetPlatformType(PlatformType.PCVR);
m_manager.SetMainCamera(m_mainCamera);
m_manager.SetLockFPS(false);
//Ustaw pełny render splat na 15 milionów, co oznacza, że LCC LOD0 > 15 milionów przejdzie na ścieżkę renderowania fragmentami.
//m_manager.SetFullRenderSplat(1500);
//Ustaw maksymalny render splat na 15 milionów, co oznacza limit splatów na ekranie do 15 milionów na ścieżce renderowania fragmentami.
//m_manager.SetMaxRenderSplats(1500);
m_renderer = m_manager.GetRender(this.transform);
if (m_renderer == null)
Debug.LogError("GetRender nie powiódł się; sprawdź, czy menedżer jest ustawiony poprawnie i czy ścieżka pliku jest prawidłowa.");
m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback, onError);
}
private void onLoadProgress(float value)
{
Debug.Log($"postęp ładowania: {value}");
}
private void onLoadCallback()
{
//ustaw początkowy LOD na 2, co oznacza, że początkowe renderowanie będzie na poziomie LOD2.
//m_manager.SetStartLod(2);
Debug.Log("dane załadowane !!!");
m_isLoaded = true;
}
private void onError(string error)
{
Debug.LogError($"błąd ładowania: {error}");
}
}
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 ukończeniu powyższej konfiguracji struktura sceny w oknie hierarchii (Hierarchia) wygląda jak pokazano poniżej:

Struktura sceny po konfiguracji
Uwaga: scena musi zachować Światło kierunkowe, Global Volume i inne obiekty tworzone domyślnie w projekcie URP.
Krok 9: Skonfiguruj Business Streaming
Uruchom Business Streaming na komputerze, wybierz Ustawienia → Ogólne i ustaw Domyślny typ strumieniowania na Strumieniowanie OpenXR, jak pokazano poniżej:

Ustaw Domyślny typ strumieniowania Business Streaming na Strumieniowanie OpenXR
Krok 10: Rozpocznij strumieniowanie
- Połącz Pico 4 Ultra z komputerem przez USB 3.0 lub szybkie Wi-Fi.
- Otwórz Business Streaming na urządzeniu Pico 4 Ultra i połącz się z komputerem.
- Kliknij przycisk Odtwórz w Edytorze Unity, aby uruchomić, lub otwórz opublikowaną aplikację, aby rozpocząć strumieniowanie.
Uwaga:
- Korzystanie z oprogramowania Business Streaming znajdziesz w oficjalnej dokumentacji PICO: https://business.picoxr.com/cn/doc/Business-Streamingv2.
- Ustawienia projektu znajdziesz w Przewodnik optymalizacji ustawień projektu.
- Strumieniowanie wymaga sprzętu PC z wyższej półki (zwłaszcza karty graficznej); używaj wydajnego komputera do strumieniowania oraz USB 3.0 lub szybkiego Wi-Fi.
- Strumieniowanie PCVR renderuje dwukrotnie (tryb SPI ma również podwojony narzut wierzchołków), więc wydajność i liczbę klatek można poprawić, konfigurując renderowanie pełne/fragmentami, maksymalną liczbę renderowanych na ekran, początkowy poziom LOD itp.; ustawienia parametrów znajdziesz w Przewodnik parametrów wydajności renderowania.
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.
- Przepływ pracy renderowania na urządzeniu z użyciem PICO Unity Integration SDK znajdziesz w Przewodniku deweloperskim dla Pico 4 Ultra.
- Inne instrukcje korzystania z Business Streaming znajdziesz w oficjalnej dokumentacji PICO: Business Streaming.