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.

Material

Успадковує: Resource < RefCounted < Object

Успадковано від: BaseMaterial3D, BlitMaterial, CanvasItemMaterial, FogMaterial, PanoramaSkyMaterial, ParticleProcessMaterial, PhysicalSkyMaterial, PlaceholderMaterial, ProceduralSkyMaterial, ShaderMaterial

Віртуальний базовий клас по застосуванню візуальних властивостей об'єкту, таких як колір і грубість.

Опис

Material - базовий ресурс, який використовується для фарбування та затінення геометрії. Всі матеріали успадкують від неї і майже всі VisualInstance3D отримані вершини носять Material. Кілька прапорів і параметрів поділяться між усіма типами матеріалів і налаштовують тут.

Важливо, щоб створити власний тип матеріалу в скрипті або в GDExtension.

Посібники

Властивості

Material

next_pass

int

render_priority

Методи

bool

_can_do_next_pass() virtual const

bool

_can_use_render_priority() virtual const

Mode

_get_shader_mode() virtual required const

RID

_get_shader_rid() virtual required const

Resource

create_placeholder() const

void

inspect_native_shader_code()


Константи

RENDER_PRIORITY_MAX = 127 🔗

Максимальне значення параметра render_priority.

RENDER_PRIORITY_MIN = -128 🔗

Мінімальне значення для параметра render_priority.


Описи властивостей

Material next_pass 🔗

Налаштовує Material для наступного проходу. Цей об'єкт знову за допомогою іншого матеріалу.

Примітка: next_pass матеріали не обов'язково витягуються відразу після джерела Material. Порядок малювання визначається властивостями матеріалів, render_priority, і відстань до камери.

Примітка: Це стосується StandardMaterial3D і ShaderMaterial з типом "Spatial".


int render_priority 🔗

  • void set_render_priority(value: int)

  • int get_render_priority()

Встановлює пріоритет рендерингу для об'єктів у 3D-сценах. Об'єкти з вищим пріоритетом будуть відсортовані перед об'єктами з нижчим пріоритетом. Іншими словами, всі об'єкти з render_priority 1 будуть відрендерені поверх усіх об'єктів з render_priority 0.

Примітка: Це стосується лише StandardMaterial3D та ShaderMaterial з типом "Spatial".

Примітка: Це не вплине на те, як прозорі об'єкти сортуються відносно непрозорих об'єктів, або як динамічні сітки будуть відсортовані відносно інших непрозорих сіток. Це тому, що всі прозорі об'єкти малюються після всіх непрозорих об'єктів, а всі динамічні непрозорі сітки малюються перед іншими непрозорими сітками.


Описи методів

bool _can_do_next_pass() virtual const 🔗

Тільки схильні до мети переїдання. Ви не можете викликати цю функцію безпосередньо. Використовуються внутрішньо, щоб визначити, чи слід показувати next_pass в редакторі або ні.


bool _can_use_render_priority() virtual const 🔗

Тільки схильні до мети переїдання. Ви не можете викликати цю функцію безпосередньо. Використовуються внутрішньо, щоб визначити, чи слід показувати render_priority у редакторі або ні.


Mode _get_shader_mode() virtual required const 🔗

Тільки схильні до мети переїдання. Ви не можете викликати цю функцію безпосередньо. Використовуються внутрішні інструменти редактора.


RID _get_shader_rid() virtual required const 🔗

Тільки схильні до мети переїдання. Ви не можете викликати цю функцію безпосередньо. Використовуються внутрішні інструменти редактора. Використовується для доступу до Material Shader.


Resource create_placeholder() const 🔗

Створює резиденцію вкладника цього ресурсу (Складацький статут).


void inspect_native_shader_code() 🔗

Доступно лише під час роботи в редакторі. Відкриває спливаюче вікно, яке візуалізує згенерований код шейдера, включаючи всі варіанти та внутрішній код шейдера. Дивіться також Shader.inspect_native_shader_code().