Guide de développement du rendu mixte multi-scènes
Le rendu mixte multi-scènes consiste à créer plusieurs scènes LCC en même temps et à mélanger leur rendu en temps réel pour obtenir une occlusion et un mélange corrects. Pour contrôler indépendamment chaque scène LCC qui participe au rendu, vous devez créer plusieurs Renderers et attacher chaque Renderer à un GameObject indépendant, de sorte que le Transform de chaque scène LCC puisse être contrôlé indépendamment.
É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.
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 LCCRenderer01
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 LCCRenderer01, et définissez son Transform sur Rotation.x = -90 et Scale.x = -1.

Créer LCCRenderer01 et définir son Transform (Rotation.x = -90, Scale.x = -1)
Créer LCCRenderer02
Créez un autre GameObject vide de la même manière, nommez-le LCCRenderer02, et définissez également son Transform sur Rotation.x = -90 et Scale.x = -1.

Créer LCCRenderer02 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.
Étape 2 : Écrire le script de rendu multi-scènes
Créez un nouveau script C# nommé MultiRenderer.cs avec le code suivant :
using LCCCore;
using UnityEngine;
public class MultiRenderer : MonoBehaviour
{
public LCCManager m_manager;
public string m_FilePath01;
public Transform m_transform01;
public string m_FilePath02;
public Transform m_transform02;
private LCCCore.Renderer m_renderer01;
private LCCCore.Renderer m_renderer02;
private int m_currentFileIndex = 0;
void Start()
{
m_manager.SetPlatformType(PlatformType.PC);
// Passer en mode MultiRender pour permettre à plusieurs Renderers d'être actifs et mélangés en même temps
m_manager.SwitchRenderPass(ActiveRenderMode.MultiRender);
Debug.Log("Démarré ");
m_renderer01 = m_manager.GetRender(m_transform01);
m_renderer02 = m_manager.GetRender(m_transform02);
m_currentFileIndex = 0;
m_renderer01.Load(m_FilePath01, onProgress, onComplete);
m_currentFileIndex = 1;
m_renderer02.Load(m_FilePath02, onProgress, onComplete);
}
private void onProgress(float _progress)
{
Debug.Log($"[LCCRenderer] progression du chargement du fichier {m_currentFileIndex} : {_progress:P1}");
}
private void onComplete()
{
Debug.Log($"[LCCRenderer] fichier {m_currentFileIndex} chargé");
}
}
Étape 3 : Attacher le script et configurer les propriétés
- Attachez le script
MultiRenderer.csau GameObject LCCManager dans la fenêtre Hiérarchie. - Dans la fenêtre Inspecteur, assignez les références et les chemins selon le tableau ci-dessous :
| Propriété du script | Assignation |
|---|---|
| Manager | Faites glisser le GameObject LCCManager sur cette propriété |
| Transform01 | Faites glisser le GameObject LCCRenderer01 sur cette propriété |
| Transform02 | Faites glisser le GameObject LCCRenderer02 sur cette propriété |
| File Path01 | Chemin de la première source de données LCC |
| File Path02 | Chemin de la deuxième source de données LCC |

Configurer les références et les chemins de données du script MultiRenderer dans l'Inspecteur
Étape 4 : Exécuter
Cliquez sur le bouton Play dans la fenêtre Jeu, et vous verrez les deux scènes LCC rendues et mélangées simultanément. Modifiez les valeurs de Transform du GameObject LCCRenderer01 ou LCCRenderer02, et chaque scène rendue se met à jour en temps réel.

Deux scènes LCC rendues et mélangées simultanément après l'exécution
Points clés
Il existe deux points clés pour développer le rendu mixte multi-scènes LCC :
- Passer en mode MultiRender : utilisez
m_manager.SwitchRenderPass(ActiveRenderMode.MultiRender);pour permettre à plusieurs scènes LCC d'être mélangées. Le mode par défaut estSingleRender, qui ne permet pas de mélanger plusieurs scènes LCC. - Attacher chaque Renderer à un GameObject indépendant : utilisez
GetRender(Transform)pour lier chaque Renderer à un GameObject indépendant, de sorte que le Transform de chaque scène LCC puisse être contrôlé indépendamment.