Choisir la bonne technologie de chargement d'actifs d'exécution pour les projets RT3D

Les projets 3D en temps réel (RT3D) deviennent de plus en plus complexes, nécessitant des approches plus intelligentes pour la gestion des actifs et le chargement à l'exécution. Les développeurs repoussent constamment les limites de ce qui est possible, et à mesure que ces projets augmentent en complexité et en taille, garantir des performances fluides et une expérience utilisateur exceptionnelle devient plus critique que jamais. Bien que Unity Asset Manager offre une solution complète pour organiser, gérer et optimiser vos actifs, les développeurs sont toujours confrontés au défi de choisir la bonne technologie pour charger des actifs dans les environnements d'exécution.
Que vous diffusiez du contenu à partir d'un réseau de distribution de contenu (CDN), chargiez des actifs locaux de manière dynamique ou gériez la mémoire par le biais de cycles de chargement/déchargement, choisir la bonne technologie de chargement d'actifs est essentiel pour le succès de votre projet.
Unity propose plusieurs approches pour le chargement d'actifs à l'exécution, chacune adaptée à des besoins et objectifs de projet spécifiques. Ce livre électronique vise à guider les développeurs à travers les options disponibles, en comparant leurs forces et en vous aidant à choisir la solution idéale pour votre projet.
Comprendre le chargement d'actifs à l'exécution
Le chargement d'actifs à l'exécution fait référence à la façon dont votre application charge et décharge du contenu pendant son fonctionnement. Cela pourrait signifier :
- Télécharger du nouveau contenu depuis un CDN
- Charger des actifs locaux à la demande
- Gérer la mémoire en déchargeant le contenu inutilisé
- Diffuser des polygones progressivement
Explorons les différentes technologies de chargement d'actifs et quelques exemples de projets de l'industrie RT3D les mieux adaptés à chaque technologie.
Comprendre vos options
Unity propose plusieurs approches pour gérer ces scénarios, chacune optimisée pour différents cas d'utilisation.
- AssetBundles/Addressables
- Conçu spécifiquement pour les projets Unity
- Gère tous les types d'actifs Unity
- Généralement le meilleur pour les applications Unity
- où la gestion efficace de la mémoire est une priorité,
- où les packs DLC seront livrés par voie aérienne,
- et pour les jeux et applications de service en direct avec des mises à jour de contenu régulières (événements saisonniers, nouveaux personnages, mises à jour de produits)
- glTF
- Solution indépendante de la plateforme qui n'a pas besoin d'être touchée par un processus Unity
- Axé sur du contenu 3D pur
- Généralement le meilleur pour toutes les applications d'exécution qui nécessitent un chargement flexible de données 3D natives et nécessitent une compatibilité multiplateforme
- 3DDS (Streaming de données Unity 3D)
- Solution indépendante de la plateforme qui permet la visualisation de modèles 3D, comme les données CAD et BIM
- Génération et visualisation en un clic dans Unity Asset Manager
- Charge uniquement le contenu pertinent dans la meilleure qualité
- Généralement le meilleur pour la visualisation à grande échelle où les utilisateurs peuvent explorer des modèles très complexes et détaillés sur n'importe quel appareil avec un chargement progressif.
À première vue, ces outils peuvent sembler interchangeables. Cependant, chacun excelle dans des scénarios uniques, les rendant mieux adaptés à des cas d'utilisation spécifiques. Choisir la bonne technologie revient à faire correspondre les forces d'un outil avec les besoins de votre projet.
Faire le bon choix
La clé pour sélectionner la bonne technologie réside dans la compréhension des exigences spécifiques de votre projet. Explorons les facteurs qui devraient influencer votre décision.

