XGRIDSDocumentación
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • 简体中文
  • English
  • 繁體中文
  • 日本語
  • Deutsch
  • Español
  • Italiano
  • Français
  • Русский
  • Polski
  • Nederlands
  • Serie Lixel PortalCam

    • PortalCam P1

      • Descripción del producto
      • Operaciones básicas
      • Uso de la LCC Scan App
      • Mantenimiento y cuidado
      • FAQ
  • Serie Lixel K

    • Lixel K1

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión del dispositivo
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Fusión de mapas
      • Recomendaciones de planificación de rutas para escenas típicas
      • Precauciones
      • FAQ
    • Lixel K2

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Fusión de mapas
      • Recomendaciones de planificación de rutas para escenas típicas
      • Precauciones
      • FAQ
  • Serie Lixel L

    • Lixel L2 Pro

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión del dispositivo
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Punto de medición
      • Apéndice
      • FAQ
    • Lixel L3

      • Descripción del producto
      • Operaciones básicas
      • Activación y conexión del dispositivo
      • Flujo de escaneo
      • Obtener nube de puntos con coordenadas absolutas
      • Apéndice
  • Accesorios

    • Stick Light

      • Guía de instalación
      • Operaciones básicas
      • Preguntas frecuentes
  • Lixel Studio

    • Versión y derechos de autor
    • Instalación y activación
    • Interfaz del software
    • Operaciones de archivo
    • Procesamiento de proyectos
    • Herramientas
    • Dibujo 2D
    • Aplicaciones
    • Ajustes
    • Conexión de dispositivo
    • Preguntas Frecuentes
  • Lixel CyberColor

    • LCC Studio

      • Primeros pasos
      • Versión y actualizaciones
      • Descarga e instalación
      • Descripción general de la interfaz y navegación
      • Antes de la reconstrucción
      • Reconstrucción de modelos
      • Reconstrucción de modelo único
      • Fusión de mapas
      • Fusión aire-tierra
      • Reconstrucción aérea
      • Mis modelos
      • Otras funciones
      • Ajustes y cuenta
      • Converter
      • Reconstrucción por vídeo
      • Preguntas frecuentes
    • LCC Scene Editor

      • Versión y actualizaciones
      • Cuenta e inicio de sesión
      • Descripción general del producto y página de inicio
      • Interfaz del editor
      • Modos de navegación
      • Archivo
      • Configuración
      • Editar
      • Ventana
      • Barra de herramientas global
      • Activos y propiedades
      • Barra de herramientas izquierda
      • Puntos de vista
      • Portal
      • Skybox
      • Anotaciones
      • Medición
      • Flythrough
      • Informe de escena
      • 3D Layout
      • Minimapa
      • Modo Vista previa (Viewer)
      • Ayuda
      • Preguntas frecuentes (FAQ)
      • Punto de inicio
    • LCC Model Editor

      • Versión y actualizaciones
      • Guía del usuario
      • Visión general e interfaz
      • Operaciones de archivo
      • Selectores
      • Edición de modelos
      • Medición
      • Corrección de color
      • Gestión de activos
      • Configuración y ayuda
      • Preguntas frecuentes
    • Capture Guide

      • Descripción general
      • Descripción general de los dispositivos de captura
      • Principios generales de captura
      • Captura de escenas interiores
      • Captura de escenas exteriores
      • Captura a gran escala (Map Fusion)
      • Captura con aerial-ground map fusion
      • Captura de objetos
      • Captura de personas
      • Captura para reconstrucción a partir de vídeo
      • HD Enhancement
      • Puntos de control (Lixel P1)
      • Preguntas frecuentes y resolución de problemas
    • Buenas Prácticas

      • Fusión de varios modelos 3DGS de gran tamaño
    • Historial de versiones
  • Plugins y SDK

    • Unreal

      • Introducción
      • Inicio rápido - Windows
      • Inicio rápido - Linux
      • Inicio rápido - Quest3
      • Ediciones y licencias
      • Renderizado
      • Rasterización Tiled (experimental)
      • Ajustes visuales
      • Normales e iluminación
      • Edición de escenas
      • Parámetros de rendimiento
      • Guía de rendimiento
      • Integración con plugins de terceros y del motor
      • Proxy Mesh
      • Animación de carga
      • Colisión
      • Compatibilidad con Navigation System
      • Compatibilidad con Single Layer Water
      • Localización
      • Preguntas frecuentes
      • Resolución de problemas
      • Logs y diagnóstico
      • Contacto
      • Buenas prácticas

        • Reiluminar 3DGS con una malla de LixelStudio
      • Referencia de API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actors SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enumeraciones
        • Structs
      • Registro de cambios

        • v3.4.0
        • v3.3.1
        • v3.0.0
        • v2.2.1
        • v1.0.0
        • v0.9.0
        • v0.8.0
        • v0.7.1
        • v0.6.1
        • v0.5.2
        • v0.4.1
        • v0.4.0
        • v0.3.0
        • v0.0.5
        • v0.0.4
        • v0.0.3
        • v0.0.2
        • v0.0.1
    • Unity

      • Introducción al SDK de Unity
      • Funciones técnicas
      • Requisitos del entorno de desarrollo
      • Guía de inicio rápido para PC
      • Guía de optimización de ajustes del proyecto
      • Guía de desarrollo para Pico 4 Ultra
      • Guía de streaming desde PC para Pico 4 Ultra
      • Guía de desarrollo para Quest 3
      • Guía de streaming desde PC para Quest 3
      • Guía de desarrollo con OpenXR
      • Guía de Business Streaming para Pico 4 Ultra
      • Glosario
      • Preguntas frecuentes
      • Contáctanos
      • Guía de desarrollo de funciones

        • Guía de desarrollo de renderizado mixto de varias escenas
        • Guía de desarrollo de recepción de sombras
        • Guía de desarrollo de iluminación en tiempo real
        • Guía de desarrollo de renderizado multicámara
        • Guía de desarrollo de renderizado de imágenes de alta resolución
        • Guía de desarrollo de compatibilidad de formatos de datos LCC y LCC2
        • Guía de desarrollo del efecto de carga
        • Guía de desarrollo de cambio de modo de renderizado Mip
        • Guía de desarrollo de ajuste a bordes y esquinas
        • Guía de desarrollo de decal proyectado
        • Guía de desarrollo de decal proyectado de vídeo
        • Guía de desarrollo de resaltado
        • Guía de desarrollo de recorte en tiempo real
        • Guía de desarrollo de ajuste de color
        • Guía de desarrollo para obtener los datos de malla de la escena
        • Guía de desarrollo del modo Editor
        • Guía de configuración de parámetros de rendimiento de renderizado
        • Guía de desarrollo de co-empaquetado de aplicación y datos
        • Guía de desarrollo del sistema de colisiones
        • Guía de problemas de permisos de desarrollo en macOS
        • Guía de desarrollo de compilación y empaquetado para dispositivos iOS
      • Referencia de API

        • LCCManager
        • Renderer
        • Tipos de datos
      • Registro de cambios

        • v2.3.0
        • v2.2.10
        • v2.2.0
        • v2.1.19
        • v2.0.14
    • Web

      • Introducción
      • Guía de optimización del rendimiento de renderizado
      • Configuración de gráficos
      • Preguntas frecuentes
      • Referencia de API

        • LCCRender::clearIndexDB
        • LCCRender::dispose
        • LCCRender::load
        • LCCRender::setCamera
        • LCCRender::unload
        • LCCRender::update
        • LCCObject::checkRenderNextFrame
        • LCCObject::clearRenderNextFrame
        • LCCObject::ecef2Prj
        • LCCObject::getBounds
        • LCCObject::getEnvInstancedMesh
        • LCCObject::getInstancedMesh
        • LCCObject::getLodInfos
        • LCCObject::getOriginPosition
        • LCCObject::getProjectionCoordinateSystemInfos
        • LCCObject::hasCollision
        • LCCObject::hasEnvironment
        • LCCObject::hasShcoef
        • LCCObject::intersectsCapsule
        • LCCObject::intersectsRayExt
        • LCCObject::intersectsRayFromOriginExt
        • LCCObject::intersectsSphere
        • LCCObject::lowerToBottom
        • LCCObject::prj2Ecef
        • LCCObject::raiseToTop
        • LCCObject::raycast
        • LCCObject::raycastFromOrigin
        • LCCObject::setAlpha
        • LCCObject::setClipBox
        • LCCObject::setClipPlane
        • LCCObject::setEndLod
        • LCCObject::setLodAutoLevelUp
        • LCCObject::setMaxDistance
        • LCCObject::setMaxNodeSplats
        • LCCObject::setMaxSplats
        • LCCObject::setOriginPosition
        • LCCObject::setPointsColor
        • LCCObject::setRenderState
        • LCCObject::setRotation
        • LCCObject::setScale
        • LCCObject::setSemantic
        • LCCObject::setSemanticColor
        • LCCObject::setSmooth
        • LCCObject::setStartLod
        • LCCObject::setTranslation
        • LCCObject::setVisible
        • LCCObject::togglePointsDisplayMode
        • LCCObject::useEnvironment
        • LCCObject::useShcoef
      • Registro de cambios

        • v0.6.3
        • v0.6.2
        • v0.6.1
        • v0.6.0
        • v0.5.5
        • v0.5.4
        • v0.5.3
        • v0.5.2
        • v0.5.1
        • v0.5.0
        • v0.4.1
        • v0.4.0
        • v0.3.1
        • v0.3.0
        • v0.2.0

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.

Renderizar automáticamente la escena en el Editor

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:

  1. Selecciona el GameObject LCCRenderer en la ventana Jerarquía.
  2. Rellena correctamente la nueva ruta de datos de la escena en File Path en la ventana Inspector.
  3. 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ú del componente LCCRenderer para renderizar una nueva escena

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:

  1. Selecciona el GameObject LCCRenderer en la ventana Jerarquía.
  2. Rellena correctamente la ruta de datos en File Path en la ventana Inspector.
  3. 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ú del componente LCCRenderer para detener el renderizado

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 como Start y Update se 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.cs en 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:

  1. Adjunta el script SceneGameCameraSync de Samples al GameObject de cámara (Camera) en la escena.
  2. Desactiva el script de operación de cámara (por defecto CameraOperate).
  3. 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

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.