編輯器模式開發指南
LCC Unity SDK 支持在編輯器狀態下渲染場景,即 LCC 模型可以像 Unity 中其他遊戲對象(GameObject)一樣,在編輯狀態下進行平移、旋轉、縮放。你無需點擊 Play 按鈕進入運行模式,就能在 Scene 窗口中實時查看和調整 3DGS 場景。
在使用 Samples 場景時,你可以通過非代碼操作完成場景渲染;在使用自定義腳本時,也可以通過代碼操作實現相同效果。
注意:
LCC Unity SDK 支持全量和分塊渲染兩種模式,在全量渲染模式下,Scene 場景可以完整渲染整個模型;在分塊渲染模式下,由於 Scene Camera 與 Game Camera 位置和朝向並不一致,會導致 Scene 窗口中模型顯示不全,此時需要同步 Scene Camera 和 Game Camera 。
非代碼操作
在使用 SDK Samples 場景時,如果正確填寫了數據文件路徑(File Path),Unity 啟動後會在編輯器狀態下自動渲染場景,如下圖所示。

正確填寫 File Path 後,Unity 啟動即在編輯器狀態下自動渲染場景
切換場景
當需要修改渲染場景時,按以下步驟操作:
- 在 Hierarchy 窗口中選擇 LCCRenderer 遊戲對象。
- 在 Inspector 窗口的 File Path 中正確填寫新場景的數據路徑。
- 在 LCCRenderer (Script) 組件右側的三個點(⋮)處點擊,在彈出的菜單中選擇 Render,如下圖所示。

在 LCCRenderer (Script) 組件右側的三個點菜單中點擊 Render
注意:
由於卸載原場景數據並加載新場景數據需要一些時間,點擊 Render 後請耐心等待一會兒,新的場景即會加載完成。
停止場景渲染
當不需要在編輯器狀態下繼續渲染場景時,按以下步驟停止渲染:
- 在 Hierarchy 窗口中選擇 LCCRenderer 遊戲對象。
- 在 Inspector 窗口的 File Path 中正確填寫數據路徑。
- 在 LCCRenderer (Script) 組件右側的三個點(⋮)處點擊,在彈出的菜單中選擇 unRender,如下圖所示。這將停止當前場景的渲染。

在 LCCRenderer (Script) 組件右側的三個點菜單中點擊 unRender
進入運行模式
當你在 Unity 中點擊 Play 按鈕進入正常運行模式時,場景會以運行時狀態重新渲染。由於 SDK 內部使用了多線程機制,進入運行模式會強制退出編輯狀態下的渲染線程,表現為 Console 控制台打印出一條錯誤信息。
你可以完全忽略這條錯誤,它不會產生任何不利影響,也不會影響後續的正常運行。
如果你確實不希望看到這條錯誤,可以在點擊 Play 按鈕之前,先執行上文的停止場景渲染(unRender),然後再點擊 Play 按鈕進入運行時狀態。
代碼操作
如果你使用自定義腳本來渲染場景,只需在自定義的渲染類前添加 [ExecuteInEditMode] 標籤,即可讓腳本在編輯器狀態下運行,從而在編輯模式渲染場景。其它操作邏輯可參考 Samples 中的 LCCRenderer.cs 腳本。
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);
// 開啟編輯器模式
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] file load progress: {_progress:P1}");
}
private void onComplete()
{
Debug.Log($"[MyLCCRenderer] file loaded");
}
}
注意:
[ExecuteInEditMode]標籤使Start、Update等生命週期方法在編輯器非運行狀態下也會被調用,這是實現編輯器模式渲染的關鍵。- 編輯器模式僅 PC/Mac 平台支持。
- 完整的渲染流程(平台設置、渲染模式、數據加載)請參考 Samples 中的
LCCRenderer.cs腳本。
同步 Scene 與 Game 窗口中的相機
SDK 提供的 Samples 中包含 SceneGameCameraSync 腳本,用於將 Scene 窗口的相機操作同步到 Game 窗口,方便你在編輯器中一邊操作視角一邊預覽運行時畫面。使用步驟如下:
- 將 Samples 中的
SceneGameCameraSync腳本掛載到場景中的相機(Camera)遊戲對象上。 - 禁用相機操作腳本(默認為
CameraOperate)。 - 點擊 Play 按鈕進入運行模式。
此時,操作 Scene 窗口的相機,Game 窗口的相機會隨之同步。

將 SceneGameCameraSync 腳本掛載到相機對象,並禁用 CameraOperate 腳本
注意:
相機同步只支持將 Scene 窗口中的相機同步到 Game 窗口,不支持將 Game 窗口中的相機操作同步到 Scene 窗口。