Avec les AssetBundles, vous pouvez construire une application avec une scène presque vide, et charger le reste de votre jeu ou application dynamiquement à partir de là.
AssetBundles et Addressables
Le package Addressables est un système natif à Unity conçu pour :
- Rationaliser le chargement des ressources à l'exécution.
- Activer le suivi des dépendances, la gestion des versions de contenu, plusieurs chemins de chargement (local/à distance), la livraison réseau et la mise en cache.
AssetBundles est la technologie sous-jacente qui gère le packaging et le chargement des ressources à un niveau inférieur ; Addressables est un système de haut niveau construit sur AssetBundles qui fournit une interface plus conviviale, une gestion automatisée des dépendances et un chargement simplifié à l'exécution. AssetBundles excelle dans la gestion de contenu de jeu complexe. Il est également optimisé pour une cible de build spécifique, une version Unity et une plateforme. Ils sont idéaux lorsque vous avez besoin de :
- Un support pour plusieurs types de ressources car ils fonctionnent avec tout type de ressource, y compris les textures, les sons, les scènes, les prefabs, et plus encore.
- Gestion des dépendances car Unity résout les dépendances entre les ressources.
- Gestion des versions
- Avec Addressables, vous obtenez un catalogue qui suit les versions des ressources et leurs dépendances, donc lorsque vous mettez à jour le contenu, le système peut identifier exactement quels bundles doivent être re-téléchargés.
- Ceci est particulièrement utile pour les jeux en direct où vous souhaitez pousser des mises à jour de contenu (par exemple, des packs saisonniers ou des événements en direct) sans forcer les joueurs à télécharger à nouveau l'intégralité du jeu.
- Optimisé pour Unity, spécifique à la plateforme
Cas d'utilisation idéal :
Un jeu Unity ayant besoin d'une gestion efficace de la mémoire et des temps de chargement, avec plusieurs types de ressources, et/ou avec des mises à jour de contenu régulières. Les ressources optimisées n'ont pas besoin d'être partagées entre différents environnements d'exécution.
Pourquoi cela fonctionne : Vous pouvez charger du contenu à la demande via l'« adresse » d'une ressource ou via un AssetReference, et le système Addressables gérera automatiquement le reste pour vous, que ce contenu soit déjà mis en cache sur l'appareil ou encore hébergé à distance sur votre CDN. L'environnement d'exécution peut télécharger de nouveaux packs de contenu sans nécessiter une mise à jour complète de l'application. Les utilisateurs finaux obtiennent de nouveau contenu saisonnier tout en maintenant la performance et en gérant la mémoire efficacement.

Le package Unity glTFast (com.unity.cloud.gltfast) prend en charge l'importation et l'exportation de fichiers 3D glTF™ à la fois à l'exécution et dans l'éditeur.
chargement glTF
glTF et .GLB sont essentiellement le même format emballé différemment - glTF est un format basé sur du texte avec des fichiers séparés (textures, données binaires, etc.) ce qui le rend idéal pour le développement et le débogage, tandis que GLB regroupe tout dans un seul fichier binaire, le rendant plus efficace pour la distribution et le chargement à l'exécution.
glTF fournit une solution simplifiée pour le chargement de modèles 3D en utilisant le package gratuit glTFast de Unity. Considérez cette option lorsque vous avez besoin :
- Chargement simple de modèles 3D
- Avec les GLB, les dépendances doivent être intégrées dans le fichier à l'exportation ou résolues manuellement.
- Compatibilité multiplateforme
- Mise en œuvre rapide
- Support de format standard qui n'est pas dépendant de la version ou de la plateforme Unity.
Cas d'utilisation idéal :
Une application simple de visualisation de modèles où le chargement rapide et le support de format standard sont des priorités. Si vous avez besoin de réutiliser un actif dans différents projets RT3D, sans avoir à les recompiler, le GLB est la solution. Un exemple concret est une application de commerce électronique où un seul visualiseur peut afficher des milliers d'actifs.
Un autre exemple serait des projets où le contenu peut être personnalisé par les utilisateurs, comme des avatars personnalisés ou des accessoires personnalisés, et nécessitent un format standard qui peut être créé avec flexibilité.
Pourquoi cela fonctionne : GLB est LE format 3D du web. Les données GLB sont disponibles à de nombreux points de contact.

