编辑器模式开发指南
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 窗口。