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

    • PortalCam P1

      • Produktübersicht
      • Grundlegende Bedienung
      • LCC Scan App verwenden
      • Wartung und Pflege
      • FAQ
  • Lixel K-Serie

    • Lixel K1

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
    • Lixel K2

      • Produktübersicht
      • Grundlegende Bedienung
      • Aktivierung und Verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Kartenfusion
      • Empfehlungen zur Routenplanung für typische Szenen
      • Hinweise
      • FAQ
  • Lixel L-Serie

    • Lixel L2 Pro

      • Produktübersicht
      • Grundlegende Bedienung
      • Geräteaktivierung und -verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Messpunkt
      • Anhang
      • FAQ
    • Lixel L3

      • Produktübersicht
      • Grundlegende Bedienung
      • Aktivierung und Verbindung
      • Scan-Workflow
      • Punktwolke mit absoluten Koordinaten erfassen
      • Anhang
  • Zubehör

    • Stick Light

      • Installationsanleitung
      • Grundlegende Bedienung
      • Häufige Fragen
  • Lixel Studio

    • Version und Copyright
    • Installation und Aktivierung
    • Softwareoberfläche
    • Dateioperationen
    • Projektverarbeitung
    • Werkzeuge
    • 2D-Zeichnung
    • Anwendungen
    • Einstellungen
    • Geräteverbindung
    • Häufige Fragen
  • Lixel CyberColor

    • LCC Studio

      • Erste Schritte
      • Version und Updates
      • Download und Installation
      • Oberfläche und Navigation
      • Vor der Rekonstruktion
      • Modellrekonstruktion
      • Einzelmodell-Rekonstruktion
      • Kartenfusion
      • Boden-Luft-Fusion
      • Luftbild-Rekonstruktion
      • Meine Modelle
      • Weitere Funktionen
      • Einstellungen und Konto
      • Converter
      • Videorekonstruktion
      • Häufige Fragen / FAQ
    • LCC Scene Editor

      • Version und Updates
      • Konto und Anmeldung
      • Produktübersicht und Startseite
      • Editor-Oberfläche
      • Navigationsmodi
      • Datei
      • Einstellungen
      • Bearbeiten
      • Fenster
      • Globale Symbolleiste
      • Assets und Eigenschaften
      • Linke Symbolleiste
      • Ansichtspunkte
      • Portal
      • Skybox
      • Markierungen
      • Messung
      • Flythrough
      • Szenenbericht
      • 3D-Layout
      • Minikarte
      • Vorschaumodus (Viewer)
      • Hilfe
      • Häufige Fragen (FAQ)
      • Spawn-Point
    • LCC Model Editor

      • Version und Updates
      • Benutzerhandbuch
      • Übersicht und Oberfläche
      • Dateioperationen
      • Selektoren
      • Modelle bearbeiten
      • Messung
      • Farbkorrektur
      • Asset-Verwaltung
      • Einstellungen und Hilfe
      • Häufige Fragen
    • Capture Guide

      • Überblick
      • Überblick über die Aufnahmegeräte
      • Allgemeine Aufnahmeprinzipien
      • Aufnahme von Innenszenen
      • Aufnahme von Außenszenen
      • Großflächige Aufnahme (Map Fusion)
      • Aerial-Ground Map Fusion – Aufnahme
      • Objektaufnahme
      • Personenaufnahme
      • Video-Rekonstruktionsaufnahme
      • HD Enhancement
      • Kontrollpunkte (Lixel P1)
      • FAQ und Fehlerbehebung
    • Best Practices

      • Zusammenführen mehrerer großer 3DGS-Modelle
    • Versionsgeschichte
  • Plugin & SDK

    • Unreal

      • Einführung
      • Schnellstart - Windows
      • Schnellstart - Linux
      • Schnellstart - Quest3
      • Editionen und Lizenzierung
      • Rendering
      • Tiled-Rasterisierung (experimentell)
      • Bildeinstellungen
      • Normalen und Beleuchtung
      • Szenenbearbeitung
      • Leistungsparameter
      • Leitfaden zur Leistung
      • Integration von Drittanbieter- und Engine-Plugins
      • Proxy Mesh
      • Ladeanimation
      • Kollision
      • Unterstützung des Navigation System
      • Unterstützung von Single Layer Water
      • Lokalisierung
      • FAQ
      • Fehlerbehebung
      • Logs und Diagnose
      • Kontakt
      • Bewährte Vorgehensweisen

        • 3DGS mit einem LixelStudio-Mesh neu beleuchten
      • API-Referenz

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • SOG- / SPZ- / PLY-Actors
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Änderungsprotokoll

        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Einführung in das Unity SDK
      • Technische Funktionen
      • Anforderungen an die Entwicklungsumgebung
      • PC-Schnellstartanleitung
      • Leitfaden zur Optimierung der Projekteinstellungen
      • Pico 4 Ultra-Entwicklungsanleitung
      • Pico 4 Ultra-PC-Streaming-Anleitung
      • Quest 3-Entwicklungsanleitung
      • Quest 3-PC-Streaming-Anleitung
      • OpenXR-Entwicklungsanleitung
      • Pico 4 Ultra-Business-Streaming-Anleitung
      • Glossar
      • FAQ
      • Kontakt
      • Funktionsentwicklungsleitfaden

        • Entwicklungsanleitung für gemischtes Multi-Szenen-Rendering
        • Entwicklungsanleitung für Schattenempfang
        • Entwicklungsanleitung für Echtzeitbeleuchtung
        • Entwicklungsanleitung für Multi-Kamera-Rendering
        • Entwicklungsanleitung für hochauflösendes Bild-Rendering
        • Entwicklungsanleitung zur Kompatibilität der Datenformate LCC und LCC2
        • Entwicklungsanleitung für Ladeeffekte
        • Entwicklungsanleitung für das Umschalten des Mip-Rendering-Modus
        • Entwicklungsanleitung für Kanten- und Eckensnapping
        • Entwicklungsanleitung für projizierte Decals
        • Entwicklungsanleitung für projizierte Video-Decals
        • Entwicklungsanleitung für Hervorhebung
        • Entwicklungsanleitung für Echtzeit-Clipping
        • Entwicklungsanleitung für Farbanpassung
        • Entwicklungsanleitung für das Abrufen von Szenen-Mesh-Daten
        • Entwicklungsanleitung für den Editor-Modus
        • Konfigurationsanleitung für Render-Leistungsparameter
        • Entwicklungsanleitung zum gemeinsamen Paketieren von Anwendung und Daten
        • Entwicklungsanleitung für das Kollisionssystem
        • Anleitung zu macOS-Berechtigungsproblemen in der Entwicklung
        • Entwicklungsanleitung für Kompilierung und Paketierung auf iOS-Geräten
      • API-Referenz

        • LCCManager
        • Renderer
        • Datentypen
      • Changelog

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

      • Einführung
      • Leitfaden zur Rendering-Leistungsoptimierung
      • Grafikkonfiguration
      • Häufige Fragen
      • API-Referenz

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • Änderungsprotokoll

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0

