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.

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:
- Wählen Sie im Fenster Hierarchie das GameObject LCCRenderer aus.
- Tragen Sie den Datendateipfad der neuen Szene korrekt in File Path im Fenster Inspektor ein.
- Klicken Sie auf die drei Punkte (⋮) rechts neben der Komponente LCCRenderer (Script) und wählen Sie im Popup-Menü Render, wie unten dargestellt.

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:
- Wählen Sie im Fenster Hierarchie das GameObject LCCRenderer aus.
- Tragen Sie den Datendateipfad korrekt in File Path im Fenster Inspektor ein.
- 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 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 wieStartundUpdateauch 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.csin 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:
- Hängen Sie das Skript
SceneGameCameraSyncaus Samples an das Kamera-GameObject (Kamera) in der Szene. - Deaktivieren Sie das Kamera-Bedienungsskript (standardmäßig
CameraOperate). - 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 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.