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...
CanvasGroup
Успадковує: Node2D < CanvasItem < Node < Object
Об’єднує кілька 2D вузлів в одну операцію малювання.
Опис
Дочірні вузли CanvasItem об'єкта CanvasGroup малюються як один об'єкт. Це дозволяє, наприклад, малювати перекриваючі напівпрозорі 2D-вузли, не роблячи перекриваючі ділянки більш непрозорими, ніж передбачалося (для досягнення цього ефекту встановіть властивість CanvasItem.self_modulate об'єкта CanvasGroup).
Примітка: Об'єкт CanvasGroup використовує власний шейдер для зчитування з бекбуфера для малювання своїх дочірніх об'єктів. Призначення Material об'єкту CanvasGroup перевизначає вбудований шейдер. Щоб дублювати поведінку вбудованого шейдера у власному Shader, використовуйте наступне:
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;
}
Примітка: Оскільки CanvasGroup та CanvasItem.clip_children використовують зворотний буфер, дочірні елементи CanvasGroup, у яких CanvasItem.clip_children встановлено значення, відмінне від CanvasItem.CLIP_CHILDREN_DISABLED, не працюватимуть належним чином.
Властивості
|
||
|
||
|
Описи властивостей
Встановлює розмір поля, яке використовується для розширення прямокутника очищення цієї CanvasGroup. Це розширить область заднього буфера, яка буде використовуватися CanvasGroup. Менший запас зменшить площу використовуваного резервного буфера, що може підвищити продуктивність, однак, якщо use_mipmaps увімкнено, малий запас може призвести до помилок mipmap на краю CanvasGroup. Відповідно, його слід залишити якомога меншим, але збільшити, якщо по краях групи полотен з’являються артефакти.
Встановлює розмір поля, яке використовується для розширення прямокутника, який можна намалювати, цієї CanvasGroup. Розмір CanvasGroup визначається підгонкою прямокутника навколо його дочірніх елементів, а потім розширенням прямокутника на fit_margin. Це збільшує як використовувану область зворотного буфера, так і область, охоплену CanvasGroup, що може знизити продуктивність. Він має бути якомога меншим і розширюватися лише тоді, коли потрібно збільшити розмір (наприклад, для спеціальних ефектів шейдерів).
Якщо true, перед малюванням CanvasGroup обчислюються міп-мапи для буфера відтворення, щоб їх можна було використовувати у власному ShaderMaterial, приєднаному до CanvasGroup. Створення міп-мап знижує продуктивність, тому цю опцію слід вмикати лише за необхідності.