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

    • LCC Studio

      • Prise en main
      • Version et mises à jour
      • Téléchargement et installation
      • Aperçu de l’interface et navigation
      • Avant la reconstruction
      • Reconstruction du modèle
      • Reconstruction d’un modèle unique
      • Fusion cartographique
      • Fusion aérienne-terrestre
      • Reconstruction aérienne
      • Mes modèles
      • Autres fonctionnalités
      • Paramètres et compte
      • Convertisseur
      • Reconstruction vidéo
      • Questions fréquentes
    • LCC Scene Editor

      • Version et mises à jour
      • Compte et connexion
      • Présentation du produit et accueil
      • Interface de l’éditeur
      • Modes de navigation de scène
      • Fichier
      • Paramètres
      • Opérations d’édition
      • Fenêtre
      • Barre d’outils globale
      • Ressources et propriétés
      • Barre d’outils gauche
      • Points de vue
      • Portail
      • Skybox
      • Annotations
      • Mesure
      • Parcours
      • Rapport de scène
      • 3D Layout
      • Mini-carte
      • Mode Prévisualisation, Viewer
      • Aide
      • FAQ
      • Point d’apparition
    • LCC Model Editor

      • Version et mises à jour
      • Guide de l’utilisateur
      • Aperçu et interface
      • Opérations sur les fichiers
      • Sélecteurs
      • Modification des modèles
      • Mesure
      • Réglage des couleurs
      • Gestion des ressources
      • Paramètres et aide
      • Questions fréquentes
    • Bonnes Pratiques

      • Fusion de plusieurs modèles 3DGS de grande taille
  • Plugin & SDK

    • Unreal

      • Introduction
      • Démarrage rapide - Windows
      • Démarrage rapide - Linux
      • Démarrage rapide - Quest3
      • Éditions et licences
      • Rendu
      • Rastérisation Tiled (expérimental)
      • Réglages visuels
      • Normales et éclairage
      • Édition de scène
      • Paramètres de performance
      • Guide d'optimisation des performances
      • Intégration avec les plugins tiers et moteur
      • Maillage proxy
      • Animation de chargement
      • Collision
      • Prise en charge du système de navigation
      • Prise en charge de l'eau à couche unique
      • Localisation
      • Questions fréquentes
      • Dépannage
      • Journaux et diagnostics
      • Nous contacter
      • Bonnes pratiques

        • Rééclairer un 3DGS avec un maillage LixelStudio
      • Référence API

        • ALCCActorBase
        • ULCCComponentBase
        • ULCCComponent
        • ULCC2Component
        • Actors SOG / SPZ / PLY
        • ALCC2ProxyMesh
        • ALCCClippingVolume
        • ALCCSectionPlane
        • ALCCLoadVolume
        • ULCCUtilLibrary
        • Enums
        • Structs
      • Journal des modifications

        • 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

      • Introduction au SDK Unity
      • Fonctionnalités techniques
      • Exigences de l'environnement de développement
      • Guide de démarrage rapide PC
      • Guide d'optimisation des paramètres de projet
      • Guide de développement Pico 4 Ultra
      • Guide de streaming PC du Pico 4 Ultra
      • Guide de développement Quest 3
      • Guide de streaming PC du Quest 3
      • Guide de développement OpenXR
      • Guide Business Streaming du Pico 4 Ultra
      • Glossaire
      • FAQ
      • Nous contacter
      • Guide de développement des fonctionnalités

        • Guide de développement du rendu mixte multi-scènes
        • Guide de développement de la réception des ombres
        • Guide de développement de l'éclairage en temps réel
        • Guide de développement du rendu multi-caméras
        • Guide de développement du rendu d'images haute résolution
        • Guide de développement de la compatibilité des formats de données LCC et LCC2
        • Guide de développement de l'effet de chargement
        • Guide de développement du basculement du mode de rendu Mip
        • Guide de développement de l'accrochage aux arêtes et aux coins
        • Guide de développement du décalque projeté
        • Guide de développement du décalque projeté vidéo
        • Guide de développement du surlignage
        • Guide de développement de la découpe en temps réel
        • Guide de développement du réglage des couleurs
        • Guide de développement de l'obtention des données Mesh de la scène
        • Guide de développement du mode éditeur
        • Guide de configuration des paramètres de performance de rendu
        • Guide de développement du co-packageage de l'application et des données
        • Guide de développement du système de collision
        • Guide des problèmes d'autorisation de développement macOS
        • Guide de développement de la compilation et du packageage sur appareil iOS
      • Référence de l'API

        • LCCManager
        • Renderer
        • Types de données
      • Journal des modifications

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

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 :

  1. Obtenez le chemin d'exécution de l'application via Application.dataPath de Unity.
  2. 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, le m_FilePath spé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.dataPath pointe vers le dossier <AppName>_Data sous 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 utilise Replace('/', '\\') 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

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

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 :

  1. 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.
  2. Dans la barre de menus Unity, sélectionnez Fichier → Paramètres de build → Build pour obtenir l'APK.
  3. Copiez l'APK sur l'appareil mobile et installez-le.
  4. 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.
  5. Créez un dossier LccData sous 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).
  6. 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

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é.