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 basculement du mode de rendu Mip

Mip et Non-Mip sont deux chemins techniques de reconstruction et de rendu du 3DGS. L'effet de rendu est optimal lorsque la reconstruction et le rendu utilisent le même chemin technique. Le LCC Unity SDK prend en charge le basculement dynamique du mode de rendu à l'exécution ; les étapes complètes sont décrites ci-dessous.

Étape 1 : Créer la scène et les GameObjects

Créez une toute nouvelle scène dans Unity. Unity crée Caméra principale et Lumière directionnelle par défaut.

Configurer la Caméra principale

Sélectionnez Caméra principale dans la fenêtre Hiérarchie, et définissez ses propriétés dans la fenêtre Inspecteur comme illustré ci-dessous.

Définir les propriétés de la Caméra principale

Définir les propriétés de la Caméra principale

Créer LCCManager

Faites un clic droit dans une zone vide de la fenêtre Hiérarchie, sélectionnez Créer vide dans le menu contextuel pour créer un GameObject vide, nommez-le LCCManager, normalisez son Transform, et ajoutez-y le script LCCManager via Ajouter un composant.

Créer le GameObject LCCManager et ajouter le script LCCManager

Créer le GameObject LCCManager et ajouter le script LCCManager

Créer LCCRenderer

Faites un clic droit dans une zone vide de la fenêtre Hiérarchie, sélectionnez Créer vide pour créer un GameObject vide, nommez-le LCCRenderer, et définissez son Transform sur Rotation.x = -90 et Scale.x = -1.

Créer LCCRenderer et définir son Transform

Créer LCCRenderer et définir son Transform (Rotation.x = -90, Scale.x = -1)

Remarque :

Les réglages de Transform du GameObject LCCRenderer (Rotation.x = -90, Scale.x = -1) l'alignent avec le système de coordonnées des données LCC. Pour plus de détails sur l'alignement du système de coordonnées, voir « Système de coordonnées des données LCC » dans Introduction au SDK Unity.

Créer le bouton de bascule

Faites un clic droit dans une zone vide de la fenêtre Hiérarchie, sélectionnez UI → Bouton dans le menu contextuel pour créer un Bouton nommé BtnMipSwitch.

Étape 2 : Écrire un script pour basculer le mode de rendu

Créez un nouveau script C# nommé MipSwitch.cs avec le code suivant :

using LCCCore;
using UnityEngine;
using UnityEngine.UI;

public class MipSwitch : MonoBehaviour
{
    public LCCManager m_manager;
    public string m_FilePath;
    public Button m_BtnMipSwitch;
    private LCCCore.Renderer m_renderer;
    private MipMode m_mipMode;

    void Start()
    {
        m_manager.SetPlatformType(PlatformType.PC);
        Debug.Log("Démarré ");
        // Nécessite d'entrer en mode Édition
        m_manager.SetEditorMode(true);
        m_mipMode = MipMode.Mip;
        m_BtnMipSwitch.onClick.AddListener(onMipSwitch);
        m_renderer = m_manager.GetRender(this.transform);
        m_renderer.Load(m_FilePath, onProgress, onComplete);
    }

    private void onProgress(float _progress)
    {
        Debug.Log($"[LCCRenderer] progression du chargement du fichier : {_progress:P1}");
    }

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

    private void onMipSwitch()
    {
        if (m_mipMode == MipMode.Mip)
        {
            m_mipMode = MipMode.Non_Mip;
        }
        else
        {
            m_mipMode = MipMode.Mip;
        }
        m_manager.SetMipMode(m_mipMode);
    }
}

Remarque :

Cet exemple s'initialise à MipMode.Mip dans Start et lie l'événement de clic pour BtnMipSwitch ; chaque clic bascule entre Mip et Non_Mip, et prend effet immédiatement via SetMipMode().

Étape 3 : Attacher le script et définir les propriétés

  1. Attachez le script MipSwitch.cs au GameObject LCCManager dans la fenêtre Hiérarchie.
  2. Dans la fenêtre Inspecteur, faites glisser le GameObject LCCManager sur la propriété Manager du script.
  3. Renseignez le chemin du fichier LCC dans la propriété File Path du script.
  4. Faites glisser le bouton BtnMipSwitch sur la propriété Btn Mip Switch du script.
Attacher le script MipSwitch et définir le Manager, le File Path et BtnMipSwitch

Attacher le script MipSwitch et définir les propriétés Manager, File Path et BtnMipSwitch

Étape 4 : Exécuter

Cliquez sur le bouton Play dans la fenêtre Jeu, puis cliquez sur le bouton BtnMipSwitch pour voir le rendu de la scène basculer entre les modes Mip et Non-Mip en temps réel.

Cliquer sur le bouton bascule le mode de rendu Mip / Non-Mip en temps réel après l'exécution

Cliquer sur le bouton bascule le mode de rendu Mip / Non-Mip en temps réel après l'exécution

Recommandations de sélection

  • L'effet de rendu n'est optimal que lorsque la reconstruction du 3DGS et le rendu du 3DGS utilisent le même chemin technique.
  • Après le passage en mode Non-Mip, les détails de rendu sont généralement meilleurs, mais les performances de rendu sont affectées dans une certaine mesure.

API liées au mode Mip

Le LCC Unity SDK fournit les API suivantes liées au basculement du mode de rendu Mip via LCCManager.

SetMipMode

// Valeur de retour : void
public void SetMipMode(MipMode _mipMode)

Bascule le mode de rendu Mip. Le mode Mip utilise l'échantillonnage mipmap (par défaut), et le mode Non_Mip désactive le mipmap.

ParamètreTypeDescription
_mipModeMipModeMode cible, soit Mip soit Non_Mip

Exemple d'utilisation :

m_manager.SetMipMode(MipMode.Non_Mip); // désactiver le mipmap
m_manager.SetMipMode(MipMode.Mip);     // restaurer le mipmap

Remarques :

  • Si le mode actuel est le même que le mode transmis, il retourne directement sans surcoût répété.

L'enum MipMode est défini comme suit :

public enum MipMode { Mip, Non_Mip }

SetEditorMode

// Valeur de retour : void
public void SetEditorMode(bool _isEditor)

Active/désactive le mode éditeur. Cet exemple appelle SetEditorMode(true) avant de charger les données.

ParamètreTypeDescription
_isEditorboolS'il faut activer le mode éditeur

Exemple d'utilisation :

m_manager.SetEditorMode(true);

Remarques :

  • Pris en charge uniquement sur les plateformes PC / Mac.