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
  • 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

Tipos de datos: Enums y Structs

Los enums y structs expuestos por el LCC Unity SDK, usados por los métodos de LCCManager y Renderer.

Enums

PlatformType

Plataforma de ejecución de destino. Usada por SetPlatformType().

public enum PlatformType { PC, Mac, Android, iOS, Pico, Quest, AVP, PicoSwan, OpenXR, PCVR }

ActiveRenderMode

Modo de arquitectura de renderizado global. Usado por SwitchRenderPass().

public enum ActiveRenderMode { MultiRender, SingleRender }
ValorDescripción
MultiRenderUsa un búfer de GPU compartido y puede renderizar hasta 255 Renderers simultáneamente
SingleRenderEl SDK selecciona automáticamente la ruta de renderizado según el tamaño de los datos

Aplicable solo a plataformas PC / Mac; las plataformas móviles / VR adoptan automáticamente una estrategia adaptativa, y se rechaza la llamada a SwitchRenderPass().

SourceType

Tipo de fuente de datos. Devuelto por Renderer.GetSourceType().

public enum SourceType { LCC, PLY, SPLAT, TYY, None, SOG, SPZ, KSPLAT }

DataType

Tipo de formato de datos. Devuelto por Renderer.GetDataType().

public enum DataType { L1, L2, L2Pro, K1, K2, Drone, Drone_L2, PortalCam, None }

MipMode

Modo de renderizado Mip. Usado por SetMipMode().

public enum MipMode { Mip, Non_Mip }
ValorDescripción
MipUsa muestreo de mipmap (por defecto)
Non_MipDesactiva el mipmap, con detalles de renderizado más finos pero mayor coste de rendimiento

SnapType

Tipo de ajuste. Usado por HitResult.snapType y SnapPreviewState.snapType.

public enum SnapType { None, Edge, Corner }

SelectionMode

Estrategia de selección de nodos. Usada por SetSelectionMode().

public enum SelectionMode { Auto, Normal, Large }
ValorDescripción
AutoSe decide automáticamente según la caja delimitadora general de la escena (por defecto)
NormalAdecuado para escenas pequeñas y medianas
LargeAdecuado para escenas muy grandes (más de 1000 metros)

RenderMode

Modo de renderizado de nube de puntos / 3DGS. Usado por SwitchRenderMode().

public enum RenderMode { PointCloud, LCCGS }
ValorDescripción
PointCloudRenderizado de nube de puntos
LCCGSRenderizado 3DGS

SelectMode

Modo de toma/exclusión de selección. Usado por datos de selección como Data2D y Data3D.

public enum SelectMode { normal, invert, clip }

OperationMode

Modo de operación booleana de varias geometrías. Usado por datos de selección como Data3D y DataMix.

public enum OperationMode { normal = 0, erase = 1 }
ValorDescripción
normalUnión
eraseSustracción

EditType

Tipo de entrada en una selección mixta. Usado por DataMix y ToneMix.

public enum EditType { Edit2D, Edit3D }

ShapeType

Tipo de geometría de recorte / resaltado 3D. Usado por Data3D, DataMix y ToneMix.

public enum ShapeType { box, sphere }

Structs

HitResult

Resultado del impacto del raycast. Devuelto por Raycast(), RaycastMesh() y RaycastWithSnap().

public struct HitResult {
    public bool isHit;             // Si hubo impacto
    public float distance;         // Distancia
    public Vector3 hitPos;         // Punto de impacto en coordenadas de mundo
    public Vector3 normal;         // Normal del impacto
    public float hitAlpha;         // Alfa del elipsoide impactado
    public float dist2Origin;      // Distancia al origen del rayo
    public float scale;            // Escala del elipsoide
    public SnapType snapType;      // Tipo de ajuste (None / Edge / Corner)
    public Vector3 originalHitPos; // Punto de impacto original antes del ajuste
}

El campo de coordenadas de mundo del punto de impacto se llama hitPos.

SnapPreviewState

Estado de la previsualización de ajuste. Devuelto por GetSnapPreviewState().

public struct SnapPreviewState {
    public bool hasTarget;          // Si hay un objetivo de ajuste
    public SnapType snapType;       // None / Edge / Corner
    public Vector2 screenPos;       // Coordenadas de pantalla del objetivo de ajuste
    public float distanceToMouse;   // Distancia en píxeles a la posición del ratón
}

screenPos está en coordenadas de pantalla (píxeles), no en coordenadas de mundo. Cuando se necesitan coordenadas de mundo, usa RaycastWithSnap() para obtener HitResult.hitPos.

Data2D

Selección por proyección de textura 2D. Usada para el recorte / resaltado por textura 2D.

public struct Data2D {
    public Texture2D texture;  // Textura de máscara R8 1024x1024
    public Matrix4x4 mv;       // Matriz ModelView
    public Matrix4x4 mvp;      // Matriz ModelViewProjection
    public SelectMode mode;    // normal / invert
}

Data3D

Selección por geometría 3D. Usada para el recorte / resaltado por geometría 3D.

public struct Data3D {
    public ShapeType type;          // box / sphere
    public Matrix4x4 invMat;        // Matriz de transformación inversa de la geometría
    public OperationMode operation; // normal=unión, erase=sustracción
    public SelectMode mode;         // normal / invert / clip
}

DataMix

Selección mixta 2D + 3D. Usada para el recorte / resaltado en modo mixto.

public struct DataMix {
    public EditType editType;       // Edit2D / Edit3D
    public ShapeType type;          // Tipo de geometría 3D
    public Matrix4x4 invMat;        // Matriz de transformación inversa 3D
    public Texture2D texture;       // Textura de máscara 2D
    public Matrix4x4 mv;            // ModelView 2D
    public Matrix4x4 mvp;           // MVP 2D
    public OperationMode operation;
    public SelectMode mode;
}

