Руководство по разработке в режиме редактора
LCC Unity SDK поддерживает рендеринг сцен в редакторе, то есть LCC-модель можно перемещать, вращать и масштабировать в режиме редактирования, как любой другой GameObject в Unity. Вы можете просматривать и настраивать сцену 3DGS в окне Scene в реальном времени, не нажимая кнопку Play для входа в режим Play.
При использовании сцены Samples вы можете выполнить рендеринг сцены через операции без кода; при использовании пользовательских скриптов вы можете достичь того же эффекта через операции с кодом.
Примечание:
LCC Unity SDK поддерживает как полный, так и чанковый режимы рендеринга. В режиме полного рендеринга окно Scene может полностью отрендерить всю модель; в режиме чанкового рендеринга, поскольку позиции и ориентации Scene Camera и Game Camera не согласованы, модель может не полностью отображаться в окне Scene. В этом случае необходимо синхронизировать Scene Camera и Game Camera.
Операции без кода
При использовании сцены Samples SDK, если путь к файлу данных (File Path) заполнен правильно, Unity автоматически отрендерит сцену в редакторе после запуска, как показано ниже.

После правильного заполнения File Path Unity автоматически рендерит сцену в редакторе при запуске
Переключение сцены
Когда нужно изменить отрендеренную сцену, выполните следующие шаги:
- Выберите GameObject LCCRenderer в окне Hierarchy.
- Правильно заполните путь к данным новой сцены в File Path в окне Inspector.
- Нажмите три точки (⋮) справа от компонента LCCRenderer (Script) и выберите Render во всплывающем меню, как показано ниже.

Нажмите Render в меню из трёх точек справа от компонента LCCRenderer (Script)
Примечание:
Поскольку выгрузка данных исходной сцены и загрузка данных новой сцены занимают некоторое время, после нажатия Render немного подождите; новая сцена завершит загрузку.
Остановка рендеринга сцены
Когда рендеринг сцены в редакторе больше не нужен, выполните следующие шаги для остановки рендеринга:
- Выберите GameObject LCCRenderer в окне Hierarchy.
- Правильно заполните путь к данным в File Path в окне Inspector.
- Нажмите три точки (⋮) справа от компонента LCCRenderer (Script) и выберите unRender во всплывающем меню, как показано ниже. Это останавливает текущий рендеринг сцены.

Нажмите unRender в меню из трёх точек справа от компонента LCCRenderer (Script)
Вход в режим Play
Когда вы нажимаете кнопку Play в Unity для входа в обычный режим Play, сцена повторно рендерится в состоянии выполнения. Поскольку внутри SDK используется многопоточный механизм, вход в режим Play принудительно завершает поток рендеринга в режиме редактирования, что отображается как сообщение об ошибке в Console.
Вы можете полностью игнорировать эту ошибку; она не оказывает неблагоприятного воздействия и не влияет на последующую нормальную работу.
Если вы действительно не хотите видеть эту ошибку, выполните шаг Остановка рендеринга сцены (unRender) выше перед нажатием кнопки Play, затем нажмите кнопку Play для входа в состояние выполнения.
Операции с кодом
Если вы используете пользовательский скрипт для рендеринга сцены, просто добавьте атрибут [ExecuteInEditMode] перед вашим пользовательским классом рендеринга, чтобы скрипт работал в редакторе, тем самым рендеря сцену в режиме редактирования. По остальной логике операций обратитесь к скрипту LCCRenderer.cs в 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);
// Включаем режим редактора
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] прогресс загрузки файла: {_progress:P1}");
}
private void onComplete()
{
Debug.Log($"[MyLCCRenderer] файл загружен");
}
}
Примечание:
- Атрибут
[ExecuteInEditMode]заставляет методы жизненного цикла, такие какStartиUpdate, вызываться в редакторе даже вне режима Play; это ключ к рендерингу в режиме редактора.- Режим редактора поддерживается только на платформах PC/Mac.
- По полному рабочему процессу рендеринга (настройка платформы, режим рендеринга, загрузка данных) обратитесь к скрипту
LCCRenderer.csв Samples.
Синхронизация камер между окнами Scene и Game
Предоставленные SDK Samples включают скрипт SceneGameCameraSync, который синхронизирует операции камеры окна Scene с окном Game, позволяя управлять видом в редакторе, одновременно предпросматривая изображение во время выполнения. Шаги использования:
- Прикрепите скрипт
SceneGameCameraSyncиз Samples к GameObject камеры (Camera) в сцене. - Отключите скрипт управления камерой (по умолчанию
CameraOperate). - Нажмите кнопку Play для входа в режим Play.
На этом этапе управление камерой в окне Scene будет соответствующим образом синхронизировать камеру в окне Game.

Прикрепите скрипт SceneGameCameraSync к объекту камеры и отключите скрипт CameraOperate
Примечание:
Синхронизация камер поддерживает только синхронизацию камеры из окна Scene в окно Game; она не поддерживает синхронизацию операций камеры из окна Game в окно Scene.