Optimiser votre expérience est le processus de configuration de vos ressources 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 tout en consultant votre environnement.
En utilisant le fichier Art environnemental - Optimisation .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 physiques et de rendu de chaque ressource pour s'assurer qu'ils préservent la mémoire et la performance du moteur.
- Culler l'excès de textures, de géométrie ou de transparences qui augmentent inutilement le nombre de calculs que le moteur Roblox doit effectuer pour rendre vos ressources.
Alors 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 cette information, vous pouvez prendre des décisions éclairées sur les ressources 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 physiques et de rendu
Dans Assembler une bibliothèque d'actifs, vous avez appris à quel point il est important de définir des paramètres physiques et de rendu qui permettent à vos ressources 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'utilisation d'une ressource dans votre expérience. 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 physiques et de rendu, il est utile, près de la fin du processus de développement, de passer en revue 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 les performances sans interférer avec l'expérience de jeu ou visuelle d'un utilisateur.


Culler le contenu non essentiel
Après avoir examiné vos paramètres physiques et de rendu, vous pouvez examiner les ressources elles-mêmes pour voir où vous pouvez éliminer tout contenu non essentiel de l'expérience qui n'affecte pas votre jeu, tel que des textures identiques avec différents identifiants de ressource, 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 aux efforts d'optimisation.
Supprimer les textures dupliquées
Alors que vous passez du développement de vos ressources à 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 jeu. Si vous ne convertissez pas vos ressources en packages, lorsque vous importez ces itérations dans Studio, vous créez des identifiants de ressources uniques que le moteur Roblox doit référencer alors qu'il rend vos ressources dans l'environnement.
Par exemple, si vous deviez importer séparément les deux maillages de bouche à incendie suivants dans Studio, même s'ils sont exactement identiques en apparence, le moteur Roblox les traite comme deux objets avec des identifiants de ressources uniques. Plus le moteur doit faire d'appels uniques, plus cela a d'impact sur la mémoire et les performances. Pour cette raison, il est important de confirmer lorsque vous réutilisez une ressource plusieurs fois, que chaque instance de cette ressource utilise le même identifiant de ressource afin que le moteur n'ait besoin de faire qu'un seul appel pour la 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 une seule ressource.
- Diminuant le nombre de polygones des ressources avec une complexité géométrique.
En développant cette première technique, chaque ressource unique dans votre expérience 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 rende correctement la ressource. Plus vous avez de ressources uniques, plus le système doit faire d'appels de dessin. Pour cette raison, si vous avez un groupe de maillages qui constituent un composant plus grand dans votre expérience, vous pouvez les regrouper dans des outils de modélisation tiers pour réduire le besoin de multiples appels de dessin.
Pour illustrer ce point, l'environnement final de laser tag assemble 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 une seule ressource avec un seul identifiant de ressource, réduisant le nombre d'appels de dessin de 8 à 1. Cependant, il est important de noter que cette technique supprime votre capacité à changer librement les caractéristiques visuelles et physiques de chaque composant, telles que sa position ou son matériau.
Par exemple, dans l'image suivante, la tour de gauche reste composée de plusieurs ressources sous un objet Model, tandis que la tour de droite est une seule ressource. 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 les performances sans affecter vos objectifs esthétiques.

En développant la deuxième technique, les ressources avec une complexité géométrique ont plus de polygones, ce qui signifie qu'elles ont plus de sommets que le moteur doit calculer lorsqu'il rend leur apparence visuelle. Cela signifie que les ressources avec moins de complexité et de fidélité sont moins coûteuses à rendre, entraînant une amélioration à la fois des performances et de la mémoire.
Supprimer les transparences en couches
Pour fournir un sens du réalisme à l'environnement, l'environnement final de laser tag comprend de nombreux maillages avec des niveaux de transparence variables, tels que la végétation dans l'espace extérieur, le verre sur la signalisation futuriste ou la balustrade du pot. Lorsque la caméra visualise plusieurs objets semi-transparents qui se trouvent en avant ou derrière les uns les autres, le moteur Roblox doit rendre les pixels superposés plusieurs fois pour tenir compte des zones transparentes. Ce processus est appelé surcalque de haute transparence et cela a un impact significatif sur les performances.
Par exemple, considérez la vue suivante d'un pot dans l'environnement d'échantillon. 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, équivalant à des centaines de milliers de pixels surcalé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, surtout dans de grandes zones de l'écran.


Lorsque vous aurez terminé d'examiner tout votre contenu pour vous assurer qu'il est optimal sur les appareils, votre expérience est maintenant prête pour publication !