Le logo USK est celui du système de rating allemand il me semble. Ils ont une autorité à part concernant le classement des jeux vidéos (comme l'Angleterre jusqu'à très récemment). D'ailleurs l'Allemagne est connue aux côtés de l'Australie pour être un des pays les plus sévère en terme de rating de jeu, n'hésitant pas à aller jusqu'à la censure ou l'interdiction à la vente. En Australie les jeux déconseillés au moins de 18 ans sont interdit à la vente dans le commerce "traditionnel" d'après ce que j'ai cru comprendre.
Revenons maintenant à nos lumières et au problème de l'éclairage dans le jeu vidéo. Je vais essayer de vous expliquer ça de manière synthétique et clair. (c'est pas gagné

)
La première chose à savoir est donc qu'il a deux familles d'éclairage: l'éclairage pré-calculé (statique) et l'éclairage temps réel (dynamique). Chacune de ces deux méthodes a ses avantages et ses inconvénients.
L'éclairage pré-calculé:
Comme son nom l'indique, il ne consomme pas de temps de calcul processeur quand le jeu tourne, tout simplement parce qu'il a été calculé en amont dans le logiciel de 3D. Dans le jeu vidéo il faut faire la différence entre le soft de 3D dans lequel on va créer nos objets et décors, et le moteur de jeu dans lequel ses ressources vont être intégrées ensuite. Tout l'éclairage statique d'un jeu est donc créé dans le logiciel de 3D (c'est possible de le faire dans les moteurs de jeux, mais on va compliquer le truc plus que ça ne l'ai déjà ^^).
L'artiste qui créé son décor, voit donc sa scène 3D dans son logiciel sans aucun éclairage. Ou plutôt, avec un éclairage neutre. C'est à dire une lumière de couleur unie, éclairant la scène de tout les côtés et ceci de manière uniforme. Il n'y a donc pas d'ombres présente. La personne s'occupant de l'éclairage va être chargée de faire le lighting de la scène, c'est à dire créer l'ambiance lumineuse du décor. Pour cela il va commencer par régler la lumière ambiante. Dans le cas d'un coucher de soleil on choisira une lumière ambiante tirant sur le orange par exemple. Ensuite suivant qu'on soit en extérieur ou en intérieur différentes techniques sont utilisées, mais en gros il faut placer des lumières un peu partout pour recréer toutes les sources lumineuses présentent dans le décor. Par exemple un lampadaire, un panneau lumineux, le soleil, ...
Une fois que tout est en place, c'est là qu'on va calculer l'éclairage et l'appliquer sur le décor, là aussi plusieurs méthodes, on peut transférer les données de l'éclairage directement sur la texture d'un objet ou encore sur les "vertex" (points) qui composent l'objet (ça s'appel du"vertex color", si vous voulez frimer devant vos potes

). Une fois l'éclairage transféré sur nos objets ils ne restent plus qu'à les importer dans le moteur de jeu pour voir le tout s'afficher en temps réel.
Avantages:
- Tout est pré-calculé, la console ou le PC économise énormément de ressources puisqu'il n'a plus à se préoccuper de l'éclairage, tout est déjà enregistré sur les objets.
- On peut créer des éclairages extrêmement complexes, obtenir des ambiances vraiment très travaillées avec une qualité optimal.
Désavantages:
- Tout est pré-calculé, donc l'éclairage ne peut plus changer une fois dans le jeu. Imaginez un jeu gérant le cycle jour/nuit, les ombres resteraient sur place, malgré le mouvement du soleil. Au final, l'éclairage pré-calculé ne peut pas gérer une source lumineuse en mouvement (logique ^^).
- Prenons un lampadaire éclairant de nuit dans un FPS, le joueur tir sur le lampadaire et détruit l'ampoule, l'éclairage ne disparaît pas pour autant.
- Le personnage du joueur n'est pas affecté par l'éclairage. Imaginons que le héros se balade dans le noir et qu'il passe devant une source lumineuse, celle-ci n'aurait aucun effet sur le personnage qui resterait tout noir.
L'éclairage temps réel:
L'éclairage temps réel quand à lui, est géré par le moteur de jeux lui même. La scène est créée dans le logiciel de 3D puis importée dans le moteur. Et c'est une fois dans le moteur qu'on va ajouter des lumières dans le décor. La démarche est la même que pour l'éclairage pré-calculé, la personne ayant en charge l'éclairage va positionner des lumières là où il en faut. Sauf que cette fois ci, rien n'est calculé en amont, c'est une fois le jeu lancé que le moteur va gérer l'éclairage en temps réel. Créations des ombres, coloration du décor en fonction de la couleur de la source lumineuse, ...
Avantages:
- La lumière est gérée dynamiquement, à nous les joies d'un cycle jour/nuit réaliste par exemple.
- Une source lumineuse peut être en mouvement, indispensable pour les phares d'une voiture qui roule ou encore une lampe torche.
Désavantages:
- Extrêmement gourmand en ressource.
- Plus il y a de sources lumineuses affichées en même temps, plus ce sera consommateur, on est donc contraint par un nombre limité de lumières affichées en même temps autour du personnage du joueur.
Au final dans un jeu, on utilise à la fois de l'éclairage pré-calculé et de l'éclairage temps réel afin de tirer partis des avantages des deux techniques tout en limitant leurs inconvénients. Tout ça dans le but d'obtenir un résultat le plus agréable possible à l'oeil sans faire ramer le jeu. Tout cela étant amélioré par la monté en puissance des différentes plates-formes sur lesquelles nous jouons.
De la même manière le jeu vidéo est un monde de bricoleurs, chaque petite astuce qui permettra d'économiser un peu de ressource est bonne à prendre. Un exemple concret sur l'éclairage dynamique:
Dans un GTA, une source lumineuse n'est calculée que si elle se trouve dans l'entourage immédiat du joueur. Logique, il n'y aucun intérêt à perdre des ressources pour calculer les ombres créées par un lampadaire situé à l'autre bout de la map (phénomène de clipping, vous devriez connaître ça).
Voilà, je suis pas rentré dans le détail pour rester le plus clair possible, mais si vous avez des questions n'hésitez pas

.
Legacy wrote:Peut être vas-tu pouvoir m'expliquer plus précisément le phénomène d'occlusion ambiante des jeux pour les décors, je crois que cela permet de générer le décor en temps réel autour du joueur en fonction de sa position sur la map ou de l'intensité et de la direction de la lumière, parce que jusqu'alors si j'ai bien compris les décors étaient toujours fixes et dessinés à l'avance. Enfin, c'est un point flou que j'ai un peu de mal à comprendre.
Ça répond pas réellement à la question que tu te posais au final je crois, mais tu abordes plusieurs sujets en même temps dans ta phrase il me semble:
- Ambient Occlusion: une technique d'éclairage
- Ressources procédurales: des ressources créées à partir de données mathématiques (par exemple une montagne 3D créée avec de véritables données topographiques)
- Normal map: une texture qui sert à simuler du relief sur une surface plane en créant de l'ombre à partir de l'orientation des normale des face stockées dans cette texture
- Chargement des données: traditionnel ou en streaming