CanvasGroup
Hérite de : Node2D < CanvasItem < Node < Object
Fusionne plusieurs nœuds 2D en une seule opération de dessin.
Description
Les nœuds enfants CanvasItem d'un CanvasGroup sont dessinés comme un seul object. Cela permet par exemple de dessiner des nœuds 2D enchevêtrés sans mélange (activer la propriété CanvasItem.self_modulate de CanvasGroup pour aboutir à cet effet).
Remarque : Le CanvasGroup utilise un shader pour lire depuis le tampon arrière pour dessiner ses enfants. Affecter un Material au CanvasGroup remplacera le shader de base. Pour dupliquer le comportement du shader de base dans un Shader personnalisé, le code suivant peut être utilisé :
shader_type canvas_item;
render_mode unshaded;
uniform sampler2D screen_texture : hint_screen_texture, repeat_disable, filter_nearest;
void fragment() {
vec4 c = textureLod(screen_texture, SCREEN_UV, 0.0);
if (c.a > 0.0001) {
c.rgb /= c.a;
}
COLOR *= c;
}
Remarque : Vu que CanvasGroup et CanvasItem.clip_children utilisent tous deux le tampon arrière, les enfants d'un CanvasGroup qui ont leur propriété CanvasItem.clip_children définie à toute valeur exceptée CanvasItem.CLIP_CHILDREN_DISABLED ne fonctionneront pas correctement.
Propriétés
|
||
|
||
|
Descriptions des propriétés
Définit la taille de la marge utilisée pour élargir le rectangle d’effacement de ce CanvasGroup. Cela étend l'aire du tampon arrière qui sera utilisée par le CanvasGroup. Une marge plus basse réduira l'aire du tampon arrière utilisée qui peut améliorer la performance, cependant si use_mipmaps est activé, une marge basse causera des erreurs de mipmap aux extrémités du CanvasGroup. De ce fait, la valeur doit rester aussi basse que possible, mais peut être rehaussée si des artefacts sont visibles aux extrémités du groupe.
Définit la taille d'une marge utilisée pour élargir le rectangle dessinable de ce CanvasGroup. La taille du CanvasGroup est déterminée en faisant correspondre un rectangle autour de ses enfants puis en élargissant ce rectangle par fit_margin. Cela augmente à la fois la taille du backbuffer utilisée et la zone couverte par le CanvasGroup, ce qui peut réduire les performances. Cela devrait être maintenu aussi petit que possible et ne devrait être élargi que si une taille accrue est nécessaire (p. ex. pour des effets de shaders personnalisés).
Si true, calcule les mipmaps pour le backbuffer avant de dessiner le CanvasGroup afin que les mipmaps puissent être utilisées dans un ShaderMaterial personnalisé attaché au CanvasGroup. Générer des mipmaps a un coût sur les performances, cela ne devrait donc pas être activé sauf si nécessaire.