Que signifie bake lightmap? Jai entendu cela dans Unity3d, et jai encore trouvé ce plugin LightUp pour sketchup qui cuit la lightmap.
Daprès ce que jobserve, la lightmap cuite donne à lobjet 3D une sensation beaucoup plus réaliste. Le but de la lumière sur lobjet est-il de donner à lanimation cg laspect que vous voyez sur les animations pré-rendues?
Commentaires
- Aussi, à chaque fois que vous cuire quelque chose, que ce soit la physique, léclairage ou autre chose. Cela signifie que vous avez configuré quelque chose qui prendra beaucoup de temps à rendre / traiter en temps réel, ou que vous voulez quil soit lu de la même manière à chaque fois, donc vous ne le faites quune seule fois et enregistrez les résultats pour une utilisation ultérieure, et parce que tous les calculs sont effectués, laffichage de ce qui a été cuit est rapide, et toujours le même dans toutes les parties.
- AttackingHobo, cest une excellente façon de le dire. Je le comprends maintenant. Mais curieux, comment la physique serait-elle élaborée? Luxrender produit-il des rendus photoréalistes parce quils peuvent calculer la physique de la lumière?
- La physique peut être cuite pour des scènes complexes en simulant et en stockant une fois toutes les positions des objets, les rotations, etc. pour chaque pas de temps. Ensuite, au lieu de recalculer à nouveau toutes les valeurs en direct, elles sont simplement lues à partir des valeurs stockées.
Réponse
Lorsque vous avez une lumière statique (non mobile) dans un jeu, vous avez deux options pour rendre cette lumière. Vous pouvez le rendre comme une lumière dynamique; cest-à-dire, faites-le passer par le pipeline de shader qui calculera son effet sur tout ce qui lentoure, chaque image, en route vers lécran. Cest évidemment assez cher. Ou, un éditeur peut cuire la lumière dans la scène.
Ce que jai toujours pensé de la cuisson était peut-être une version plus simple: en gros, léditeur prend juste les textures de tout autour de la lumière, calcule leffet de la lumière sur ces textures (les éclaircit, peut-être les colore, les ombres, etc.) et les enregistre comme textures de remplacement à utiliser. Ainsi, toutes les textures autour de la « lumière » semblent avoir une lumière sur elles, mais à runtime il ny a en fait pas de lumière du point de vue du calcul; cest essentiellement une illusion doptique.
Unity, cependant, semble générer une lightmap . Ceci est similaire à la notion ci-dessus , mais léclairage cuit est conservé séparément au lieu de modifier la texture sous-jacente, et je suppose quun shader fusionne les deux à lexécution. Cela aurait lavantage de conserver lavantage des textures en mosaïque (cest-à-dire une faible utilisation de la mémoire), car elles ne le feraient pas. avoir la lumière cuite directement en eux donc ils pourraient rester carrelés, et le shader serait très léger, surtout comparé au traitement de la lumière comme dynamique.
Une lumière doit évidemment être statique pour que cela fonctionne; cest-à-dire que vous ne pouvez pas le déplacer pendant le jeu, car la lumière a été cuite dans les textures. De plus, tout objet dynamique dans la pièce (comme le personnage du joueur) ne sera pas éclairé par la lumière, il faut donc être une sorte dexception, où la lumière est rendue pour des objets dynamiques mais pas (re) rendue sur la scène statique.
Commentaires
- Et la plupart du temps, parce que léclairage est adouci, la lightmap peut être enregistrée dans une résolution inférieure à celle du reste des textures, elle a toujours lair bien, mais rend plus rapide et prend moins de mémoire.
- +1, cest une réponse vraiment agréable et complète, merci. 🙂