Bien que toutes les îles de l'Unreal Editor pour Fortnite (UEFN) prennent en charge de nombreux types de matériels, des PC haut de gamme aux terminaux mobiles, pour créer des îles réussies sur les terminaux mobiles, vous devez dès le départ garder à l'esprit l'optimisation et l'efficacité de la mémoire.
Dans ce document, nous vous présentons les facteurs à prendre en compte lors de la conception d'îles sur des plateformes mobiles.
Pratiques recommandées en matière de conception d'îles sur des plateformes mobiles
Concevoir l'île en gardant à l'esprit les joueurs :
Comprendre votre public et savoir ce qu'il attend d'une expérience de jeu sur une plateforme mobile.
Créer une interface personnalisée simple et sobre, facile à parcourir sur un écran mobile.
Concevoir des écrans variables et tester le jeu fréquemment sur différents types d'écrans et de résolutions.
Utiliser les contrôles mobiles existants de Fortnite et concevoir le jeu en conséquence.
Susciter l'intérêt des joueurs via le gameplay :
Créer une boucle de jeu brève mais captivante, afin que le joueur puisse commencer rapidement une partie et l'arrêter tout aussi facilement.
Créer des introductions rapides et attrayantes qui présentent les mécaniques de jeu afin de capter l'attention des joueurs.
Intégrer des éléments de progression, de continuité et de récompense pour inciter les joueurs à revenir jouer.
Choisir des modes de jeu et des genres qui plaisent aux gamers mobiles.
Optimiser votre projet :
Paramètres d'évolutivité
L'UEFN est conçu pour gérer l'évolutivité des plateformes. En raison de limitations matérielles, certaines fonctionnalités sont désactivées ou adaptées à des niveaux de qualité inférieurs. Utilisez l'outil Évolutivité visuelle intégrée à l'éditeur pour obtenir un aperçu de votre île selon différents groupes d'évolutivité. Il est fortement recommandé de tester le jeu à différents niveaux.
Le tableau ci-dessous présente les principales fonctionnalités qui sont adaptées ou désactivées selon les différents niveaux de qualité :
Construire votre île et vos ressources avec une évolutivité garantit les meilleures performances et les meilleurs visuels possibles, quel que soit l'appareil utilisé. Domaines clés à prendre en compte :
LOD de maillage : utilisez les LOD de maillage pour vos maillages statiques ou squelettiques personnalisés afin de réduire le nombre de polygones et d'augmenter le taux d'images par seconde (IPS).
Système World Partition et HLOD : chargez dynamiquement la carte en utilisant les HLOD et le système World Partition pour réduire les éléments rendus, en vue d'alléger la charge du processeur graphique et d'augmenter le taux d'IPS.
Groupes de textures et mipmapping : activez la mise à l'échelle des matériaux à l'exécution via le mipmapping. Assurez-vous que les textures se trouvent dans le groupe approprié et que leurs dimensions sont de
puissance 2 pour garantir une mise à l'échelle fluide et optimiser la qualité visuelle. Les textures dont les dimensions ne sont pas de puissance 2 ne seront pas chargées dynamiquement.Qualité des matériaux : les matériaux complexes peuvent s'avérer trop coûteux sur les plateformes bas de gamme. Nous avons créé des wrappers de fonctions de matériau pour vous aider à personnaliser davantage les différents aspects d'un matériau en fonction des niveaux de la plateforme.
Accédez à Fortnite > Matériaux > Fonctions, puis recherchez
MF_QualitySwitch_MaterialAttributes,MF_QualitySwitch_ScalaretMF_QualitySwitch_Vector. L'utilisation de ces wrappers de changement de qualité pour rationaliser les fonctions de matériau à un paramètre de qualité inférieure permet d'améliorer les performances. Consultez la page Fonctions de matériau pour en savoir plus.
Conseils pour optimiser les éléments graphiques et les ressources sur les plateformes mobiles
Tenez compte dès le début des limites inhérentes aux plateformes mobiles.
Évitez le suraffichage. Aplanissez les couches, limitez les transparences et supprimez les éléments qui se chevauchent.
Simplifiez les textures. Utilisez un outil de minimisation.
Testez votre île de manière approfondie sur les terminaux mobiles. Recherchez les conflits d'interface et les éléments qui chevauchent les contrôles du jeu. Vous pouvez utiliser Amazon Luna ou Xbox Cloud Gaming pour tester vos expériences sur les plateformes mobiles.
Exécutez l'outil Calcul de la mémoire pour obtenir une liste détaillée des ressources les plus coûteuses de votre niveau.
Autres conseils d'optimisation
Bien que l'UEFN offre une excellente évolutivité du moteur, veillez à toujours rationaliser et optimiser le contenu. Toute surcharge matérielle entraîne une réduction du taux d'IPS, une augmentation des temps de chargement et une expérience sous-optimale. Suivez ces instructions pour améliorer les performances :
Optimiser les maillages : réduisez autant que possible le nombre de polygones. Consultez la page Créer des ressources compatibles avec Fortnite pour connaître les limites du nombre de polygones.
Nombre de matériaux : utilisez le moins de matériaux possible. Dans l'idéal, n'utilisez qu'une seule section de matériau par maillage.
Résolution des textures : les terminaux mobiles disposent d'une mémoire de texture limitée. Utilisez des textures de 512 x 512 pixels et évitez dans la mesure du possible les textures de taille supérieure.
Réduire les appels à générer : évitez de rendre simultanément un nombre trop élevé d'objets et de textures uniques. Utilisez des instances et des maillages statiques instanciés hiérarchiques (HISM), et regroupez les objets plus petits dans des accessoires plus grands lorsque cela est possible.
Système World Partition et couches de données : réduisez les ressources à l'écran et les temps de chargement. Pour en savoir plus sur le système World Partition, consultez la page Gestion de la mémoire.
Optimiser l'éclairage : utilisez le rayon de lumière le plus faible possible, évitez les lumières qui se chevauchent et définissez la mobilité des lumières sur Fixe.
Désactivez le paramètre Ombres projetées sur les lumières qui ne nécessitent pas d'ombres nettes, en particulier dans les zones extérieures où la lumière naturelle assure un éclairage environnemental suffisant.
Utiliser le gestionnaire d'évolutivité de l'éclairage : créez différents scénarios d'éclairage pour chaque niveau ESS. Vous pouvez configurer un schéma d'éclairage simplifié et plus performant pour les niveaux faible et moyen (plateformes mobiles et anciennes consoles).
Pourquoi les mipmaps sont-ils nécessaires ?
Considérez les mipmaps comme des LOD pour les textures. La résolution des textures peut changer en fonction de la distance et de l'orientation de la caméra.
Bien qu'il soit tentant d'utiliser des textures sans mipmaps pour obtenir un rendu plus net, ces textures sont conservées dans la mémoire de l'appareil et contournent le processus de chargement dynamique de l'UEFN.
Le tableau ci-dessous montre l'utilisation de la mémoire de texture en fonction de la taille. Supposons qu'une texture de 1 024 x 512 utilise la moitié de la mémoire d'une texture de 1 024 x 1 024.
Même si elles paraissent petites prises séparément, un grand nombre de textures s'affichent en même temps à l'écran et restent en mémoire lorsque la caméra s'éloigne. Cette accumulation peut entraîner des blocages sur l'appareil en raison du dépassement des limites de mémoire.
Résoudre les problèmes sur les plateformes mobiles
Voici une liste des problèmes les plus courants et des solutions pour optimiser votre île sur les plateformes mobiles.
Faible taux d'images par seconde (IPS) sur les terminaux mobiles
Problème : trop d'appels à générer et surcharge de la carte graphique.
Solution : réduisez simultanément le contenu visible. Utilisez le système World Partition pour diviser le niveau et réduire les éléments rendus.
Solution : utilisez les HLOD et les LOD de maillage pour réduire la complexité des ressources et le nombre de polygones, et permettre au processeur graphique de rendre les objets plus rapidement.
Solution : simplifiez les matériaux complexes en utilisant des paramètres de qualité inférieure ou réduisez le nombre de matériaux uniques, qui nécessitent un nombre supérieur de calculs de processeur graphique par image. Réutilisez les matériaux lorsque cela est possible.
Solution : dans la mesure du possible, regroupez les petits objets au sein d'une ressource plus grande. La carte graphique sera ainsi en mesure de les rendre en un seul objet ou appel à générer.
Problème : chargement d'un trop grand nombre de ressources à la fois.
Solution : utilisez le système World Partition pour diviser le niveau et réduire la quantité de contenu chargé.
Solution : utilisez la fonction HISM et les instances pour réduire le nombre de ressources uniques.
Solution : réutilisez les matériaux dans la mesure du possible afin de réduire les calculs du processeur graphique par image.
Utilisation de la mémoire de l'île trop élevée
Problème : contenu non optimisé.
Solution : utilisez des textures de 512 x 512 dans la mesure du possible, attribuez le groupe de textures approprié et vérifiez que le chargement dynamique est activé.
Solution : pour les maillages personnalisés, utilisez le plus petit nombre de polygones pour obtenir des LOD efficaces et réduire la taille de préparation.
Problème : trop de maillages uniques.
Solution : utilisez la fonction HISM et les instances chaque fois que cela est possible. Réutiliser la même ressource de différentes manières permet de réduire le nombre de ressources uniques stockées en mémoire.
Solution : dans la mesure du possible, regroupez les petits objets au sein d'une ressource plus grande.
Appareils mobiles pris en charge
Consultez les tableaux suivants pour connaître les appareils et les spécifications à prendre en compte lorsque vous testez des expériences mobiles.
Android
| E.G.O. | Configuration minimale |
|---|---|
Système d'exploitation | Android OS 10.0 ou version ultérieure |
Architecture | Android 64 bits sur un processeur Arm64 |
Mémoire vive | 4 Go de RAM |
Processeur graphique | Adrenano 530 ou ultérieur, Mali-G71 MP20, Mali-G72 MP12 ou ultérieur |
Apple
| appareil | Modéliser |
|---|---|
iPhone | 11, 11 Pro, 11 Pro Max, 12, 12 mini, 12 Pro, 12 Pro Max, 13, 13 mini, 13 Pro, 13 Pro Max, 14, 14 Plus, 14 Pro, 14 Pro Max, 15, 15 Plus, 15 Pro, 15 Pro Max, 16, 16 Plus, 16 Pro, 16 Pro Max |
iPhone SE | 3e génération 2022 |
iPad Pro | 12,9 po (2ᵉ génération ou version ultérieure), 11 po (1ʳᵉ génération ou version ultérieure), 10,5 po |
iPad Air | 4e génération 2020, 5e génération 2022 |
iPad | 10e génération 2022 |
iPad mini | 6e génération 2021 |
Ressources supplémentaires
Consultez les ressources suivantes pour approfondir vos connaissances :
Section Mémoire et optimisation de la documentation Fortnite
Vidéo YouTube sur l'optimisation des projets de l'UEFN
Vidéo YouTube sur la gestion de la mémoire dans l'UEFN