mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
293 lines
18 KiB
ReStructuredText
293 lines
18 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_NoiseTexture2D:
|
||
|
||
NoiseTexture2D
|
||
==============
|
||
|
||
**Успадковує:** :ref:`Texture2D<class_Texture2D>` **<** :ref:`Texture<class_Texture>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
A 2D текстура, наповнена шумом, створеним об'єктом :ref:`Noise<class_Noise>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Опис
|
||
--------
|
||
|
||
Використовує бібліотеку :ref:`FastNoiseLite<class_FastNoiseLite>` або інші генератори шуму для заповнення даними текстури бажаного розміру. **NoiseTexture2D** також може генерувати нормальні текстури карти.
|
||
|
||
Клас використовує :ref:`Thread<class_Thread>` для внутрішньої генерації даних текстури, тому :ref:`Texture2D.get_image()<class_Texture2D_method_get_image>` може повернути ``null``, якщо процес генерації ще не завершено. У такому випадку вам потрібно дочекатися генерації текстури, перш ніж отримати доступ до зображення та згенерованих байтових даних:
|
||
|
||
::
|
||
|
||
var texture = NoiseTexture2D.new()
|
||
texture.noise = FastNoiseLite.new()
|
||
await texture.changed
|
||
var image = texture.get_image()
|
||
var data = image.get_data()
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Властивості
|
||
----------------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`as_normal_map<class_NoiseTexture2D_property_as_normal_map>` | ``false`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`bump_strength<class_NoiseTexture2D_property_bump_strength>` | ``8.0`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`Gradient<class_Gradient>` | :ref:`color_ramp<class_NoiseTexture2D_property_color_ramp>` | |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`generate_mipmaps<class_NoiseTexture2D_property_generate_mipmaps>` | ``true`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`height<class_NoiseTexture2D_property_height>` | ``512`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`in_3d_space<class_NoiseTexture2D_property_in_3d_space>` | ``false`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`invert<class_NoiseTexture2D_property_invert>` | ``false`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`Noise<class_Noise>` | :ref:`noise<class_NoiseTexture2D_property_noise>` | |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`normalize<class_NoiseTexture2D_property_normalize>` | ``true`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | resource_local_to_scene | ``false`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`bool<class_bool>` | :ref:`seamless<class_NoiseTexture2D_property_seamless>` | ``false`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`float<class_float>` | :ref:`seamless_blend_skirt<class_NoiseTexture2D_property_seamless_blend_skirt>` | ``0.1`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
| :ref:`int<class_int>` | :ref:`width<class_NoiseTexture2D_property_width>` | ``512`` |
|
||
+---------------------------------+---------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описи властивостей
|
||
------------------------------------
|
||
|
||
.. _class_NoiseTexture2D_property_as_normal_map:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **as_normal_map** = ``false`` :ref:`🔗<class_NoiseTexture2D_property_as_normal_map>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_as_normal_map**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_normal_map**\ (\ )
|
||
|
||
Якщо ``true``, отримана текстура містить нормальну карту, створену з оригінального шуму, інтерпретованої як bump map.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture2D_property_bump_strength:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **bump_strength** = ``8.0`` :ref:`🔗<class_NoiseTexture2D_property_bump_strength>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_bump_strength**\ (\ value\: :ref:`float<class_float>`\ )
|
||
- :ref:`float<class_float>` **get_bump_strength**\ (\ )
|
||
|
||
Міцність бамських карт, що використовуються в цій фактурі. Більша вартість зробить бамперові карти з'являються більшими, ніж менша вартість зробить їх більш м'якими.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture2D_property_color_ramp:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Gradient<class_Gradient>` **color_ramp** :ref:`🔗<class_NoiseTexture2D_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_NoiseTexture2D_property_generate_mipmaps:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **generate_mipmaps** = ``true`` :ref:`🔗<class_NoiseTexture2D_property_generate_mipmaps>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_generate_mipmaps**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_generating_mipmaps**\ (\ )
|
||
|
||
Визначають, чи створюються карти для цієї текстури. Включаючи ці результати в меншій фактурі, що ілюзують на відстані, за вартістю збільшення використання пам'яті приблизно на 33% і робить процес генерації шуму довше.
|
||
|
||
\ **Примітка:** :ref:`generate_mipmaps<class_NoiseTexture2D_property_generate_mipmaps>` вимагає фільтрування mipmap, щоб увімкнути матеріал за допомогою **NoiseTexture2D**, щоб мати ефект.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture2D_property_height:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **height** = ``512`` :ref:`🔗<class_NoiseTexture2D_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_NoiseTexture2D_property_in_3d_space:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **in_3d_space** = ``false`` :ref:`🔗<class_NoiseTexture2D_property_in_3d_space>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_in_3d_space**\ (\ value\: :ref:`bool<class_bool>`\ )
|
||
- :ref:`bool<class_bool>` **is_in_3d_space**\ (\ )
|
||
|
||
Визначає, чи обчислюється шум у тривимірному просторі. Може призвести до зниження контрасту.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture2D_property_invert:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **invert** = ``false`` :ref:`🔗<class_NoiseTexture2D_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_NoiseTexture2D_property_noise:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Noise<class_Noise>` **noise** :ref:`🔗<class_NoiseTexture2D_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_NoiseTexture2D_property_normalize:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **normalize** = ``true`` :ref:`🔗<class_NoiseTexture2D_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_NoiseTexture2D_property_seamless:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`bool<class_bool>` **seamless** = ``false`` :ref:`🔗<class_NoiseTexture2D_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:`height<class_NoiseTexture2D_property_height>` або :ref:`width<class_NoiseTexture2D_property_width>` нижче, ніж за замовчуванням, ви можете збільшити :ref:`seamless_blend_skirt<class_NoiseTexture2D_property_seamless_blend_skirt>`, щоб зробити безшовний блендер більш ефективним.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture2D_property_seamless_blend_skirt:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`float<class_float>` **seamless_blend_skirt** = ``0.1`` :ref:`🔗<class_NoiseTexture2D_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_NoiseTexture2D_property_width>` або :ref:`height<class_NoiseTexture2D_property_height>` нижче за замовчуванням, ви можете збільшити :ref:`seamless_blend_skirt<class_NoiseTexture2D_property_seamless_blend_skirt>`, щоб зробити безшовний блендер більш ефективним.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_NoiseTexture2D_property_width:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`int<class_int>` **width** = ``512`` :ref:`🔗<class_NoiseTexture2D_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 (Значення не повертається.)`
|