Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
VoxelGI
Hérite de : VisualInstance3D < Node3D < Node < Object
Sonde d’éclairage global (GI) en temps réel.
Description
Les VoxelGIs sont utilisées pour fournir une lumière indirecte en temps réel et en haute qualité à des scènes. Elles pré-calculent les effets d'objets qui émettent de la lumière et l'effet de la géométrie statique pour simuler le comportement de lumières complexes en temps réel. Les VoxelGIs doivent être pré-calculées avant d'avoir un effet visible. Cependant, mais une fois calculées, les objets dynamiques recevront d'elles de la lumière. De plus, des lumières peuvent être entièrement dynamiques ou pré-calculées.
Note : VoxelGI n'est prise en charge que dans la méthode de rendu Forward+, pas Mobile ou Compatibilité.
Génération procédurale : VoxelGI peut être pré-calculée dans un projet exporté, ce qui la rend adaptée pour des niveaux générés de manière procédurale ou construits par l'utilisateur tant que la géométrie est générée à l'avance. Pour les jeux où la géométrie est générée à tout moment du gameplay, la SDFGI est plus adaptée (voir Environment.sdfgi_enabled).
Performance : VoxelGI est relativement exigeante sur le GPU et n'est pas adaptée au matériel d'entrée de gamme tel que les cartes graphiques intégrées (utilisez plutôt LightmapGI). Pour améliorer les performances, ajustez ProjectSettings.rendering/global_illumination/voxel_gi/quality et activez ProjectSettings.rendering/global_illumination/gi/use_half_resolution dans les Paramètres du projet. Pour fournir une solution de repli au matériel d'entrée de gamme, envisagez d'ajouter une option pour désactiver VoxelGI dans les menus d'options de votre projet. Un nœud VoxelGI peut être désactivé en le cachant..
Note : Les maillages doivent avoir des murs suffisamment épais pour éviter les fuites de lumière à travers (évitez les murs qui n'ont qu'un seul côté). Pour les niveaux intérieurs, enfermez votre géométrie du niveau dans une boîte suffisamment grande et bouchez les trous pour fermer le maillage. Pour éviter encore plus les fuites de lumière, vous pouvez également placer stratégiquement des nœuds MeshInstance3D temporaires avec leur GeometryInstance3D.gi_mode défini à GeometryInstance3D.GI_MODE_STATIC. Ces nœuds temporaires peuvent ensuite être cachés après avoir pré-calculé le nœud VoxelGI.
Tutoriels
Propriétés
|
||
|
Méthodes
void |
bake(from_node: Node = null, create_visual_debug: bool = false) |
void |
Énumérations
enum Subdiv: 🔗
Subdiv SUBDIV_64 = 0
Utilise 64 subdivisions. C’est le réglage de qualité la plus basse, mais le plus rapide. Utilisez-le si vous le pouvez, mais surtout utilisez-le sur du matériel bas de gamme.
Subdiv SUBDIV_128 = 1
Utilise 128 subdivisions. Il s’agit du paramètre de qualité par défaut.
Subdiv SUBDIV_256 = 2
Utilise 256 subdivisions.
Subdiv SUBDIV_512 = 3
Utilise 64 subdivisions. C’est le réglage de qualité la plus haute, mais le plus lent. Le GPU peut même ramer sur les appareils peu puissants.
Subdiv SUBDIV_MAX = 4
Représente la taille de l'énumération Subdiv.
Descriptions des propriétés
CameraAttributes camera_attributes 🔗
void set_camera_attributes(value: CameraAttributes)
CameraAttributes get_camera_attributes()
La ressource CameraAttributes qui précise les niveaux d'exposition auxquels pré-calculer. Les propriétés d'auto-exposition et de non-exposition seront ignorées. Les paramètres d'exposition devraient être utilisés pour réduire la plage dynamique présente lors du pré-calcul. Si l'exposition est trop élevée, le VoxelGI aura des artéfacts de bande ou peut avoir des artéfacts de sur-exposition.
VoxelGIData data 🔗
void set_probe_data(value: VoxelGIData)
VoxelGIData get_probe_data()
La ressource VoxelGIData qui contient les données de ce VoxelGI.
Vector3 size = Vector3(20, 20, 20) 🔗
The size of the area covered by the VoxelGI. This must be 1.0 or greater on each axis.
Note: If you make the size larger without increasing the number of subdivisions with subdiv, the size of each cell will increase and result in less detailed lighting.
Nombre de sous-divisions de la grille sur laquelle le VoxelGI opère. Un nombre plus élevé résulte en un détail plus fin et donc une qualité visuelle plus élevée, tandis que les nombres plus bas résultent en une meilleure performance.
Descriptions des méthodes
void bake(from_node: Node = null, create_visual_debug: bool = false) 🔗
Pré-calcul l'effet de toutes les GeometryInstance3Ds marquées avec GeometryInstance3D.GI_MODE_STATIC et les Light3Ds marquées avec Light3D.BAKE_STATIC ou Light3D.BAKE_DYNAMIC. Si create_visual_debug vaut true, après avoir pré-calculé la lumière, cela générera un MultiMesh qui a un cube représentant chaque cellule solide avec chaque cube coloré à la couleur d'albedo de la cellule. Ceci peut être utilisé pour visualiser les données de VoxelGI et déboguer toute problème qui pourrait se produire.
Note : bake() fonctionne depuis l'éditeur et dans des projets exportés. Cela le rend adapté aux niveaux générés procéduralement ou construits par l'utilisateur. Pré-calculer un noeud VoxelGI prend généralement de 5 à 20 secondes dans la plupart des scènes. Réduire subdiv peut accélérer le calcul.
Note : Les GeometryInstance3Ds et les Light3Ds doivent être entièrement prêtes avant que bake() soit appelée. Si vous créez de façon procédurale celles-ci et que certains maillages ou lumières sont manquants de votre VoxelGI pré-calculée, utilisez call_deferred("bake") au lieu d'appeler bake() directement.
void debug_bake() 🔗
Appelle bake() avec create_visual_debug activé.