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

    • PortalCam P1

      • Productoverzicht
      • Basisbediening
      • De LCC Scan App gebruiken
      • Onderhoud en verzorging
      • Veelgestelde vragen
  • Lixel K-serie

    • Lixel K1

      • Productoverzicht
      • Basisbediening
      • Apparaat activeren en verbinden
      • Scanworkflow
      • Puntenwolkgegevens met absolute coördinaten verkrijgen
      • Kaartfusie
      • Suggesties voor routeplanning bij typische scènes
      • Voorzorgsmaatregelen
      • FAQ
    • Lixel K2

      • Productoverzicht
      • Basisbediening
      • Apparaat activeren en verbinden
      • Scanworkflow
      • Puntenwolkgegevens met absolute coördinaten verkrijgen
      • Kaartfusie
      • Suggesties voor routeplanning bij typische scènes
      • Voorzorgsmaatregelen
      • FAQ
  • Lixel L-serie

    • Lixel L2 Pro

      • Productoverzicht
      • Basisbediening
      • Apparaatactivering en -verbinding
      • Scanworkflow
      • Puntenwolkgegevens met absolute coördinaten opnemen
      • Meetpunt
      • Appendix
      • FAQ
    • Lixel L3

      • Productoverzicht
      • Basisfuncties van het apparaat
      • Apparaatactivering en -verbinding
      • Gegevensopname
      • Absolute coördinaten opnemen
      • Appendix
  • Lixel Studio

    • Versie en copyright
    • Installatie en activering
    • Software-interface
    • Bestandsbewerkingen
    • Projectverwerking
    • Gereedschappen
    • 2D-tekenen
    • Toepassingen
    • Instellingen
    • Apparaatverbinding
  • 07-plugin-sdk

    • Unity

      • LCC Unity SDK Introductie
      • Technische functies
      • Vereisten voor de ontwikkelomgeving
      • Snelstartgids voor pc
      • Optimalisatiegids voor projectinstellingen
      • Ontwikkelgids voor Pico 4 Ultra
      • Pc-streaminggids voor Pico 4 Ultra
      • Ontwikkelgids voor Quest 3
      • Pc-streaminggids voor Quest 3
      • Ontwikkelgids voor OpenXR
      • Business Streaming-gids voor Pico 4 Ultra
      • Woordenlijst
      • Veelgestelde vragen
      • Contact opnemen
      • Ontwikkelingshandleiding voor functies

        • Ontwikkelgids voor gemengde rendering van meerdere scènes
        • Ontwikkelgids voor het ontvangen van schaduwen
        • Ontwikkelgids voor realtime belichting
        • Ontwikkelgids voor multi-camera rendering
        • Ontwikkelgids voor het renderen van afbeeldingen met hoge resolutie
        • Ontwikkelgids voor compatibiliteit van de gegevensformaten LCC en LCC2
        • Ontwikkelgids voor laadeffecten
        • Ontwikkelgids voor het schakelen tussen Mip-renderingmodi
        • Ontwikkelgids voor rand- en hoeksnapping
        • Ontwikkelgids voor geprojecteerde decal
        • Ontwikkelgids voor video-geprojecteerde decal
        • Ontwikkelgids voor markeren
        • Ontwikkelgids voor realtime knippen
        • Ontwikkelgids voor kleuraanpassing
        • Ontwikkelgids voor het ophalen van scène-Meshgegevens
        • Ontwikkelgids voor de Editor-modus
        • Configuratiegids voor renderprestatieparameters
        • Ontwikkelgids voor het samen verpakken van de applicatie en de gegevens
        • Ontwikkelgids voor het botsingssysteem
        • Gids voor macOS-ontwikkelingsmachtigingsproblemen
        • Ontwikkelgids voor compilatie en verpakking voor iOS-apparaten
      • API-referentie

        • LCCManager
        • Renderer
        • Gegevenstypen
      • Wijzigingslogboek

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

Business Streaming-gids voor Pico 4 Ultra

