CanvasGroup
Eredita: Node2D < CanvasItem < Node < Object
Unisce vari nodi 2D in un'unica operazione di disegno.
Descrizione
I nodi CanvasItem figli di un CanvasGroup sono disegnati come un singolo oggetto. Ciò consente, ad esempio, di disegnare nodi 2D traslucidi sovrapposti senza fusione (imposta la proprietà CanvasItem.self_modulate di CanvasGroup per ottenere questo effetto).
Nota: Il CanvasGroup usa uno shader personalizzato per leggere dal backbuffer per disegnare i suoi figli. L'assegnazione di un Material al CanvasGroup sovrascrive lo shader integrato. Per duplicare il comportamento dello shader integrato in uno Shader personalizzato, usa quanto segue:
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;
}
Nota: Poiché CanvasGroup e CanvasItem.clip_children utilizzano entrambi il backbuffer, i figli di un CanvasGroup che hanno il loro CanvasItem.clip_children impostato su un valore diverso da CanvasItem.CLIP_CHILDREN_DISABLED non funzioneranno correttamente.
Proprietà
|
||
|
||
|
Descrizioni delle proprietà
Imposta la dimensione del margine utilizzato per espandere il rettangolo di compensazione di questo CanvasGroup. Questo espande l'area del backbuffer che sarà utilizzata dal CanvasGroup. Un margine più piccolo ridurrà l'area utilizzata dal backbuffer, il che può aumentare le prestazioni, tuttavia se use_mipmaps è abilitato, un margine piccolo potrebbe causare errori nelle mipmap sul bordo del CanvasGroup. Pertanto, questo dovrebbe essere lasciato il più piccolo possibile, ma dovrebbe essere aumentato se compaiono artefatti lungo i bordi del gruppo canvas.
Imposta la dimensione di un margine utilizzato per espandere il rettangolo disegnabile di questo CanvasGroup. La dimensione del CanvasGroup è determinata adattando un rettangolo attorno ai suoi figli, quindi espandendo tale rettangolo di fit_margin. Ciò aumenta sia l'area del backbuffer utilizzata, sia l'area coperta dal CanvasGroup, entrambe le quali possono ridurre le prestazioni. Dovrebbe essere mantenuto il più piccolo possibile e dovrebbe essere espanso solo quando è necessaria una dimensione maggiore (ad esempio per effetti di shader personalizzati).
Se true, calcola le mipmap per il backbuffer prima di disegnare il CanvasGroup in modo che le mipmap siano utilizzabili in uno ShaderMaterial personalizzato allegato al CanvasGroup. La generazione delle mipmap ha un costo in termini di prestazioni, pertanto questa opzione non dovrebbe essere abilitata a meno che non sia necessario.