Utilisez le streaming de données Unity 3D pour télécharger dynamiquement uniquement les parties pertinentes d'un modèle et les rendre visibles sur n'importe quel appareil, quelle que soit la taille du modèle.
3DDS (streaming de données Unity 3D)
Le streaming de données Unity 3D est un service de streaming de polygones qui permet aux développeurs de diffuser des actifs 3D statiques et des environnements directement sur les appareils des utilisateurs. Les données sont prétraitées dans le gestionnaire d'actifs Unity en utilisant la technologie Pixyz pour optimiser automatiquement sa distribution vers l'application d'exécution. Le chargement dans l'application d'exécution est également géré par la technologie gltFast de Unity.
Dans votre client, le package de streaming de données 3D permet de charger le modèle en mettant en œuvre des optimisations prêtes à l'emploi, réduisant l'empreinte mémoire du modèle plus loin de la caméra tout en garantissant un détail complet de près.
3DDS brille lorsqu'il s'agit de gérer des modèles à grande échelle et des visualisations complexes tout en préservant toutes les métadonnées des pièces de votre modèle. C'est le choix privilégié pour :
- De grands modèles CAD et BIM
- Premier pixel instantané
- Exigences de chargement progressif
- Source unique d'actifs / plusieurs plateformes ciblées
- Chargement optimisé en mémoire par appareil ciblé
- Navigation et étude de hiérarchies de modèles complexes
Cas d'utilisation idéal :
Une expérience de visite VR de vos modèles que vous n'avez jamais pu afficher dans une application d'exécution.
Une application de visualisation et de révision architecturale ou d'ingénierie avec accès aux métadonnées ou propriétés traitant de modèles CAD ou BIM détaillés qui ne peuvent pas être chargés dans leur intégralité compte tenu de la mémoire limitée et des capacités de rendu d'un appareil.
Prendre votre décision
Si vous développez un jeu avec Unity, Addressables est généralement la solution recommandée. Voici pourquoi :
- Conçu spécifiquement pour le flux de travail de développement de Unity
- Optimisé pour les performances d'exécution
- Intégré à la gestion de la mémoire de Unity
- Prend en charge des dépendances d'actifs complexes
- Gère efficacement plusieurs types d'actifs
Cas d'exception : Contenu généré par l'utilisateur Si votre jeu implique du contenu généré par l'utilisateur (comme des avatars ou des objets personnalisés), envisagez GLB :
- Le format standard rend la création de contenu plus accessible
- Meilleure compatibilité à long terme entre les versions de Unity
- Intégration tierce plus facile (par exemple, avatars ReadyPlayerMe)
Cas d'exception : Un <1>jeu Unity basé sur le système de composants d'entité (ECS)<1>. Si vous tirez parti de l'architecture ECS de Unity, vous devez utiliser le système de gestion de contenu des entités pour la gestion des actifs à l'exécution.
Pour les projets industriels, le choix dépend davantage des exigences spécifiques.
Choisissez GLB lorsque :
- Travaillez avec des modèles 3D standard
- Une compatibilité multiplateforme est nécessaire
- Gestion de contenu téléchargé par l'utilisateur
- Besoin de mises à jour indépendantes de la plateforme
- Une stabilité de format à long terme est requise
Choisissez 3DDS lorsque :
- Travaillez avec de grands modèles CAD/BIM
- Le chargement progressif est nécessaire
- L'optimisation de la mémoire est requise
- Préserver des hiérarchies complexes et des métadonnées est une priorité
- Un ajustement dynamique de la fidélité est nécessaire

Commencez avec Asset Manager
Unity Asset Manager vous aide à organiser et à préparer vos actifs avant l'exécution, créant un pipeline efficace pour la stratégie de chargement que vous choisissez. Intégré à l'éditeur Unity et à la solution de préparation de données de Unity, Pixyz, Asset Manager peut :
- Centraliser vos actifs sources depuis la création, l'itération jusqu'à l'état final
- Transformer et préparer les actifs pour le déploiement à l'exécution
- Organiser les actifs de manière efficace dans votre flux de travail de l'éditeur Unity
- Convertir entre différents formats d'actifs
- Agir comme un dépôt de fichiers 3D en temps réel pouvant être consommés à l'exécution
À mesure que votre projet grandit, Asset Manager évolue avec votre licence d'éditeur Unity pour fournir des capacités de stockage et de gestion supplémentaires.
Que vous prépariez des actifs pour des Asset Bundles, génériez des fichiers glTF ou configuriez le streaming 3DDS, Unity Asset Manager vous aide à maintenir l'organisation et le contrôle pendant le développement.
Unity Asset Manager peut apporter des données directement dans des applications d'exécution. Une fois les données gLTF et 3DDS générées, elles peuvent être examinées en temps réel instantanément, et sans temps de construction. Cela raccourcit le parcours des clients industriels pour amener leurs données CAO et BIM directement dans les applications Unity.

Découvrir plus
Si vous souhaitez en savoir plus sur les solutions Unity Asset Manager, consultez ces ressources :
- Téléchargez le package glTFast depuis le Unity Package Manager en l'installant par nom : com.unity.cloud.gltfast
- Documentation sur les Addressables
- Documentation sur le streaming de données 3D
Des questions ?
Partagez vos expériences et questions sur le chargement des actifs dans Unity. Rejoignez-nous sur Discussions Unity.
Obtenez l'e-book
Remplissez ce formulaire pour accéder à des informations et solutions de pointe provenant d'experts de l'industrie