De Business Streaming van Pico 4 Ultra rendert het Unity-project op de pc en streamt het naar het apparaat om te bekijken en ermee te communiceren via de officiële Business Streaming-tool van PICO, waarmee de rekenkracht van de pc wordt benut om hogere prestaties te bereiken dan met rendering op het apparaat. Deze gids legt uit hoe je de LCC Unity SDK integreert en de streamingontwikkeling met Business Streaming voltooit.

Versievereisten

De software- en plug-inversies die in deze gids worden gebruikt, zijn als volgt. Het wordt aanbevolen om met dezelfde versies te ontwikkelen; andere, niet-geteste versies kunnen compatibiliteitsproblemen hebben:

Software / plug-inVersieBeschrijving
Unityv6000.0.69f1 en hogerGebruikt Unity 6
OpenXR1.61.1 en hogerUnity OpenXR Plugin, geïnstalleerd vanuit Unity Registry
LCC Unity SDKv2.3.0 en hogerVerkrijgbaar via de downloadpagina van de LCC Unity SDK
Business Streamingv2.2.0 en hogerVerkrijgbaar via PICO officieel

Opmerking:

  1. Business Streaming maakt verbinding via OpenXR, wat anders is dan de Ontwikkelgids voor Pico 4 Ultra die de PICO Unity Integration SDK gebruikt; haal ze niet door elkaar.
  2. De Unity-versie, de OpenXR-versie en de LCC SDK-versie hebben allemaal invloed op de rendering en prestaties, dus probeer elke softwareversie consistent te houden met deze gids.

Ontwikkelworkflow

Stap 1: Vereisten

Download en installeer Business Streaming v2.2.0 of hoger op zowel de computer waarvan wordt gestreamd als het Pico 4 Ultra-apparaat; het wordt aanbevolen om de computer na installatie één keer opnieuw op te starten.

Stap 2: Een URP-project aanmaken

Selecteer het type Universal 3D (URP-renderpipeline) in de projectsjabloon, zoals hieronder wordt weergegeven:

Een Universal 3D-project aanmaken

Een Universal 3D-project aanmaken

Stap 3: Unity OpenXR importeren

Open het UPM-venster via het Unity-menu Venster → Package Manager, selecteer Unity Registry in de linker lijst, voer OpenXR in het zoekvak in, selecteer OpenXR Plugin in de zoekresultaten en installeer deze, zoals hieronder wordt weergegeven:

Installeer de OpenXR Plugin vanuit Unity Registry

Installeer de OpenXR Plugin vanuit Unity Registry

Stap 4: De LCC Unity SDK importeren

Open het UPM-venster via het Unity-menu Venster → Package Manager, klik links op +, selecteer Pakket vanaf schijf installeren in de vervolgkeuzelijst, zoek de LCC Unity SDK en selecteer het package.json-bestand om deze te importeren, zoals hieronder wordt weergegeven:

Importeer de LCC Unity SDK via Pakket vanaf schijf installeren

Importeer de LCC Unity SDK via Pakket vanaf schijf installeren

Opmerking: Start Unity opnieuw op nadat je de bovenstaande stappen hebt voltooid voordat je doorgaat met de volgende instellingen.

Stap 5: De Unity-omgeving instellen

XR Plug-in Management configureren

Selecteer Bestand → Projectinstellingen in de Unity-menubalk, selecteer links XR Plug-in Management, vink Initialize XR on Startup aan onder het tabblad PC, Mac & Linux Standalone Settings en vink OpenXR aan als Plug-in Provider, zoals hieronder wordt weergegeven:

Vink Initialize XR on Startup en OpenXR aan in XR Plug-in Management

Vink Initialize XR on Startup en OpenXR aan in XR Plug-in Management

Opmerking: Als er na OpenXR een geel waarschuwingspictogram verschijnt, klik dan op Fix All om alles te herstellen.

Selecteer het item OpenXR onder XR Plug-in Management en stel Render Mode indien nodig in op Single Pass Instanced of Multi Pass; over het algemeen biedt Single Pass Instanced betere prestaties en de overige instellingen blijven op hun standaardwaarden, zoals hieronder wordt weergegeven:

Stel de OpenXR Render Mode in op Single Pass Instanced of Multi Pass

Stel de OpenXR Render Mode in op Single Pass Instanced of Multi Pass

Grafische API's configureren

Open het instellingenpaneel via Bewerken → Projectinstellingen → Player, selecteer het item Overige onder het tabblad van het betreffende platform en configureer de grafische API's per platform:

PlatformActie
WindowsSchakel Auto Graphics API for Windows uit en voeg DirectX12, Vulkan en DirectX11 toe als de drie grafische API's
macOSSchakel Auto Graphics API for Mac uit en behoud de grafische API Metal
LinuxSchakel Auto Graphics API for Linux uit en behoud de grafische API Vulkan

Opmerking: Op het Windows-platform wordt aanbevolen om DirectX12 of Vulkan te gebruiken, die betere prestaties bieden; voor DirectX11 wordt aanbevolen om HDR-rendering in te schakelen om renderingartefacten te voorkomen.

Stap 6: De scène aanmaken

Dit voorbeeld begint vanuit een gloednieuwe Scene. Maak een Unity-scène (Scene) aan, klik met de rechtermuisknop in een leeg gebied van het hiërarchievenster (Hierarchy) en selecteer XR → Convert Main Camera To XR Rig in het pop-upmenu om Main Camera om te zetten naar een XR-camera.

Stap 7: De scène configureren

Selecteer het XR Rig-GameObject in het hiërarchievenster (Hierarchy) en stel in het eigenschappenvenster (Inspector) de Request Tracking Mode van de eigenschap Camera Offset in op Floor, zoals hieronder wordt weergegeven:

Stel de Request Tracking Mode van de XR Rig Camera Offset in op Floor

Stel de Request Tracking Mode van de XR Rig Camera Offset in op Floor

Selecteer het XR Rig → Camera Offset → Main Camera-GameObject in het hiërarchievenster (Hierarchy) en stel de eigenschappen van de Camera-component in het eigenschappenvenster (Inspector) in: Clipping Planes Near = 0.3, Far = 5000; Anti-aliasing = No Anti-aliasing; Opaque Texture = Off, Depth Texture = Off; Background Type = Solid Color, Background = zwart; HDR Rendering = Off, MSAA = Off, URP Dynamic Resolution = Off, zoals hieronder wordt weergegeven:

Stel de eigenschappen van de Camera-component van de Main Camera onder de XR Rig in

Stel de eigenschappen van de Camera-component van de Main Camera onder de XR Rig in

Stap 8: Code schrijven om de scène te laden

Klik met de rechtermuisknop op Create Empty in het hiërarchievenster (Hierarchy) om een leeg object aan te maken, geef het de naam LCCManager, normaliseer de Transform en voeg het LCCManager-script toe via Component toevoegen, zoals hieronder wordt weergegeven:

Maak een leeg LCCManager-object aan en voeg het LCCManager-script toe

Maak een leeg LCCManager-object aan en voeg het LCCManager-script toe

Klik met de rechtermuisknop op Create Empty in het hiërarchievenster (Hierarchy) om nog een leeg object aan te maken, geef het de naam LCCRenderer en stel de Transform in op Rotation.x = -90, Scale.x = -1, zoals hieronder wordt weergegeven:

Maak een leeg LCCRenderer-object aan en stel de Transform in op uitlijning met het coördinatensysteem

Maak een leeg LCCRenderer-object aan en stel Rotation.x = -90 en Scale.x = -1 in om de coördinatensystemen uit te lijnen

Rotation.x = -90 en Scale.x = -1 vormen de uitlijningstransformatie van het LCC-gegevenscoördinatensysteem (rechtshandig, Z-as omhoog) naar het Unity-coördinatensysteem (linkshandig, Y-as omhoog); zie "Coördinatensysteem van LCC-gegevens" in LCC Unity SDK Introductie.

