Comment les jeux vidéos sont optimisés ? Unreal Engine 5
Вставка
- Опубліковано 28 вер 2023
- Salut, dans cette vidéo je montre 2 astuces très importantes sur Unreal Engine 5. On voit comment ajouter des LOD ( level of détails ) et modifier la taille des textures. Les sujets concernant l'optimisation sont plus nombreux mais ces deux sujets resteront pour le moment parmi les plus importants. Si vous avez des questions vous pouvez rejoindre le discord ou les poser en commentaires.
Discord : / discord
Twitch : / kayomiil
Instagram : / kayomil_
X : x.com/Kayomil1
🙂 N'oubliez pas de vous abonner et d'activer les notifications.
Rapide et simple à comprendre, bien vu 👍
Bravo ça donne vachement envie, le jeu est magnifique !
merci, je publierai d'autres videos sur le jeu dans quelques semaines
Salut, très bonne vidéo!
Salut, merci 😁
Super la vidéo
merci
tres bonne video tres bon tuto on sennuie pas c'est cool merci beaucoup
merci pour ton commentaire
tres bien expliquer merci
merci à toi aussi
Très bonne chaine j'espère vous irez loin
merci beaucoup pour le commentaire
salut super vidéo ! comment as tu fais pour faire cette lumiere 00:04 tres realiste ??
Bonjour et merci pour ta vidéo.
Avec le concept de jeu à la lampe torche tu peux effectivement y aller très fort sur la LOD sans risque de cliping.
Y a t'il une possibilité d'optimiser les objets et textures pas en fonction de la distance mais en fonction de ce qui est vue ? Par exemple : angle d'ouverture de la caméra 60° au-delà d'un cône de 120° -> LOD de 3 ou 4 (idem pour les textures).
Bon courage pour ton projet perso. (Je suis architecte si tu as des questions à ce sujet n'hésite pas)
Bonjour, merci pour la proposition de ton aide. Unreal Engine 5 prend en compte automatiquement cette idée. Si le joueur regarde le sol, tout ce qui est aux alentours reste présent mais en diminuant l'impact sur les fps. En plus de ce système automatique, tu peux faire disparaitre directement les objets qui ne sont pas vu par la caméra. Tu peux pas choisir les niveaux de lod en fonction de l'angle mais Unreal Engine 5 faits en sorte de pas voir une différence dans la vue du joueur. Tu peux te renseigner en recherchant " Visibility and Occlusion Culling " ou sinon directement voir directement sur le site Unreal Engine :
docs.unrealengine.com/5.0/en-US/visibility-and-occlusion-culling-in-unreal-engine/
Merci pour cette vidéo 👍 petite question, quelle config pour créer un jeu réaliste de ce type ? Bonne continuation
De rien, il n'y a pas vraiment de configuration à respecter. Plus le PC est performant, plus tu seras rapide. En résumé, tant que ton PC est capable d'ouvrir Unreal Engine 5 dans des conditions correctes, tu peux travailler sur un projet similaire. Il te fera juste peut-être attendre pendant des chargements de rendu. Unreal Engine offre la possibilité de baisser la qualité du projet en travaillant dessus. Sinon, voici la configuration minimale recommandée par Unreal Engine.
docs.unrealengine.com/5.0/en-US/hardware-and-software-specifications-for-unreal-engine/
Pour de l'optimisation "de base" c'est plutot une bonne presentation. Je sais pas si on peut le mettre dans les stades avance de l'optimisation mais la diminution du nombre de drawcall via les instances par exemple me semble plus important que le nombre de polygons. Ensuite le lighting est souvent source de perte de FPS, mauvaise gestion des radius, cast shadow ...
c'est vrai qu'il y a d'autres sujets pour l'optimisation. J'ai juste sélectionné quelques méthodes pour éviter une vidéo longue. Les sujets que tu as écrits restent aussi très importants, mais selon le type de projet, les polygons peuvent être plus impactants (tout les méthodes combinée est forcément meilleure). Si le projet contient beaucoup d'objets avec beaucoup de polygones, se focaliser sur le nanite/LOD peut être plus impactant. Si c'est l'inverse, le draw call peut avoir un meilleur résultat
Top la vidéo ! est ce que les polygones d'un mesh son calculer si il sont cachés par un autre mesh (comme ici avec ton tas de gravats qui est caché en partie par le mur ? Merci d'avance pour ta réponse 😀
merci, oui le mesh est calculé même s'il est caché par un autre mesh. Unreal Engine 5 diminue automatiquement l'importance des mesh qui se trouve à l'arrière de la camera mais reste précalculé pour être prêt si le joueur se tourne. Il est quand même possible de cacher les mesh qui ne sont pas visibles dans la caméra avec le "visibilility occlusion culling". Tu peux te renseigner sur le sujet en l'écrivant ou voir le site d'Unreal Engine 5:
docs.unrealengine.com/5.0/en-US/visibility-and-occlusion-culling-in-unreal-engine/
@@Kayomil Merci pour ta réponse rapide !
@@Kayomil Et dans le cas ou une partie d'un mesh n'est jamais visible par le joueur est ce que c'est calculé ?
@@geoffm6255 même quand le mesh n'est jamais visible il sera calculé à partir du moment qu'aucun lod a été ajouté. L'impact sera minimisé car il sera pas calculé à 100% mais calculé de sorte à être visible instantanément au moment ou le joueur regardera vers la direction du mesh. Alors que si tu optimise et fait en sorte qu'il disparait à partir d'une certaine distance, Unreal Engine 5 ne sera pas obligé de calculé en fond un mesh non visible. Tu peux aussi utiliser Nanite, c'est plus rapide et même combiner lod avec nanite
@@Kayomil D'accord merci pour toutes tes infos !
As-tu d'autres vidéo sur l'optimisation? difficile de trouver des tutos..
pour le moment non
@@Kayomil tu donnes des cours particulier? j'aurais besoin de 2 ou 3h, quoi.. histoire que tu m'expliques quelques petite chose
s..
@@BoratPitt non désolé pas de cours particulier
Salut ! j'ai une question, pour la modification de la taille de la texture, tu le fais dans l'engine, mais comment ont le fait pour le modifier dans le code (dans les options), parce que dans "game user settings" la "texturequality" ne change pas la taille de la texture :/
Salut, normalement, si tu appliques comme dans la vidéo et que tu as mis 2k, le joueur le verra en 2k. Si tu veux permettre au joueur de choisir, malheureusement, je ne peux pas aider en détail. J'ai acheté un asset qui inclut ce paramètre, mais je vais vérifier comment les codes ont été faits et je vais écrire un nouveau commentaire plus tard. Sinon, viens sur Discord, je partagerai en image
@@Kayomil Merci ! ouais j'ai du mal avec les textures, même les LOD des textures, je crois que c'est les "mipmap" mais je comprend rien x)
@@ascentslight_games J'ai vu comment l'asset a été créé pour la modification de texture depuis un menu. Si tu veux, je peux t'envoyer des images depuis Discord pour le blueprint. Si j'ai mal compris ta question, tu peux me montrer l'endroit concerné par image sur Discord
@@ascentslight_games au passage si tu applique une modification de texture sur le mesh, il est automatiquement aussi appliqué pour le LOD. Mais après si tu veux laisser le choix aux joueurs la c'est plus compliqué à expliquer, au pire je te passe directement le dossier avec les blueprint
Salut ! Le lien du discord est expiré :/
salut, merci pour l'information
discord.gg/K9W5AfCgTq
Pourquoi avoir utilisé les LODs et pas Nanite? 🤨
Nanite ne fait pas un gain de fps dans le projet, il n'est pas inutile et maintient la qualité du mesh au maximum peu importe la distance. Nanite est une version améliorée du LOD mais quand un grand nombre de mesh est présent, le fps reste stable. Alors que le LOD fait un gain de plusieurs dizaines de Fps
@@KayomilC'est faux, nanite permet clairement d'avoir un gain de FPS comme les LODs voir même parfois un gain par rapport aux LODs en plus d'avoir un meilleur rendu.
Il ne maintient pas la qualité du mesh, sauf si c'est ce que tu configure, en réalité il modifie en temps réel le mesh pour réduire la quantité de poly affiché, et comme c'est fait en temps réel et de manière smooth, on vois aucune différence, donc on a l'impression qu'il n'y a aucune changement de qualité, alors qu'en réalité le changement est imperceptible.
C'est du LOD mais en plus avancé, car il permet de garder l'illusion d'une qualité réaliste, comparé à un changement brusque de model que fait le LOD et qui ce vois direct.
@@LyriaStudio Je parle de notre projet, on a déjà testé, et les FPS n'ont pas du tout changé. Malgré ça, on combine Nanite et LOD. Je sais que la qualité change, mais comme tu l'as dit, on ne s'en rend pas compte, donc j'ai résumé en disant que ça ne change pas. Merci pour ton retour. Je vais tester sur d'autres projets par curiosité. Peut-être que des améliorations ont eu lieu entre les versions
@@KayomilAprès c'est vrai que dans l'éditeur c'est pas la même chose et ça s'améliore beaucoup au fur et a mesure, en 5.0 je dis pas, mais après ce qui a été optimisé avec 5.1, 5.2 et 5.3 ça commence a donner quelque chose de vraiment intéressant, d'autant que sa permet clairement un gain de temps pour les artist 3D *.\*
Comment tu creer tes beaux murs ?
J'ai juste modélisé sur Blender tout le nécessaire pour avoir un immeuble modulaire, sol, mur, mur avec porte etc. Un simple copier-coller pour agrandir et créer l'immeuble comme je le souhaite dans Unreal Engine. Ensuite, j'ai simplement appliqué la texture que j'ai téléchargée sur Quixel, en diminuant légèrement sa qualité, car une fois en 4k, le projet devient lourd
@@Kayomil yes merci de ta reponse , c est predamike je t ai rejoinds sur ton discord ! Tu es top
Avec nanite, le nombre de polygone a moins d'impact
on a déjà eu une discussion sur le nanite dans un autre commentaire, oui le nanite est utile mais dans le projet qui est dans la vidéo. Les résultats était meilleur une fois des LOD ajouté, nanite et LOD sont combiné dans le projet
@@Kayomil Nanite est parefait pour les enfironements ouvert comme les open world, si l'environement est ferme la tout depend de la vision des devs.
@@joantonio6331 Si Nanite fonctionne quelle que soit la condition, c'est parfait, gain de temps. Dans ce projet, je n'ai pas utilisé la version récente. Les versions plus récentes ont sûrement de meilleurs résultats, je vais essayer
@@Kayomil moi j'utilise une 5.3 et absolument tout les meshes que j'utilise sont nanite car surtout ils sont high poly car je veux la fidélité dans les murs et tout et vu que c'est un open world, je le veux hyper réaliste du coup tout c'est nanite
@@joantonio6331 Peu importe la version au-dessus de 5, j'utilise tout le temps Nanite. Juste au moment de cette vidéo, en combinant Nanite et LOD, j'avais obtenu de meilleurs résultats. Du coup, j'avais eu envie d'en parler dans la vidéo. Dans un futur proche, LOD sera complètement inutile