Optimiser votre jeu est le processus de configuration de vos actifs et des paramètres de Studio pour maintenir un taux de rafraîchissement et des niveaux de performance élevés pour les appareils ayant des limitations de mémoire et de processeur graphique (GPU). Ce processus garantit que presque tous les utilisateurs ont la même expérience de jeu et visuelle lorsqu'ils visualisent votre environnement.
En utilisant le fichier Environment Art - Optimizing .rbxl comme référence, cette section du curriculum d'art environnemental vous montre comment examiner et configurer votre fichier de lieu pour des graphismes optimaux, y compris des conseils sur :
- Examiner les paramètres de physique et de rendu de chaque actif pour confirmer qu'ils préservent la mémoire et la performance du moteur.
- Éliminer les textures, géométries ou transparences excessives qui augmentent inutilement le nombre de calculs que le moteur Roblox doit effectuer pour rendre vos actifs.
Bien que le moteur Roblox gère la plupart des travaux d'optimisation pour vous, vous pouvez aider dans ces efforts d'optimisation en utilisant le Microprofiler pour voir où il faut plus de temps pour rendre des images spécifiques. En utilisant ces informations, vous pouvez prendre des décisions éclairées sur les actifs qui nécessitent votre attention en ce qui concerne leurs paramètres ou leur contenu excessif. Analyse de scène est un autre outil puissant pour vérifier l'utilisation des ressources.

Examiner les paramètres de physique et de rendu
Dans Assemble an asset library, vous avez appris à quel point il est important de définir des paramètres de physique et de rendu qui permettent à vos actifs de conserver leur haute qualité visuelle sur des appareils ayant des limitations de mémoire et de GPU. Cependant, il est courant, au fur et à mesure que vous construisez votre environnement, d'ajuster ces paramètres en fonction de la position contextuelle et de l'objectif d'un actif dans votre jeu. Par exemple, une grande partie de la végétation dans l'environnement final de laser tag projette des ombres malgré un coût de performance, car cela ajoute au réalisme de l'environnement.
Lorsque vous modifiez les paramètres de physique et de rendu, il est utile, près de la fin du processus de développement, de revoir tous les paramètres pour voir où vous pouvez optimiser un paramètre tout en maintenant des objectifs esthétiques et des exigences de jeu. Pour illustrer, vous pouvez désactiver la propriété BasePart.CastShadow pour la végétation près des bords de la zone de jeu afin d'économiser sur la performance sans interférer avec l'expérience de jeu ou visuelle d'un utilisateur.


Éliminer le contenu non essentiel
Après avoir examiné vos paramètres de physique et de rendu, vous pouvez examiner les actifs eux-mêmes pour voir où vous pouvez éliminer tout contenu non essentiel du jeu qui n'affecte pas votre gameplay, comme des textures identiques avec des ID d'actifs différents, une géométrie complexe avec de nombreux sommets, ou des transparences qui se superposent en fonction de la vue de la caméra. Les sections suivantes détaillent ce que vous pouvez faire pour examiner ce contenu et pourquoi cela aide les efforts d'optimisation.
Supprimer les textures en double
Au fur et à mesure que vous passez du développement de vos actifs à la construction de votre environnement, il est courant d'itérer sur des maillages ou des textures en fonction de ce qui est nécessaire pour vos objectifs esthétiques ou vos exigences de gameplay. Si vous ne convertissez pas vos actifs en packages, lorsque vous importez ces itérations dans Studio, vous créez des ID d'actifs uniques que le moteur Roblox doit référencer lorsqu'il rend vos actifs dans l'environnement.
Par exemple, si vous deviez importer les deux maillages de bouche d'incendie suivants dans Studio séparément, même s'ils sont exactement identiques en apparence, le moteur Roblox les traite comme deux objets avec des ID d'actifs uniques. Plus le moteur doit faire d'appels uniques, plus cela a un impact sur la mémoire et la performance. Pour cette raison, il est important de confirmer lorsque vous réutilisez un actif plusieurs fois, que chaque instance de cet actif utilise le même ID d'actif afin que le moteur n'ait besoin de faire qu'un seul appel pour le rendre plusieurs fois.

