Guide de développement du co-packageage de l'application et des données
Le LCC Unity SDK prend en charge la séparation de l'application des données. Cependant, dans le développement réel d'applications, il est parfois nécessaire de packager et de publier l'application avec les données de scène 3DGS. Ce document présente les approches de co-packageage pour PC et Android.
Chargement dynamique des données à l'exécution sur PC
Le SDK charge les données à l'exécution via la méthode Load() ; le chemin spécifié doit être un chemin absolu, par exemple G:\Data\xxx.lcc2.
Pour distribuer l'application et les données ensemble, vous pouvez concaténer le chemin d'exécution de l'application avec le chemin relatif des données de scène LCC en un chemin absolu, comme suit :
- Obtenez le chemin d'exécution de l'application via
Application.dataPathde Unity. - Concaténez le chemin relatif des données avec le chemin d'exécution pour former le chemin absolu des données de scène 3DGS.
L'exemple de code est le suivant :
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"; // Concaténer le chemin relatif du fichier LCC
m_FilePath = _dataPath2.Replace('/', '\\');
#endif
m_renderer.Load(m_FilePath, onLoadProgress, onLoadCallback);
}
}
Remarque :
- La concaténation de chemin ci-dessus est enveloppée avec
#if !UNITY_EDITOR: dans l'état éditeur de Unity, lem_FilePathspécifié dans l'Inspecteur (données de développement local) est utilisé directement ; ce n'est que dans l'exécution publiée que le chemin relatif sous le répertoire d'exécution de l'application est concaténé.- Dans un build PC,
Application.dataPathpointe vers le dossier<AppName>_Datasous le répertoire de l'application, donc le chemin relatif des données doit correspondre à l'emplacement où les données seront copiées plus tard.- Les chemins Windows utilisent des barres obliques inversées
\; l'exemple utiliseReplace('/', '\\')pour les convertir.
Copier les données de scène LCC vers un répertoire spécifié
Après avoir compilé le projet Unity normalement et compilé/publié l'application, la structure du répertoire de l'application générée est illustrée ci-dessous.

Structure du répertoire de l'application générée après compilation et publication Unity
Selon le chemin relatif LCC data/meta.lcc2 dans le code, vous devez copier les données de scène LCC vers l'emplacement correspondant sous le répertoire généré de l'application, comme illustré ci-dessous.

Copier les données de scène LCC vers le répertoire de l'application selon le chemin relatif
Packager le répertoire entier
Packagez le répertoire entier de l'application (compression Zip) et distribuez-le aux utilisateurs qui en ont besoin. Après que l'utilisateur l'a extrait et exécuté le Viewer, les données de scène du répertoire spécifié peuvent être chargées.
Flux de travail de packageage Android
Android utilise la même approche que PC, mais le chemin des données nécessite une petite modification : utilisez Application.persistentDataPath comme répertoire racine des données.
Modifiez le script de rendu pour concaténer le chemin des données avec persistentDataPath. Notez que le type de plateforme est défini séparément via SetPlatformType() (avant GetRender()), et que Load() ne reçoit que le chemin et les callbacks :
void Start()
{
// Le type de plateforme doit être défini avant GetRender()
m_manager.SetPlatformType(PlatformType.Pico);
m_renderer = m_manager.GetRender(this.transform);
m_renderer.Load(
$"{Application.persistentDataPath}/LccData/meta.lcc2",
onLoadProgress,
onLoadCallback);
}
Étapes de packageage et de déploiement :
- Enregistrez le code, et connectez l'appareil mobile à l'ordinateur où se trouve le projet Unity à l'aide d'un câble USB 3.0.
- Dans la barre de menus Unity, sélectionnez Fichier → Paramètres de build → Build pour obtenir l'APK.
- Copiez l'APK sur l'appareil mobile et installez-le.
- Après l'installation, ouvrez d'abord l'application une fois pour que le système crée le répertoire du nom de package correspondant, puis fermez l'application.
- Créez un dossier
LccDatasous le répertoire du nom de package correspondant, et copiez les données LCC dans ce dossier (le chemin est généralement Stockage de l'appareil Android → Android → data → app BundleID → Files ; reportez-vous au chemin d'installation de l'application Android pour le répertoire spécifique). - Ouvrez à nouveau l'application, et le contenu LCC sera présenté sur le téléphone ou l'appareil VR.

Créer un dossier LccData sous le répertoire du nom de package de l'application Android et y copier les données LCC
Remarques
- iOS ne prend pas en charge l'approche de chargement dynamique de répertoire local ci-dessus. iOS ne permet pas à une application de lire tous les fichiers sous un dossier spécifié ; elle ne peut lire qu'un seul fichier spécifié.
- Sur mobile et VR, il est recommandé de placer les données sur un serveur et de tirer les données depuis le serveur à l'exécution, plutôt que de packager directement les données dans le package d'application APK — ce dernier rend le package d'application très volumineux et gonflé.