Grâce au plug-in LiDAR Point Cloud, vous pouvez importer, visualiser et modifier des nuages de points enregistrés dans l'Unreal Engine. Le plug-in prend également en charge une variété de techniques de colorisation et d'ombrage. Grâce à ses multiples optimisations et à sa mise à l'échelle dynamique des LOD (niveaux de détail), vous pouvez travailler avec de grands ensembles de données sans perte de performances significative, même lors de l'exécution.
Formats de fichiers de nuage de points pris en charge
Un nuage de points est un ensemble de points de données où chaque point est défini par ses coordonnées XYZ et, éventuellement, sa couleur. L'Unreal Engine prend en charge les formats de fichiers de nuage de points suivants :
| Extension | Description |
|---|---|
*.xyz, *.pts, *.txt |
Types généraux de formats de fichiers de nuage de points ASCII pouvant contenir :
La notation peut être au format float (comme 0,00892855) ou scientifique (comme 8,92855E-03). |
*.las, *.laz |
Le LAS est un format de fichier public pour l'échange de données de nuages de points tridimensionnels entre les utilisateurs. Bien que développé principalement pour l'échange de données de nuages de points LiDAR, ce format prend en charge l'échange de n'importe quel tuplet X, Y, Z tridimensionnel. Ce format de fichier binaire est une alternative aux systèmes propriétaires, ainsi qu'aux systèmes d'échange de fichiers ASCII génériques, et est largement utilisé. Les fichiers LAZ sont des fichiers LAS compressés. Ils sont beaucoup plus petits, mais leur importation est aussi proportionnellement plus lente. L'Unreal Engine prend en charge les fichiers LAS/LAZ 8 bits, 12 bits et 16 bits. |
*.e57 |
E57 est un format de fichier compact et libre qui stocke et échange des données d'imagerie 3D telles que des nuages de points, des images et des métadonnées. |
Importation et exportation de nuages de points
Pour importer une ressource de nuage de points, vous pouvez procéder de l’une des manières suivantes :
-
Faites glisser un nuage de points, enregistré dans un format de fichier pris en charge, dans votre navigateur de contenu.
-
Dans le navigateur de contenu, cliquez sur Add/Import (Ajouter/Importer), puis atteignez le fichier souhaité et sélectionnez-le.
Lors de l'importation, les mètres sont convertis en unités Unreal (UU), où 1 UU = 1 cm. Pour utiliser une échelle d’importation personnalisée, ouvrez les paramètres du projet pour le plug-in LiDAR Point Cloud, puis modifiez la valeur Import Scale (Échelle d’importation).
Vous pouvez exporter une ressource de nuage de points au format ASCII ou LAS à l'aide de l'outil Unreal Export existant. Dans le navigateur de contenu, faites un clic droit sur la ressource, puis sélectionnez Asset Actions > Export (Actions sur la ressource > Exporter).
Lors de l'exportation, les unités Unreal sont reconverties en mètres (en multipliant la valeur par 0,01). Pour utiliser une échelle d’exportation personnalisée, ouvrez les paramètres du projet pour le plug-in LiDAR Point Cloud, puis modifiez la valeur Export Scale (Échelle d’exportation).
Performances
Les performances sont principalement déterminées par le budget de point global, qui définit le nombre maximal de points pouvant être affichés simultanément. L'utilisation d'un budget partagé par opposition à un budget par composant permet un rendu efficace de plusieurs ressources en même temps, car le système sélectionne les points les plus optimaux parmi tous les composants visibles. Un budget de point élevé implique une qualité supérieure avec un coût de performance plus élevé. Le budget de point global économise la VRAM et améliore la fréquence d'images, mais ne réduit pas l'utilisation globale de la RAM.
Vous pouvez définir le budget global de point à l'aide de variables de console. Plus le budget de point est élevé, plus le nuage de points est dense.
Pour plus d'informations, consultez la section sur les variables de console de la page Référence du plug-in LiDAR Point Cloud.
Chargement dynamique à la demande
Lors de l'ouverture d'un nuage de points, l'Unreal Engine charge uniquement les informations d'en-tête nécessaires et diffuse les données massives réelles selon les besoins. Cela permet un chargement rapide des ressources et réduit la consommation totale de RAM.
Les ressources nouvellement importées seront conservées dans la mémoire système et ne pourront pas exploiter la fonctionnalité de chargement dynamique tant qu'elles ne seront pas enregistrées. Une fois les nouvelles ressources enregistrées, l'éditeur libère la mémoire pour cette ressource.
Le chargement d'un grand nombre de fichiers de nuages de points dans le moteur nécessite toujours une quantité importante de RAM lors de l'analyse des données des nuages de points et de leur traitement en tant que ressources Unreal Engine. Par exemple, ces données LiDAR accessibles au public de la ville de Montréal chargées dans l'Unreal Engine présentent les indicateurs de performance suivants :
| Fichiers LAS individuels | environ 684 tuiles pour un total de 253 Go sur le disque |
| Utilisation de RAM d’Unreal | environ 3,5 Go pour un budget de 1 million de points |
| Fréquence d'images | 120 fps, avec un budget global de 1 million de points |
| Nombre total de points | Moyenne de 14,3 millions de points par tuile de 1 km x 1 km * 621 fichiers = environ 8,9 milliards de points |
Volumes de détourage
Si vous souhaitez uniquement afficher une partie de vos données, mais sans supprimer le reste, vous pouvez utiliser un acteur Lidar Clipping Volume (Volume de détourage Lidar). Avec le plug-in LIDAR Point Cloud activé, vous pouvez trouver cet acteur dans Place Actor > Volume > Lidar Clipping Volume (Placer un acteur > Volume > Volume de détourage Lidar).
Cliquez sur l'image pour l'afficher à taille réelle.
Vous pouvez configurer les propriétés d'un volume de détourage à partir de son panneau Détails.
Cliquez sur l'image pour l'afficher à taille réelle.
Vous avez le choix entre deux Modes :
-
Clip Outside masque toutes les données du nuage de points en dehors du volume de découpage.

-
Clip Inside masque toutes les données du nuage de points à l'intérieur du volume de détourage.

Vous pouvez utiliser jusqu'à 16 volumes de détourage dans un niveau. Si vous avez des volumes qui se chevauchent, utilisez le paramètre Priority (Priorité) pour déterminer lequel est prioritaire.
Modification des données à l'exécution
Le plug-in LiDAR Point Cloud prend en charge l'insertion, la suppression et la modification de données à l'exécution, y compris dans l'exécutable empaqueté.
Il y a quelques considérations à garder à l’esprit dans ce cas :
-
Les données insérées doivent être dans les limites des ressources. Sinon, cela interférera avec le système de LOD.
-
Déplacer des points ne les déplace pas vers les LOD voisins. Il est donc recommandé de ne pas trop déplacer les points.
-
Lors de l'insertion de nombreux points à plusieurs reprises, la génération de LOD peut devenir gourmande en ressources.
Pour atténuer les problèmes décrits ci-dessus, vous pouvez initialiser la ressource de nuage de points avec des limites beaucoup plus grandes que nécessaire (par exemple, 100 000 dans chaque axe) et désactiver complètement le système de LOD en modifiant le paramètre Taille maximale du compartiment dans les Paramètres du projet du plug-in sur un très grand nombre, comme 1 000 000 000.