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 mode éditeur

Le LCC Unity SDK prend en charge le rendu de scènes dans l'éditeur, ce qui signifie que le modèle LCC peut être translaté, tourné et mis à l'échelle en mode édition comme tout autre GameObject dans Unity. Vous pouvez visualiser et ajuster la scène 3DGS dans la fenêtre Scène en temps réel sans cliquer sur le bouton Play pour entrer en mode Play.

Lors de l'utilisation de la scène Samples, vous pouvez terminer le rendu de la scène via des opérations sans code ; lors de l'utilisation de scripts personnalisés, vous pouvez obtenir le même effet via des opérations par code.

Remarque :

Le LCC Unity SDK prend en charge à la fois les modes de rendu complet et par blocs. En mode de rendu complet, la vue Scène peut rendre entièrement le modèle complet ; en mode de rendu par blocs, comme les positions et orientations de la caméra de scène et de la caméra de jeu ne sont pas cohérentes, le modèle peut ne pas être entièrement affiché dans la fenêtre Scène. Dans ce cas, vous devez synchroniser la caméra de scène et la caméra de jeu.

Opérations sans code

Lors de l'utilisation de la scène Samples du SDK, si le chemin du fichier de données (File Path) est correctement renseigné, Unity rendra automatiquement la scène dans l'éditeur après le démarrage, comme illustré ci-dessous.

Rendre automatiquement la scène dans l'éditeur

Après avoir correctement renseigné le File Path, Unity rend automatiquement la scène dans l'éditeur au démarrage

Basculer de scène

Lorsque vous devez modifier la scène rendue, suivez ces étapes :

  1. Sélectionnez le GameObject LCCRenderer dans la fenêtre Hiérarchie.
  2. Renseignez correctement le chemin des données de la nouvelle scène dans File Path dans la fenêtre Inspecteur.
  3. Cliquez sur les trois points (⋮) à droite du composant LCCRenderer (Script), et choisissez Render dans le menu contextuel, comme illustré ci-dessous.
Cliquer sur Render dans le menu du composant LCCRenderer pour rendre une nouvelle scène

Cliquer sur Render dans le menu à trois points à droite du composant LCCRenderer (Script)

Remarque :

Comme le déchargement des données de la scène d'origine et le chargement des nouvelles données de scène prennent un certain temps, veuillez patienter un moment après avoir cliqué sur Render ; la nouvelle scène finira de charger.

Arrêter le rendu de la scène

Lorsque vous n'avez plus besoin de rendre la scène dans l'éditeur, suivez ces étapes pour arrêter le rendu :

  1. Sélectionnez le GameObject LCCRenderer dans la fenêtre Hiérarchie.
  2. Renseignez correctement le chemin des données dans File Path dans la fenêtre Inspecteur.
  3. Cliquez sur les trois points (⋮) à droite du composant LCCRenderer (Script), et choisissez unRender dans le menu contextuel, comme illustré ci-dessous. Cela arrête le rendu de la scène actuelle.
Cliquer sur unRender dans le menu du composant LCCRenderer pour arrêter le rendu

Cliquer sur unRender dans le menu à trois points à droite du composant LCCRenderer (Script)

Entrer en mode Play

Lorsque vous cliquez sur le bouton Play dans Unity pour entrer en mode Play normal, la scène sera re-rendue dans l'état d'exécution. Comme le SDK utilise un mécanisme multithread en interne, l'entrée en mode Play force la sortie du thread de rendu en mode édition, ce qui s'affiche comme un message d'erreur imprimé dans la Console.

Vous pouvez complètement ignorer cette erreur ; elle n'a aucun effet négatif et n'affecte pas le fonctionnement normal ultérieur.

Si vous ne voulez vraiment pas voir cette erreur, vous pouvez effectuer l'étape Arrêter le rendu de la scène (unRender) ci-dessus avant de cliquer sur le bouton Play, puis cliquer sur le bouton Play pour entrer dans l'état d'exécution.

Opérations par code

Si vous utilisez un script personnalisé pour rendre la scène, ajoutez simplement l'attribut [ExecuteInEditMode] avant votre classe de rendu personnalisée pour que le script s'exécute dans l'éditeur, rendant ainsi la scène en mode édition. Pour les autres logiques d'opération, reportez-vous au script LCCRenderer.cs dans 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);
        // Activer le mode éditeur
        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] progression du chargement du fichier : {_progress:P1}");
    }

    private void onComplete()
    {
        Debug.Log($"[MyLCCRenderer] fichier chargé");
    }
}

Remarque :

  • L'attribut [ExecuteInEditMode] fait que les méthodes du cycle de vie telles que Start et Update sont appelées dans l'éditeur même hors mode Play ; c'est la clé du rendu en mode éditeur.
  • Le mode éditeur n'est pris en charge que sur les plateformes PC/Mac.
  • Pour le flux de travail de rendu complet (configuration de la plateforme, mode de rendu, chargement des données), reportez-vous au script LCCRenderer.cs dans Samples.

Synchroniser les caméras entre les fenêtres Scène et Jeu

Les Samples fournis par le SDK incluent le script SceneGameCameraSync, qui synchronise les opérations de caméra de la fenêtre Scène vers la fenêtre Jeu, vous permettant d'opérer la vue dans l'éditeur tout en prévisualisant l'image d'exécution. Étapes d'utilisation :

  1. Attachez le script SceneGameCameraSync des Samples à la caméra (GameObject Camera) de la scène.
  2. Désactivez le script d'opération de caméra (par défaut CameraOperate).
  3. Cliquez sur le bouton Play pour entrer en mode Play.

À ce stade, opérer la caméra dans la fenêtre Scène synchronisera la caméra dans la fenêtre Jeu en conséquence.

Attacher le script SceneGameCameraSync à l'objet caméra

Attacher le script SceneGameCameraSync à l'objet caméra et désactiver le script CameraOperate

Remarque :

La synchronisation de caméra ne prend en charge que la synchronisation de la caméra de la fenêtre Scène vers la fenêtre Jeu ; elle ne prend pas en charge la synchronisation des opérations de caméra de la fenêtre Jeu vers la fenêtre Scène.