Entwicklungsanleitung für den Editor-Modus

Das LCC Unity SDK unterstützt das Rendern von Szenen im Editor, d. h. das LCC-Modell kann im Bearbeitungsmodus wie jedes andere GameObject in Unity verschoben, gedreht und skaliert werden. Sie können die 3DGS-Szene in Echtzeit im Fenster Szene anzeigen und anpassen, ohne auf die Schaltfläche Play klicken und in den Play-Modus wechseln zu müssen.

Bei Verwendung der Samples-Szene können Sie das Szenen-Rendering über Bedienung ohne Code abschließen; bei Verwendung benutzerdefinierter Skripte erreichen Sie denselben Effekt über Bedienung über Code.

Hinweis:

Das LCC Unity SDK unterstützt sowohl den vollständigen als auch den chunk-basierten Rendering-Modus. Im Vollständige-Rendering-Modus kann die Szene-Ansicht das gesamte Modell vollständig rendern; im chunk-basierten Rendering-Modus wird das Modell im Fenster Szene möglicherweise nicht vollständig angezeigt, da Position und Ausrichtung von Szene-Kamera und Spiel-Kamera nicht übereinstimmen. In diesem Fall müssen Sie die Szene-Kamera und die Spiel-Kamera synchronisieren.

Bedienung ohne Code

Wenn Sie die Samples-Szene des SDK verwenden und der Datendateipfad (File Path) korrekt eingetragen ist, rendert Unity die Szene nach dem Start automatisch im Editor, wie unten dargestellt.

Die Szene automatisch im Editor rendern

Nach korrektem Eintragen von File Path rendert Unity die Szene beim Start automatisch im Editor

Szene wechseln

Wenn Sie die gerenderte Szene ändern müssen, gehen Sie wie folgt vor:

  1. Wählen Sie im Fenster Hierarchie das GameObject LCCRenderer aus.
  2. Tragen Sie den Datendateipfad der neuen Szene korrekt in File Path im Fenster Inspektor ein.
  3. Klicken Sie auf die drei Punkte (⋮) rechts neben der Komponente LCCRenderer (Script) und wählen Sie im Popup-Menü Render, wie unten dargestellt.
Im Menü der LCCRenderer-Komponente auf Render klicken, um eine neue Szene zu rendern

