mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2026-01-04 10:09:56 +03:00
231 lines
12 KiB
ReStructuredText
231 lines
12 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_NoiseTexture3D:
|
||
|
||
NoiseTexture3D
|
||
==============
|
||
|
||
**Успадковує:** :ref:`Texture3D<class_Texture3D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
3D текстура, наповнена шумом, створеним об'єктом :ref:`Noise<class_Noise>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Використовує бібліотеку :ref:`FastNoiseLite<class_FastNoiseLite>` або інші генератори шуму для заповнення даних текстури бажаного розміру.
|
||
|
||
Клас використовує :ref:`Thread<class_Thread>` для внутрішньої генерації даних текстури, тому :ref:`Texture3D.get_data()<class_Texture3D_method_get_data>` може повернути ``null``, якщо процес генерації ще не завершено. У такому випадку вам потрібно дочекатися створення текстури, перш ніж отримати доступ до зображення:
|
||
|
||
::
|
||
|
||
var texture = NoiseTexture3D.new()
|
||
texture.noise = FastNoiseLite.new()
|
||
await texture.changed
|
||
var data = texture.get_data()
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Властивості
|
||
----------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`Gradient<class_Gradient>` | :ref:`color_ramp<class_NoiseTexture3D_property_color_ramp>` | |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`int<class_int>` | :ref:`depth<class_NoiseTexture3D_property_depth>` | ``64`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`int<class_int>` | :ref:`height<class_NoiseTexture3D_property_height>` | ``64`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`invert<class_NoiseTexture3D_property_invert>` | ``false`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`Noise<class_Noise>` | :ref:`noise<class_NoiseTexture3D_property_noise>` | |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`normalize<class_NoiseTexture3D_property_normalize>` | ``true`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`bool<class_bool>` | :ref:`seamless<class_NoiseTexture3D_property_seamless>` | ``false`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`float<class_float>` | :ref:`seamless_blend_skirt<class_NoiseTexture3D_property_seamless_blend_skirt>` | ``0.1`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
| :ref:`int<class_int>` | :ref:`width<class_NoiseTexture3D_property_width>` | ``64`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+-----------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи властивостей
|
||
------------------------------------
|
||
|
||
.. _class_NoiseTexture3D_property_color_ramp:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Gradient<class_Gradient>` **color_ramp** :ref:`🔗<class_NoiseTexture3D_property_color_ramp>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_color_ramp**\ (\ value\: :ref:`Gradient<class_Gradient>`\ )
|
||
- :ref:`Gradient<class_Gradient>` **get_color_ramp**\ (\ )
|
||
|
||
:ref:`Gradient<class_Gradient>`, який використовується для відображення блиску кожного пікселя до значення кольору.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_depth:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **depth** = ``64`` :ref:`🔗<class_NoiseTexture3D_property_depth>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_depth**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_depth**\ (\ )
|
||
|
||
Глибина генерованої текстури (у пікселях).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_height:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **height** = ``64`` :ref:`🔗<class_NoiseTexture3D_property_height>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_height**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_height**\ (\ )
|
||
|
||
Висота генерованої текстури (у пікселях).
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_invert:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **invert** = ``false`` :ref:`🔗<class_NoiseTexture3D_property_invert>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_invert**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_invert**\ (\ )
|
||
|
||
Якщо ``true``, інвертує текстуру шуму. Білий стає чорним, чорний стає білим.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_noise:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Noise<class_Noise>` **noise** :ref:`🔗<class_NoiseTexture3D_property_noise>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_noise**\ (\ value\: :ref:`Noise<class_Noise>`\ )
|
||
- :ref:`Noise<class_Noise>` **get_noise**\ (\ )
|
||
|
||
Приклад об'єкта :ref:`Noise<class_Noise>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_normalize:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **normalize** = ``true`` :ref:`🔗<class_NoiseTexture3D_property_normalize>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_normalize**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_normalized**\ (\ )
|
||
|
||
Якщо ``true``, зображення шуму, що надходить від шумогенератора, нормалізовано до діапазону ``0.0`` до ``1.0``.
|
||
|
||
Увімкнути нормалізацію можна на контрасті і дозволяє створювати не повторювані кахельні фактури шуму.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_seamless:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **seamless** = ``false`` :ref:`🔗<class_NoiseTexture3D_property_seamless>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_seamless**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **get_seamless**\ (\ )
|
||
|
||
Якщо ``true``, безшовна текстура запитується з ресурсу :ref:`Noise<class_Noise>`.
|
||
|
||
\ **Примітка:** Безшовні текстури шуму можуть зайняти довше, щоб генерувати та/або можуть мати нижчий контраст у порівнянні з безшовним шумом залежно від використовуваного :ref:`Noise<class_Noise>` ресурсу. Це тому, що деякі впровадження використовують більш високі розміри для створення безшовного шуму.
|
||
|
||
\ **Примітка:** За замовчуванням :ref:`FastNoiseLite<class_FastNoiseLite>` використовує шлях знепаду для безшовного покоління. Якщо ви використовуєте :ref:`width<class_NoiseTexture3D_property_width>`, :ref:`height<class_NoiseTexture3D_property_height>` або :ref:`depth<class_NoiseTexture3D_property_depth>` нижче, ніж за замовчуванням, ви можете збільшити :ref:`seamless_blend_skirt<class_NoiseTexture3D_property_seamless_blend_skirt>`, щоб зробити безшовний блендер більш ефективним.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_seamless_blend_skirt:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **seamless_blend_skirt** = ``0.1`` :ref:`🔗<class_NoiseTexture3D_property_seamless_blend_skirt>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_seamless_blend_skirt**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_seamless_blend_skirt**\ (\ )
|
||
|
||
Використовується для реалізації безшовної текстури. Визначається відстань, над яким з'єднуються шви. Високі значення можуть призвести до меншої кількості деталей та контрастності. Див. :ref:`Noise<class_Noise>` для подальших деталей.
|
||
|
||
\ **Примітка:** Якщо за допомогою :ref:`width<class_NoiseTexture3D_property_width>`, :ref:`height<class_NoiseTexture3D_property_height>` або :ref:`depth<class_NoiseTexture3D_property_depth>` нижче за замовчуванням, вам може знадобитися збільшити :ref:`seamless_blend_skirt<class_NoiseTexture3D_property_seamless_blend_skirt>`, щоб зробити безшовний блендер більш ефективним.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture3D_property_width:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **width** = ``64`` :ref:`🔗<class_NoiseTexture3D_property_width>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_width**\ (\ value\: :ref:`int<class_int>`\ )
|
||
- :ref:`int<class_int>` **get_width**\ (\ )
|
||
|
||
Ширина генерованої текстури (у пікселях).
|
||
|
||
.. |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 (Значення не повертається.)`
|