Вузол «Текстура Шуму» – Noise Texture Node

Вузол «Текстура Шуму» -- Noise Texture.

Вузол Noise Texture обчислює фрактальний шум Перліна на увідних координатах текстур.

Inputs – Уводи

Ці уводи є динамічними, вони стають доступними при необхідності, залежно від властивостей вузла.

Vector – Вектор

Координата текстури для обчислення шуму; установлюється стандартно в координати текстур Generated, якщо цей роз’єм залишається ні з чим нез’єднаним.

W

Координата текстури для обчислення шуму.

Scale – Масштаб

Масштаб октави базового шуму.

Детальність – Detail

Number of noise octaves. The fractional part of the input is multiplied by the magnitude of the highest octave. Higher number of octaves corresponds to a higher render time.

Roughness – Шорсткість

Blend between a smoother noise pattern, and rougher with sharper peaks.

Лакунарність – Lacunarity

The difference between the scale of each two consecutive octaves. Larger values corresponds to larger scale for higher octaves.

Спотворення – Distortion

Величина спотворення.

Properties – Властивості

Розмірності – Dimensions

Розмірності простору для обчислення шуму.

1D:

Обчислюється шум у 1D просторі на уводі W.

2D:

Evaluate the noise in 2D space at the input Vector. The Z component is ignored.

3D:

Обчислюється шум у 3D просторі на уводі Vector.

4D:

Обчислюється шум у 4D просторі на уводі Vector та уводі W як четвертий вимір.

Примітка

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

Normalize – Нормалізування

If enabled, ensures that the output values stay in the range 0.0 to 1.0. When disabled, output values are in the range -1.0 to 1.0.

Outputs – Виводи

Factor – Фактор

Значення фрактального шуму.

Color – Колір

Колір з різним фрактальним шумом у кожному компоненті.

Examples – Приклади

../../../_images/render_shader-nodes_textures_noise_example.jpg

Текстура Noise Texture з високою детальністю.

Notes – Примітки

While the noise is random in nature, it follows a certain pattern that might not evaluate to random values in some configurations. For instance, consider the following configuration where a grid of objects have a material that evaluates a noise texture at their locations. One might expect the objects to have random values since they have different locations, but this is not the case.

../../../_images/render_shader-nodes_textures_noise_issue-constant-value.png

An example configuration where the noise evaluates to a constant value.

It seems all objects have a value of 0.5. To understand why this happens, let us look at the following plot of a 1D noise texture.

../../../_images/render_shader-nodes_textures_noise_1d-noise-plot.png

A plot of a 1D noise with zero details and zero distortion.

The horizontal line denotes a value of 0.5 and the vertical lines denotes whole numbers assuming a noise scale of 1. As can be seen, the noise always intersects the 0.5 line at whole numbers. Since the aforementioned objects were distributed on a grid and have whole number locations, they all evaluate to 0.5. Which explains the issue at hand.

Generally, any discrete evaluation of noise at integer multiples of the reciprocal of the noise scale will always evaluate to 0.5. It also follows that evaluations closer to that will have values close to 0.5. In such cases, it is almost always preferred to use the White Noise Texture.

Regardless, one can mitigate this issue in a number of ways:

  • Adjust the scale of the noise to avoid aligning the noise with the evaluation domain.

  • Add an arbitrary offset to the texture coordinates to break the alignment with the evaluation domain.

  • Evaluate the noise at a higher dimension and adjust the extra dimension until a satisfactory result is achieved.

../../../_images/render_shader-nodes_textures_noise_issue-constant-value.png

Constant value issue.

../../../_images/render_shader-nodes_textures_noise_solution1-constant-value.png

Mitigating the issue by adjusting the scale.

../../../_images/render_shader-nodes_textures_noise_solution2-constant-value.png

Mitigating the issue by adding an arbitrary offset.

../../../_images/render_shader-nodes_textures_noise_solution3-constant-value.png

Mitigating the issue by evaluating at a higher dimension.

Similarly, in other configurations, one might experience some banding patterns in the noise, where there are bands of high contrast areas followed by banding of low contrast areas. For instance, planar surfaces that are slightly tilted along one of the axis will have such a banding pattern.

../../../_images/render_shader-nodes_textures_noise_issue-banding.png

An example configuration where the noise have a banding pattern.

This happens because the slight tilt along one of the axis causes values along the perpendicular axis to change very slowly making the grid structure of the noise more apparent. The easiest way to mitigate this issue to rotate the coordinates by an arbitrary amount.

../../../_images/render_shader-nodes_textures_noise_solution-banding.png

Mitigating the issue by rotating the coordinates by an arbitrary amount.