Im Drei-Punkte-Menü rechts neben der Komponente LCCRenderer (Script) auf Render klicken

Hinweis:

Da das Entladen der ursprünglichen Szenendaten und das Laden der neuen Szenendaten einige Zeit in Anspruch nimmt, warten Sie nach dem Klicken auf Render einen Moment; die neue Szene wird dann fertig geladen.

Szenen-Rendering stoppen

Wenn Sie die Szene im Editor nicht mehr rendern müssen, gehen Sie wie folgt vor, um das Rendering zu stoppen:

  1. Wählen Sie im Fenster Hierarchie das GameObject LCCRenderer aus.
  2. Tragen Sie den Datendateipfad korrekt in File Path im Fenster Inspektor ein.
  3. Klicken Sie auf die drei Punkte (⋮) rechts neben der Komponente LCCRenderer (Script) und wählen Sie im Popup-Menü unRender, wie unten dargestellt. Dies stoppt das aktuelle Szenen-Rendering.
Im Menü der LCCRenderer-Komponente auf unRender klicken, um das Rendering zu stoppen

Im Drei-Punkte-Menü rechts neben der Komponente LCCRenderer (Script) auf unRender klicken

In den Play-Modus wechseln

Wenn Sie in Unity auf die Schaltfläche Play klicken, um in den normalen Play-Modus zu wechseln, wird die Szene im Laufzeit-Zustand erneut gerendert. Da das SDK intern einen Multithreading-Mechanismus verwendet, erzwingt das Wechseln in den Play-Modus das Beenden des Rendering-Threads im Bearbeitungsmodus, was sich als Fehlermeldung in der Konsole zeigt.

Sie können diesen Fehler vollständig ignorieren; er hat keine nachteilige Wirkung und beeinträchtigt den nachfolgenden normalen Betrieb nicht.

Wenn Sie diesen Fehler wirklich nicht sehen möchten, führen Sie vor dem Klicken auf die Play-Schaltfläche den obigen Schritt Szenen-Rendering stoppen (unRender) aus und klicken Sie dann auf Play, um in den Laufzeit-Zustand zu wechseln.

Bedienung über Code

Wenn Sie ein benutzerdefiniertes Skript zum Rendern der Szene verwenden, fügen Sie einfach das Attribut [ExecuteInEditMode] vor Ihrer benutzerdefinierten Rendering-Klasse hinzu, damit das Skript im Editor ausgeführt wird und die Szene dadurch im Bearbeitungsmodus rendert. Für die übrige Betriebslogik verweisen Sie auf das Skript LCCRenderer.cs 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);
        // Editor-Modus aktivieren
        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] Datei-Ladefortschritt: {_progress:P1}");
    }

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

Hinweis:

  • Das Attribut [ExecuteInEditMode] bewirkt, dass Lebenszyklus-Methoden wie Start und Update auch außerhalb des Play-Modus im Editor aufgerufen werden; dies ist der Schlüssel zum Rendering im Editor-Modus.
  • Der Editor-Modus wird nur auf PC/Mac-Plattformen unterstützt.
  • Für den vollständigen Rendering-Workflow (Plattform-Einrichtung, Rendering-Modus, Datenladen) verweisen Sie auf das Skript LCCRenderer.cs in Samples.

Kameras zwischen dem Szene- und dem Spiel-Fenster synchronisieren

Die vom SDK bereitgestellten Samples enthalten das Skript SceneGameCameraSync, das die Kameraoperationen des Fensters Szene mit dem Fenster Spiel synchronisiert, sodass Sie die Ansicht im Editor bedienen und gleichzeitig das Laufzeit-Bild in der Vorschau anzeigen können. Verwendungsschritte:

  1. Hängen Sie das Skript SceneGameCameraSync aus Samples an das Kamera-GameObject (Kamera) in der Szene.
  2. Deaktivieren Sie das Kamera-Bedienungsskript (standardmäßig CameraOperate).
  3. Klicken Sie auf die Schaltfläche Play, um in den Play-Modus zu wechseln.

Zu diesem Zeitpunkt wird die Kamera im Fenster Spiel entsprechend synchronisiert, wenn Sie die Kamera im Fenster Szene bedienen.

Das Skript SceneGameCameraSync an das Kameraobjekt anhängen

Das Skript SceneGameCameraSync an das Kameraobjekt anhängen und das Skript CameraOperate deaktivieren

Hinweis:

Die Kamera-Synchronisierung unterstützt nur das Synchronisieren der Kamera vom Fenster Szene zum Fenster Spiel; sie unterstützt nicht das Synchronisieren von Kameraoperationen vom Fenster Spiel zum Fenster Szene.