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
  • Accessoires

    • Stick Light

      • Installatiegids
      • Basisbediening
      • FAQ
  • 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

Ontwikkelgids voor de Editor-modus

De LCC Unity SDK ondersteunt het renderen van scènes in de Editor, wat betekent dat het LCC-model in de bewerkingsmodus net als elk ander GameObject in Unity kan worden verplaatst, gedraaid en geschaald. Je kunt de 3DGS-scène in het Scene-venster in realtime bekijken en aanpassen zonder op de Play-knop te klikken om de Play-modus te openen.

Bij gebruik van de Samples-scène kun je het renderen van de scène voltooien via niet-code-bewerkingen; bij gebruik van aangepaste scripts kun je hetzelfde effect bereiken via code-bewerkingen.

Opmerking:

De LCC Unity SDK ondersteunt zowel de volledige rendermodus als de chunked-rendermodus. In de volledige rendermodus kan de Scene-weergave het hele model volledig renderen; in de chunked-rendermodus wordt het model mogelijk niet volledig weergegeven in het Scene-venster, omdat de posities en oriëntaties van de Scene-camera en de Game-camera niet overeenkomen. In dat geval moet je de Scene-camera en de Game-camera synchroniseren.

Niet-code-bewerkingen

Wanneer je de Samples-scène van de SDK gebruikt, rendert Unity de scène na het opstarten automatisch in de Editor als het gegevensbestandspad (File Path) correct is ingevuld, zoals hieronder wordt weergegeven.

Rendeer de scène automatisch in de Editor

Nadat je File Path correct hebt ingevuld, rendert Unity de scène bij het opstarten automatisch in de Editor

Van scène wisselen

Volg deze stappen wanneer je de gerenderde scène wilt wijzigen:

  1. Selecteer het LCCRenderer-GameObject in het Hiërarchie-venster.
  2. Vul het gegevenspad van de nieuwe scène correct in bij File Path in het Inspector-venster.
  3. Klik op de drie puntjes (⋮) rechts van de LCCRenderer (Script)-component en kies Render in het pop-upmenu, zoals hieronder wordt weergegeven.
Klik op Render in het menu van de LCCRenderer-component om een nieuwe scène te renderen

Klik op Render in het menu met drie puntjes rechts van de LCCRenderer (Script)-component

Opmerking:

Omdat het verwijderen van de oorspronkelijke scènegegevens en het laden van nieuwe scènegegevens enige tijd kost, wacht je even nadat je op Render hebt geklikt; de nieuwe scène wordt dan geladen.

Het renderen van de scène stoppen

Volg deze stappen om het renderen te stoppen wanneer je de scène niet langer in de Editor hoeft te renderen:

  1. Selecteer het LCCRenderer-GameObject in het Hiërarchie-venster.
  2. Vul het gegevenspad correct in bij File Path in het Inspector-venster.
  3. Klik op de drie puntjes (⋮) rechts van de LCCRenderer (Script)-component en kies unRender in het pop-upmenu, zoals hieronder wordt weergegeven. Hiermee stopt het renderen van de huidige scène.
Klik op unRender in het menu van de LCCRenderer-component om het renderen te stoppen

Klik op unRender in het menu met drie puntjes rechts van de LCCRenderer (Script)-component

De Play-modus binnengaan

Wanneer je op de Play-knop in Unity klikt om de normale Play-modus te openen, wordt de scène opnieuw gerenderd in de runtime-status. Omdat de SDK intern een multithreading-mechanisme gebruikt, wordt bij het openen van de Play-modus de renderingthread in de bewerkingsmodus geforceerd afgesloten, wat als een foutmelding in de Console wordt weergegeven.

Je kunt deze fout volledig negeren; deze heeft geen nadelig effect en heeft geen invloed op de daaropvolgende normale werking.

Als je deze fout echt niet wilt zien, kun je vóór het klikken op de Play-knop de bovenstaande stap Het renderen van de scène stoppen (unRender) uitvoeren en vervolgens op de Play-knop klikken om de runtime-status te openen.

Code-bewerkingen

Als je een aangepast script gebruikt om de scène te renderen, voeg dan simpelweg het [ExecuteInEditMode]-attribuut vóór je aangepaste renderingklasse toe om het script in de Editor te laten draaien, zodat de scène in de bewerkingsmodus wordt gerenderd. Raadpleeg voor de overige bewerkingslogica het LCCRenderer.cs-script in Samples.

using LCCCore;
using UnityEngine;

[ExecuteInEditMode]
public class MyLCCRenderer : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    private LCCCore.Renderer m_renderer;

    void Start()
    {
        m_manager.SetPlatformType(PlatformType.PC);
        m_manager.SwitchRenderPass(ActiveRenderMode.SingleRender);
        // Schakel de Editor-modus in
        m_manager.SetEditorMode(true);

        m_renderer = m_manager.GetRender(this.transform);
        m_renderer.Load(m_FilePath, onProgress, onComplete);
    }

    private void onProgress(float _progress)
    {
        Debug.Log($"[MyLCCRenderer] bestand laadvoortgang: {_progress:P1}");
    }

    private void onComplete()
    {
        Debug.Log($"[MyLCCRenderer] bestand geladen");
    }
}

Opmerking:

  • Het [ExecuteInEditMode]-attribuut zorgt ervoor dat lifecycle-methoden zoals Start en Update in de Editor worden aangeroepen, ook buiten de Play-modus; dit is de sleutel tot het renderen in de Editor-modus.
  • De Editor-modus wordt alleen ondersteund op pc-/Mac-platformen.
  • Raadpleeg voor de volledige renderingworkflow (platformconfiguratie, rendermodus, gegevens laden) het LCCRenderer.cs-script in Samples.

Camera's synchroniseren tussen het Scene- en Game-venster

De Samples van de SDK bevatten het SceneGameCameraSync-script, dat de camerabewerkingen van het Scene-venster synchroniseert naar het Game-venster, zodat je de weergave in de Editor kunt bedienen terwijl je het runtime-beeld bekijkt. Gebruiksstappen:

  1. Voeg het SceneGameCameraSync-script uit Samples toe aan het camera-GameObject (Camera) in de scène.
  2. Schakel het camerabedieningsscript uit (standaard CameraOperate).
  3. Klik op de Play-knop om de Play-modus te openen.

Als je nu de camera in het Scene-venster bedient, wordt de camera in het Game-venster dienovereenkomstig gesynchroniseerd.

Voeg het SceneGameCameraSync-script toe aan het camera-object

Voeg het SceneGameCameraSync-script toe aan het camera-object en schakel het CameraOperate-script uit

Opmerking:

Camerasynchronisatie ondersteunt alleen het synchroniseren van de camera van het Scene-venster naar het Game-venster; het ondersteunt niet het synchroniseren van camerabewerkingen van het Game-venster naar het Scene-venster.