Optimiser la géométrie
Si vous constatez que vous devez apporter plus d'ajustements pour augmenter le taux de rafraîchissement sur les appareils, il est utile de voir où vous pouvez optimiser votre géométrie en :
- Combinant des groupes de maillages en un seul actif.
- Réduisant le nombre de polygones des actifs avec une complexité géométrique.
Pour développer cette première technique, chaque actif unique dans votre jeu représente un appel de dessin sur le GPU dans lequel il envoie un signal au GPU pour appeler des informations afin que le moteur Roblox puisse rendre l'actif correctement. Plus vous avez d'actifs uniques, plus le système doit faire d'appels de dessin. Pour cette raison, si vous avez un groupe de maillages qui composent un composant plus grand dans votre jeu, vous pouvez les regrouper dans des outils de modélisation tiers pour réduire le besoin de plusieurs appels de dessin.
Pour illustrer ce point, l'environnement final de laser tag regroupe plusieurs parties et maillages pour créer les grandes tours à l'extérieur du bâtiment. Si vous deviez combiner tous ces composants individuels, vous pourriez en faire un seul actif avec un seul ID d'actif, et réduire le nombre d'appels de dessin de 8 à 1. Cependant, il est important de noter que cette technique supprime votre capacité à modifier librement les caractéristiques visuelles et physiques de chaque composant, comme sa position ou son matériau.
Par exemple, dans l'image suivante, la tour de gauche reste composée de plusieurs actifs sous un objet Model, tandis que la tour de droite est un seul actif. Vous pouvez modifier chaque composant de la tour de gauche individuellement, mais lorsque vous modifiez la tour de droite, par exemple en changeant sa couleur en noir, cela affecte l'ensemble de l'objet. C'est pourquoi il est important de ne considérer cette technique qu'à la fin du développement de votre environnement lorsque vous savez où vous pouvez améliorer la performance sans affecter vos objectifs esthétiques.

En développant la deuxième technique, les actifs avec une complexité géométrique ont plus de polygones, ce qui signifie qu'ils ont plus de sommets que le moteur doit calculer lorsqu'il rend leur apparence visuelle. Cela signifie que les actifs avec moins de complexité et de fidélité sont moins coûteux à rendre, ce qui améliore à la fois la performance et la mémoire.
Supprimer les transparences superposées
Pour donner un sens de réalisme à l'environnement, l'environnement final de laser tag comprend de nombreux maillages avec des niveaux de transparence variés, comme la végétation dans l'espace extérieur, le verre sur la signalisation futuriste ou la balustrade des jardinières. Lorsque la caméra visualise plusieurs objets semi-transparents qui se trouvent devant ou derrière les uns les autres, le moteur Roblox doit rendre les pixels qui se chevauchent plusieurs fois pour tenir compte des zones transparentes. Ce processus est appelé surimpression de haute transparence, et il a un impact significatif sur la performance.
Par exemple, considérez la vue suivante d'une jardinière dans l'environnement d'exemple. Le moteur doit rendre les zones transparentes des feuilles entre la plante la plus proche de la caméra et la plante la plus proche de la zone extérieure en couches, ce qui équivaut à des centaines de milliers de pixels surimprimés. Pour atténuer une partie de cet impact, il est important de revoir la disposition de tous les objets semi-transparents dans votre environnement et de s'assurer qu'il n'y a pas trop d'endroits où il y a de nombreuses couches de chevauchement, en particulier dans de grandes zones de l'écran.


Lorsque vous avez terminé d'examiner tout votre contenu pour vous assurer qu'il est optimal sur tous les appareils, votre jeu est maintenant prêt pour la publication !