Guía de desarrollo del modo Editor
El LCC Unity SDK admite el renderizado de escenas en el Editor, lo que significa que el modelo LCC puede trasladarse, rotarse y escalarse en modo de edición como cualquier otro GameObject en Unity. Puedes ver y ajustar la escena 3DGS en la ventana Scene en tiempo real sin hacer clic en el botón Play para entrar en el modo Play.
Al usar la escena de Samples, puedes completar el renderizado de la escena mediante operaciones sin código; al usar scripts personalizados, puedes lograr el mismo efecto mediante operaciones con código.
Nota:
El LCC Unity SDK admite los modos de renderizado completo y por fragmentos. En el modo de renderizado completo, la vista Scene puede renderizar el modelo completo por completo; en el modo de renderizado por fragmentos, debido a que las posiciones y orientaciones de la Scene Camera y la Game Camera no son consistentes, el modelo puede no mostrarse por completo en la ventana Scene. En este caso, necesitas sincronizar la Scene Camera y la Game Camera.
Operaciones sin código
Al usar la escena de Samples del SDK, si la ruta del archivo de datos (File Path) se rellena correctamente, Unity renderizará automáticamente la escena en el Editor después del inicio, como se muestra a continuación.

Tras rellenar File Path correctamente, Unity renderiza la escena automáticamente en el Editor al iniciarse
Cambiar de escena
Cuando necesites modificar la escena renderizada, sigue estos pasos:
- Selecciona el GameObject LCCRenderer en la ventana Jerarquía.
- Rellena correctamente la nueva ruta de datos de la escena en File Path en la ventana Inspector.
- Haz clic en los tres puntos (⋮) a la derecha del componente LCCRenderer (Script) y elige Render en el menú emergente, como se muestra a continuación.

Hacer clic en Render en el menú de tres puntos a la derecha del componente LCCRenderer (Script)
Nota:
Dado que descargar los datos de la escena original y cargar los datos de la nueva escena lleva algo de tiempo, espera un momento después de hacer clic en Render; la nueva escena terminará de cargarse.
Detener el renderizado de la escena
Cuando ya no necesites renderizar la escena en el Editor, sigue estos pasos para detener el renderizado:
- Selecciona el GameObject LCCRenderer en la ventana Jerarquía.
- Rellena correctamente la ruta de datos en File Path en la ventana Inspector.
- Haz clic en los tres puntos (⋮) a la derecha del componente LCCRenderer (Script) y elige unRender en el menú emergente, como se muestra a continuación. Esto detiene el renderizado de la escena actual.

Hacer clic en unRender en el menú de tres puntos a la derecha del componente LCCRenderer (Script)
Entrar en el modo Play
Cuando haces clic en el botón Play de Unity para entrar en el modo Play normal, la escena se volverá a renderizar en el estado de tiempo de ejecución. Debido a que el SDK usa un mecanismo de subprocesamiento múltiple internamente, entrar en el modo Play fuerza la salida del hilo de renderizado en modo de edición, lo que se muestra como un mensaje de error impreso en la Console.
Puedes ignorar por completo este error; no tiene ningún efecto adverso y no afecta a la operación normal posterior.
Si realmente no quieres ver este error, puedes realizar el paso Detener el renderizado de la escena (unRender) anterior antes de hacer clic en el botón Play, y luego hacer clic en el botón Play para entrar en el estado de tiempo de ejecución.
Operaciones con código
Si usas un script personalizado para renderizar la escena, simplemente añade el atributo [ExecuteInEditMode] antes de tu clase de renderizado personalizada para que el script se ejecute en el Editor, renderizando así la escena en modo de edición. Para otra lógica de operación, consulta el script LCCRenderer.cs en 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);
// Habilita el modo editor
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] progreso de carga del archivo: {_progress:P1}");
}
private void onComplete()
{
Debug.Log($"[MyLCCRenderer] archivo cargado");
}
}
Nota:
- El atributo
[ExecuteInEditMode]hace que métodos del ciclo de vida comoStartyUpdatese llamen en el Editor incluso fuera del modo Play; esta es la clave del renderizado en modo Editor.- El modo Editor solo es compatible con plataformas PC/Mac.
- Para el flujo de trabajo de renderizado completo (configuración de plataforma, modo de renderizado, carga de datos), consulta el script
LCCRenderer.csen Samples.
Sincronizar cámaras entre las ventanas Scene y Game
Las Samples proporcionadas por el SDK incluyen el script SceneGameCameraSync, que sincroniza las operaciones de cámara de la ventana Scene con la ventana Game, permitiéndote operar la vista en el Editor mientras previsualizas la imagen de tiempo de ejecución. Pasos de uso:
- Adjunta el script
SceneGameCameraSyncde Samples al GameObject de cámara (Camera) en la escena. - Desactiva el script de operación de cámara (por defecto
CameraOperate). - Haz clic en el botón Play para entrar en el modo Play.
En este punto, operar la cámara en la ventana Scene sincronizará la cámara en la ventana Game en consecuencia.

Adjuntar el script SceneGameCameraSync al objeto de cámara y desactivar el script CameraOperate
Nota:
La sincronización de cámaras solo admite sincronizar la cámara de la ventana Scene con la ventana Game; no admite sincronizar operaciones de cámara de la ventana Game con la ventana Scene.