mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
91 lines
7.0 KiB
ReStructuredText
91 lines
7.0 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_Cubemap:
|
||
|
||
Cubemap
|
||
=======
|
||
|
||
**Успадковує:** :ref:`ImageTextureLayered<class_ImageTextureLayered>` **<** :ref:`TextureLayered<class_TextureLayered>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Шість квадратових текстур, що представляють обличчя куба. Зазвичай використовується як хмарочос.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Кубічна карта складається з 6 текстур, організованих у шари. Зазвичай вони використовуються для імітації відображень у 3D-візуалізації (див. :ref:`ReflectionProbe<class_ReflectionProbe>`). Його можна використовувати, щоб зробити об’єкт таким, ніби він відображає навколишнє середовище. Це зазвичай забезпечує набагато кращу продуктивність, ніж інші методи відображення.
|
||
|
||
Цей ресурс зазвичай використовується як уніформа в власних шейдерах. Кілька основних методів Godot використовують ресурси **Cubemap**.
|
||
|
||
Щоб самостійно створити такий файл текстури, повторно імпортуйте файли зображень за допомогою попередніх налаштувань імпорту редактора Godot. Щоб створити Cubemap із коду, використовуйте :ref:`ImageTextureLayered.create_from_images()<class_ImageTextureLayered_method_create_from_images>` для екземпляра класу Cubemap.
|
||
|
||
Очікуваний порядок зображень: X+, X-, Y+, Y-, Z+, Z- (у системі координат Godot, тому Y+ — «вгору», а Z- — «вперед»). За основу можна взяти один із наступних шаблонів:
|
||
|
||
- `Шаблон кубічної карти 2×3 (параметр макета за замовчуванням) <https://raw.githubusercontent.com/godotengine/godot-docs/master/tutorials/assets_pipeline/img/cubemap_template_2x3.webp>`__
|
||
|
||
- `Шаблон кубічної карти 3×2 <https://raw.githubusercontent.com/godotengine/godot-docs/master/tutorials/assets_pipeline/img/cubemap_template_3x2.webp>`__
|
||
|
||
- `Шаблон кубічної карти 1×6 <https://raw.githubusercontent.com/godotengine/godot-docs/master/tutorials/assets_pipeline/img/cubemap_template_1x6.webp>`__
|
||
|
||
- `Шаблон кубічної карти 6×1 <https://raw.githubusercontent.com/godotengine/godot-docs/master/tutorials/assets_pipeline/img/cubemap_template_6x1.webp>`__
|
||
|
||
\ **Примітка: ** Godot не підтримує використання кубичних карт у :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`. Щоб використовувати кубічну карту як скайбокс, перетворіть :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>` на :ref:`ShaderMaterial<class_ShaderMaterial>` за допомогою параметра **Convert to ShaderMaterial** ресурсу, що випадає, а потім замініть його код таким:
|
||
|
||
.. code:: text
|
||
|
||
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 в інспекторі.
|
||
|
||
Крім того, ви можете використовувати `цей інструмент <https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html>`__, щоб перетворити кубічну карту на рівнопрямокутну карту неба та використовувати :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>` як зазвичай.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Методи
|
||
------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------+----------------------------------------------------------------------------------+
|
||
| :ref:`Resource<class_Resource>` | :ref:`create_placeholder<class_Cubemap_method_create_placeholder>`\ (\ ) |const| |
|
||
+---------------------------------+----------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи методів
|
||
--------------------------
|
||
|
||
.. _class_Cubemap_method_create_placeholder:
|
||
|
||
.. rst-class:: classref-method
|
||
|
||
:ref:`Resource<class_Resource>` **create_placeholder**\ (\ ) |const| :ref:`🔗<class_Cubemap_method_create_placeholder>`
|
||
|
||
Створює резиденцію вкладника цього ресурсу (``ОтримувачаКупета``).
|
||
|
||
.. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)`
|
||
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
||
.. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)`
|
||
.. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)`
|
||
.. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)`
|
||
.. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)`
|
||
.. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)`
|
||
.. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)`
|
||
.. |void| replace:: :abbr:`void (Значення не повертається.)`
|