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...
Cubemap
Успадковує: ImageTextureLayered < TextureLayered < Texture < Resource < RefCounted < Object
Шість квадратових текстур, що представляють обличчя куба. Зазвичай використовується як хмарочос.
Опис
Кубічна карта складається з 6 текстур, організованих у шари. Зазвичай вони використовуються для імітації відображень у 3D-візуалізації (див. ReflectionProbe). Його можна використовувати, щоб зробити об’єкт таким, ніби він відображає навколишнє середовище. Це зазвичай забезпечує набагато кращу продуктивність, ніж інші методи відображення.
Цей ресурс зазвичай використовується як уніформа в власних шейдерах. Кілька основних методів Godot використовують ресурси Cubemap.
Щоб самостійно створити такий файл текстури, повторно імпортуйте файли зображень за допомогою попередніх налаштувань імпорту редактора Godot. Щоб створити Cubemap із коду, використовуйте ImageTextureLayered.create_from_images() для екземпляра класу Cubemap.
Очікуваний порядок зображень: X+, X-, Y+, Y-, Z+, Z- (у системі координат Godot, тому Y+ — «вгору», а Z- — «вперед»). За основу можна взяти один із наступних шаблонів:
Примітка: ** Godot не підтримує використання кубичних карт у :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`. Щоб використовувати кубічну карту як скайбокс, перетворіть :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>` на :ref:`ShaderMaterial<class_ShaderMaterial>` за допомогою параметра **Convert to ShaderMaterial ресурсу, що випадає, а потім замініть його код таким:
shader_type sky;
uniform samplerCube source_panorama : filter_linear, source_color, hint_default_black;
uniform float exposure: hint_range(0, 128) = 1,0;
void sky() {
// Якщо імпортуєте кубічну карту з іншого механізму, вам може знадобитися перевернути один із компонентів `EYEDIR` нижче
// замінивши його на `-EYEDIR`.
vec3 eyedir = vec3(EYEDIR.x, EYEDIR.y, EYEDIR.z);
COLOR = texture(source_panorama, eyedir).rgb * exposure;
}
Після заміни коду шейдера та збереження вкажіть імпортований ресурс Cubemap у розділі Shader Parameters ShaderMaterial в інспекторі.
Крім того, ви можете використовувати цей інструмент, щоб перетворити кубічну карту на рівнопрямокутну карту неба та використовувати PanoramaSkyMaterial як зазвичай.
Методи
Resource |
create_placeholder() const |
Описи методів
Resource create_placeholder() const 🔗
Створює резиденцію вкладника цього ресурсу (ОтримувачаКупета).