Schrijf een C#-script met de naam LCCRenderer.cs met de volgende code:

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;
        // stel het platformtype in op PCVR
        m_manager.SetPlatformType(PlatformType.PCVR);
        m_manager.SetMainCamera(m_mainCamera);
        m_manager.SetLockFPS(false);
        //Stel de volledige render splat in op 15 miljoen, wat betekent dat LCC LOD0 > 15 miljoen het chunk rendering-pad gebruikt.
        //m_manager.SetFullRenderSplat(1500);
        //Stel de maximale render splat in op 15 miljoen, wat betekent dat de maximale on-screen splat-limiet 15 miljoen is op het chunk rendering-pad.
        //m_manager.SetMaxRenderSplats(1500);
        m_renderer = m_manager.GetRender(this.transform);
        if (m_renderer == null)
            Debug.LogError("GetRender mislukt, controleer of de manager correct is ingesteld en of het bestandspad geldig is.");
        m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback, onError);
    }

    private void onLoadProgress(float value)
    {
        Debug.Log($"laadvoortgang: {value}");
    }

    private void onLoadCallback()
    {
        //stel de start-LOD in op 2, wat betekent dat de initiële rendering op LOD2-niveau plaatsvindt.
        //m_manager.SetStartLod(2);
        Debug.Log("gegevens geladen !!!");
        m_isLoaded = true;
    }

    private void onError(string error)
    {
        Debug.LogError($"laadfout: {error}");
    }
}

Voeg het script toe aan het LCCRenderer-GameObject in het hiërarchievenster (Hierarchy), sleep vervolgens het LCCManager-GameObject naar de eigenschap Manager van het script in het eigenschappenvenster (Inspector) en vul ten slotte het LCC-bestandspad in.

Na het voltooien van de bovenstaande configuratie is de scènestructuur in het hiërarchievenster (Hierarchy) zoals hieronder wordt weergegeven:

De scènestructuur na configuratie

De scènestructuur na configuratie

Opmerking: De scène moet de Directional Light, Global Volume en andere objecten behouden die standaard in het URP-project zijn aangemaakt.

Stap 9: Business Streaming instellen

Start Business Streaming op de computer, selecteer Settings → General en stel Default Streaming Type in op OpenXR Streaming, zoals hieronder wordt weergegeven:

Stel de Default Streaming Type van Business Streaming in op OpenXR Streaming

Stel de Default Streaming Type van Business Streaming in op OpenXR Streaming

Stap 10: Het streamen starten

  1. Verbind de Pico 4 Ultra met de computer via USB 3.0 of snelle wifi.
  2. Open Business Streaming op het Pico 4 Ultra-apparaat en maak verbinding met de computer.
  3. Klik op de knop Play in de Unity Editor om uit te voeren, of open de gepubliceerde applicatie, om het streamen te starten.

Opmerking:

  1. Raadpleeg voor het gebruik van de Business Streaming-software de officiële PICO-documentatie: https://business.picoxr.com/cn/doc/Business-Streamingv2.
  2. Raadpleeg voor projectinstellingen de Optimalisatiegids voor projectinstellingen.
  3. Streaming vereist high-end pc-hardware (met name de grafische kaart); gebruik een krachtige computer voor streaming en gebruik USB 3.0 of snelle wifi.
  4. PCVR-streaming rendert twee keer (de SPI-modus heeft ook dubbele vertex-overhead), dus de prestaties en framerate kunnen worden verbeterd door volledige/chunked rendering, het maximale aantal on-screen renders, het start-LOD-niveau enz. te configureren; raadpleeg voor parameterinstellingen de Gids voor instellingen van renderprestatieparameters.

Gerelateerde verwijzing

  • Zie voor projectinstellingen en prestatieoptimalisatie de hoofdstukken Optimalisatiegids voor projectinstellingen en Gids voor instellingen van renderprestatieparameters.
  • Zie de Ontwikkelgids voor Pico 4 Ultra voor de renderingworkflow op het apparaat met de PICO Unity Integration SDK.
  • Raadpleeg voor andere gebruiksinstructies voor Business Streaming de officiële PICO-documentatie: Business Streaming.