ToneMix

Selección de tono, que añade parámetros de tono sobre DataMix. Usada por SetTone().

public struct ToneMix {
    public EditType editType;       // Edit2D / Edit3D
    public ShapeType type;          // Tipo de geometría 3D
    public Matrix4x4 invMat;        // Matriz de transformación inversa 3D
    public Texture2D texture;       // Textura de máscara 2D
    public Matrix4x4 mv;            // ModelView 2D
    public Matrix4x4 mvp;           // MVP 2D
    public OperationMode operation;
    public SelectMode mode;
    public float brightness;        // Brillo (por defecto 1.0)
    public float saturation;        // Saturación (por defecto 1.0)
    public float contrast;          // Contraste (por defecto 1.0)
    public int lutid;               // Índice del filtro LUT (0 = no usado)
}

PointLightData

Datos personalizados de luz puntual / foco. Usados por SetLights().

public struct PointLightData {
    public float3 position;    // Coordenadas de mundo
    public int lightType;      // 0=luz puntual, 1=foco
    public float3 color;       // Color RGB (sin componente alfa)
    public float intensity;    // Intensidad de la luz
    public float3 direction;   // Dirección del foco (ignorada para luz puntual)
    public float range;        // Alcance de la luz
    public float spotAngle;    // Ángulo del cono del foco (grados, ignorado para luz puntual)
    public float3 pad;         // Relleno de alineación, no requiere asignación
}

El tipo del campo es Unity.Mathematics.float3, no Vector4; color no tiene componente alfa. Cuando lightType es 0 es una luz puntual (direction / spotAngle se ignoran), y cuando es 1 es un foco.

DecalOcclusionSettings

Parámetros de calidad del culling por oclusión del decal. Usados por SetDecalOcclusionSettings().

public struct DecalOcclusionSettings {
    public float opacityCutoff;   // Opacidad mínima en [0,1] para que un splat participe en el mapa de profundidad, por defecto 0 (todos participan)
    public float depthBias;       // Relación de tolerancia de profundidad relativa, por defecto 0.05
    public int   footprintMaxPx;  // Radio máximo de huella cuadrada (px), 0~16, por defecto 2
    public int   resolution;      // Resolución del mapa de profundidad (px, potencia de 2, 256~4096), por defecto 1024

    public static DecalOcclusionSettings Default { get; } // cutoff=0, bias=0.05, footprint=2, resolution=1024
}
CampoDescripción
opacityCutoffSolo los splats con opacidad ≥ este valor participan en el mapa de profundidad, lo que puede filtrar splats flotantes / nebulosos. Por defecto 0 (todos participan).
depthBiasRelación de tolerancia de profundidad relativa que absorbe el grosor de la superficie de la nube de puntos proporcionalmente a la distancia. Por defecto 0.05. Demasiado pequeño causa ruido de autooclusión; demasiado grande omite oclusiones.
footprintMaxPxRadio máximo conservador de huella cuadrada (en píxeles), usado para cubrir el vecindario y evitar fugas de penetración. 0 es un solo texel, rango 0~16, por defecto 2. Demasiado grande causa expansión del contorno y sobre-oclusión.
resolutionResolución del mapa de profundidad (píxeles, potencia de 2, 256~4096). Bajarla rellena huecos dispersos a costa de límites de oclusión ligeramente más rugosos. Por defecto 1024.

SplatMeta

Metadatos de los datos 3DGS. Producidos por Renderer.GetMeta(), que contienen metadatos como la fuente de datos (source) y el formato de datos (dataType), y pueden leerse sin cargar completamente los datos.

LCCMeshBlockInfo

Metadatos de bloque de malla de colisión. Devueltos por Renderer.GetMeshBlockInfos().

public struct LCCMeshBlockInfo {
    public string id;           // Id del nodo, correspondiente a LCCMeshBlock.id
    public Bounds boundsWorld;  // AABB en espacio de mundo, usado para seleccionar ids
    public Bounds boundsLocal;  // AABB en espacio local
    public int vertexCount;     // Recuento de vértices
    public int faceCount;       // Recuento de caras
}
CampoTipoDescripción
idstringId del nodo, correspondiente a LCCMeshBlock.id
boundsWorldBoundsAABB en espacio de mundo, usado para seleccionar ids
boundsLocalBoundsAABB en espacio local
vertexCountintRecuento de vértices
faceCountintRecuento de caras

LCCMeshBlock

Datos de geometría de bloque de malla de colisión. Devueltos por Renderer.GetMeshes().

public struct LCCMeshBlock {
    public string id;           // Id del nodo
    public Vector3[] vertices;  // Vértices, en coordenadas locales
    public int[] triangles;     // Índices de triángulos, tres por grupo
    public Bounds boundsLocal;  // Caja delimitadora en el mismo espacio que los vértices
}
CampoTipoDescripción
idstringId del nodo
verticesVector3[]Matriz de vértices, en el sistema de coordenadas local del objeto
trianglesint[]Índices de triángulos, tres por grupo
boundsLocalBoundsCaja delimitadora en el mismo espacio que los vértices

vertices / boundsLocal están ambos en el sistema de coordenadas local del objeto; colocar el GameObject que lleva la Mesh bajo Renderer.Transform los alinea automáticamente. Un solo bloque puede tener más de 65535 vértices, por lo que mesh.indexFormat = IndexFormat.UInt32 debe establecerse antes de construir la Mesh.