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 het schakelen tussen Mip-renderingmodi

Mip en Non-Mip zijn twee technische paden voor het reconstrueren en renderen van 3DGS. Het renderingeffect is het beste wanneer reconstructie en rendering hetzelfde technische pad gebruiken. De LCC Unity SDK ondersteunt het dynamisch schakelen van de renderingmodus tijdens runtime; de volledige stappen worden hieronder beschreven.

Stap 1: De scène en GameObjects aanmaken

Maak een gloednieuwe scène aan in Unity. Unity maakt standaard Main Camera en Directional Light aan.

Main Camera instellen

Selecteer Main Camera in het Hiërarchie-venster en stel de eigenschappen in het Inspector-venster in zoals hieronder wordt weergegeven.

Stel de eigenschappen van Main Camera in

Stel de eigenschappen van Main Camera in

LCCManager aanmaken

Klik met de rechtermuisknop op een leeg gebied in het Hiërarchie-venster, selecteer Create Empty in het pop-upmenu om een leeg GameObject aan te maken, geef het de naam LCCManager, normaliseer de Transform en voeg het LCCManager-script eraan toe via Component toevoegen.

Maak het LCCManager-GameObject aan en voeg het LCCManager-script toe

Maak het LCCManager-GameObject aan en voeg het LCCManager-script toe

LCCRenderer aanmaken

Klik met de rechtermuisknop op een leeg gebied in het Hiërarchie-venster, selecteer Create Empty om een leeg GameObject aan te maken, geef het de naam LCCRenderer en stel de Transform in op Rotation.x = -90 en Scale.x = -1.

Maak LCCRenderer aan en stel de Transform in

Maak LCCRenderer aan en stel de Transform in (Rotation.x = -90, Scale.x = -1)

Opmerking:

De Transform-instellingen van het LCCRenderer-GameObject (Rotation.x = -90, Scale.x = -1) lijnen het uit met het coördinatensysteem van de LCC-gegevens. Zie "Coördinatensysteem van LCC-gegevens" in LCC Unity SDK Introductie voor meer informatie over de uitlijning van het coördinatensysteem.

De schakelknop aanmaken

Klik met de rechtermuisknop op een leeg gebied in het Hiërarchie-venster, selecteer UI → Button in het pop-upmenu om een Button met de naam BtnMipSwitch aan te maken.

Stap 2: Een script schrijven om de renderingmodus te schakelen

Maak een nieuw C#-script aan met de naam MipSwitch.cs met de volgende code:

using LCCCore;
using UnityEngine;
using UnityEngine.UI;

public class MipSwitch : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    public Button m_BtnMipSwitch;
    private LCCCore.Renderer m_renderer;
    private MipMode m_mipMode;

    void Start()
    {
        m_manager.SetPlatformType(PlatformType.PC);
        Debug.Log("Gestart ");
        // Moet naar de Edit-modus gaan
        m_manager.SetEditorMode(true);
        m_mipMode = MipMode.Mip;
        m_BtnMipSwitch.onClick.AddListener(onMipSwitch);
        m_renderer = m_manager.GetRender(this.transform);
        m_renderer.Load(m_FilePath, onProgress, onComplete);
    }

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

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

    private void onMipSwitch()
    {
        if (m_mipMode == MipMode.Mip)
        {
            m_mipMode = MipMode.Non_Mip;
        }
        else
        {
            m_mipMode = MipMode.Mip;
        }
        m_manager.SetMipMode(m_mipMode);
    }
}

Opmerking:

Dit voorbeeld initialiseert in Start op MipMode.Mip en bindt de klikgebeurtenis voor BtnMipSwitch; elke klik schakelt tussen Mip en Non_Mip en wordt onmiddellijk van kracht via SetMipMode().

Stap 3: Het script toevoegen en eigenschappen instellen

  1. Voeg het MipSwitch.cs-script toe aan het LCCManager-GameObject in het Hiërarchie-venster.
  2. Sleep in het Inspector-venster het LCCManager-GameObject naar de eigenschap Manager van het script.
  3. Vul het LCC-bestandspad in bij de eigenschap File Path van het script.
  4. Sleep de BtnMipSwitch-knop naar de eigenschap Btn Mip Switch van het script.
Voeg het MipSwitch-script toe en stel de Manager, File Path en BtnMipSwitch in

Voeg het MipSwitch-script toe en stel de eigenschappen Manager, File Path en BtnMipSwitch in

Stap 4: Uitvoeren

Klik op de knop Play in het Game-venster en klik vervolgens op de knop BtnMipSwitch om de scènerendering in realtime te zien schakelen tussen de Mip- en Non-Mip-modus.

Door op de knop te klikken schakelt de Mip / Non-Mip-renderingmodus in realtime na het uitvoeren

Door op de knop te klikken schakelt de Mip / Non-Mip-renderingmodus in realtime na het uitvoeren

Selectieaanbevelingen

  • Het renderingeffect is alleen optimaal wanneer het reconstrueren van 3DGS en het renderen van 3DGS het zelfde technische pad gebruiken.
  • Na het overschakelen naar de Non-Mip-modus is de renderingdetaillering doorgaans beter, maar worden de renderingprestaties in zekere mate beïnvloed.

Mip-gerelateerde API's

De LCC Unity SDK biedt via LCCManager de volgende API's voor het schakelen van de Mip-renderingmodus.

SetMipMode

// Retourwaarde: void
public void SetMipMode(MipMode _mipMode)

Schakelt de Mip-renderingmodus. De Mip-modus gebruikt mipmap-sampling (standaard) en de Non_Mip-modus schakelt mipmap uit.

ParameterTypeBeschrijving
_mipModeMipModeDoelmodus, Mip of Non_Mip

Gebruiksvoorbeeld:

m_manager.SetMipMode(MipMode.Non_Mip); // mipmap uitschakelen
m_manager.SetMipMode(MipMode.Mip);     // mipmap herstellen

Opmerkingen:

  • Als de huidige modus gelijk is aan de doorgegeven modus, wordt onmiddellijk geretourneerd zonder herhaalde overhead.

De enum MipMode is als volgt gedefinieerd:

public enum MipMode { Mip, Non_Mip }

SetEditorMode

// Retourwaarde: void
public void SetEditorMode(bool _isEditor)

Schakelt de editormodus in of uit. Dit voorbeeld roept SetEditorMode(true) aan voordat de gegevens worden geladen.

ParameterTypeBeschrijving
_isEditorboolOf de editormodus moet worden ingeschakeld

Gebruiksvoorbeeld:

m_manager.SetEditorMode(true);

Opmerkingen:

  • Alleen ondersteund op pc- / Mac-platformen.