Guía de desarrollo de co-empaquetado de aplicación y datos
El LCC Unity SDK admite separar la aplicación de los datos. Sin embargo, en el desarrollo real de aplicaciones, a veces necesitas empaquetar y publicar la aplicación junto con los datos de la escena 3DGS. Este documento presenta los enfoques de co-empaquetado para PC y Android.
Carga dinámica de datos en tiempo de ejecución en PC
El SDK carga datos en tiempo de ejecución mediante el método Load(); la ruta especificada debe ser una ruta absoluta, por ejemplo G:\Data\xxx.lcc2.
Para distribuir la aplicación y los datos juntos, puedes concatenar la ruta de ejecución de la aplicación con la ruta relativa de los datos de la escena LCC en una ruta absoluta, de la siguiente manera:
- Obtén la ruta de ejecución de la aplicación mediante
Application.dataPathde Unity. - Concatena la ruta relativa de los datos con la ruta de ejecución en la ruta absoluta de los datos de la escena 3DGS.
El ejemplo de código es el siguiente:
using UnityEngine;
using LCCCore;
using XGrids.LCC;
public class LCCRenderer : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath;
private LCCCore.Renderer m_renderer;
void Start()
{
m_renderer = m_manager.GetRender(this.transform);
#if !UNITY_EDITOR
string _dataPath = Application.dataPath;
string _dataPath2 = _dataPath + "/data/meta.lcc2"; // Concatena la ruta relativa del archivo LCC
m_FilePath = _dataPath2.Replace('/', '\\');
#endif
m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback);
}
}
Nota:
- La concatenación de ruta anterior está envuelta con
#if !UNITY_EDITOR: en el estado del Editor de Unity, se usa directamente elm_FilePathespecificado en el Inspector (datos de desarrollo local); solo en el tiempo de ejecución publicado se concatena la ruta relativa bajo el directorio de ejecución de la aplicación.- En una compilación de PC,
Application.dataPathapunta a la carpeta<AppName>_Databajo el directorio de la aplicación, por lo que la ruta relativa de los datos debe coincidir con la ubicación donde se copiarán los datos más tarde.- Las rutas de Windows usan barras invertidas
\; el ejemplo usaReplace('/', '\\')para convertirlas.
Copiar los datos de la escena LCC a un directorio especificado
Después de compilar el proyecto de Unity con normalidad y compilar/publicar la aplicación, la estructura de directorio de la aplicación generada se muestra a continuación.

Estructura de directorio de la aplicación generada tras la compilación y publicación de Unity
Según la ruta relativa LCC data/meta.lcc2 del código, debes copiar los datos de la escena LCC a la ubicación correspondiente bajo el directorio generado de la aplicación, como se muestra a continuación.

Copiar los datos de la escena LCC al directorio de la aplicación según la ruta relativa
Empaquetar todo el directorio
Empaqueta todo el directorio de la aplicación (compresión Zip) y distribúyelo a los usuarios que lo necesiten. Después de que el usuario lo extraiga y ejecute el Viewer, los datos de la escena del directorio especificado podrán cargarse.
Flujo de trabajo de empaquetado de Android
Android usa el mismo enfoque que PC, pero la ruta de datos necesita una pequeña modificación: usa Application.persistentDataPath como directorio raíz de datos.
Modifica el script de renderizado para concatenar la ruta de datos con persistentDataPath. Ten en cuenta que el tipo de plataforma se establece por separado mediante SetPlatformType() (antes de GetRender()), y Load() solo recibe la ruta y las devoluciones de llamada:
void Start()
{
// El tipo de plataforma debe establecerse antes de GetRender()
m_manager.SetPlatformType(PlatformType.Pico);
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(
$"{Application.persistentDataPath}/LccData/meta.lcc2",
onLoadProgress,
onLoadCallback);
}
Pasos de empaquetado y despliegue:
- Guarda el código y conecta el dispositivo móvil al equipo donde se encuentra el proyecto de Unity usando un cable USB 3.0.
- En la barra de menús de Unity, selecciona Archivo → Build Settings → Build para obtener el APK.
- Copia el APK al dispositivo móvil e instálalo.
- Después de la instalación, abre la aplicación una vez primero para que el sistema cree el directorio del nombre del paquete correspondiente, y luego cierra la aplicación.
- Crea una carpeta
LccDatabajo el directorio del nombre del paquete correspondiente y copia los datos LCC en esa carpeta (la ruta es generalmente almacenamiento del dispositivo Android → Android → data → BundleID de la app → Files; consulta la ruta de instalación de aplicaciones Android para el directorio específico). - Abre la aplicación de nuevo y el contenido LCC se presentará en el teléfono o dispositivo VR.

Crear una carpeta LccData bajo el directorio del nombre del paquete de la app Android y copiar los datos LCC
Notas
- iOS no admite el enfoque de carga dinámica de directorio local anterior. iOS no permite que una aplicación lea todos los archivos de una carpeta especificada; solo puede leer un único archivo especificado.
- En móvil y VR, se recomienda colocar los datos en un servidor y extraer los datos del servidor en tiempo de ejecución, en lugar de empaquetar directamente los datos en el paquete de aplicación APK — esto último hace que el paquete de aplicación sea muy grande y voluminoso.