Узел Noise Texture (текстура шума)
Узел вычисляет фрактальный шум Перлина во входных координатах текстуры.
Входы
Входы динамические, они становятся доступными при необходимости в зависимости от свойств узла.
- Vector
Координата текстуры для вычисления шума; если порт не подключен, по умолчанию генерируются координаты текстуры, .
- W
Координата текстуры для вычисления шума.
- Scale (масштаб)
Масштаб базовой октавы шума.
- Detail (детальность)
Количество октав шума. Дробная часть входа умножается на величину высшей октавы. Большее количество октав соответствует большему времени рендеринга.
- Roughness (шероховатость)
Смешивание более гладкого паттерна шума и более грубого с более острыми пиками.
- Distortion (искажение)
Величина искажения.
Свойства
- Dimensions
Размеры пространства для оценки шума.
- 1D
Вычисление шума в одномерном пространстве на входе W.
- 2D
Вычисление шума в 2D-пространстве на входе Vector. Компонент Z игнорируется.
- 3D
Вычисление шума в трёхмерном пространстве на входе Vector.
- 4D
Вычисление шума в 4D-пространстве на входе Vector и на входе W как чётвертое измерение.
Примечание
Большие размеры соответствуют большему времени рендеринга, поэтому следует использовать меньшие размеры, если только не требуются более высокие размеры.
Выходы
- Factor
Значение фрактального шума.
- Color
Цвет с различным фрактальным шумом в каждом компоненте.
Примеры
Примечания
Хотя шум носит случайный характер, он следует определённому шаблону, который в некоторых конфигурациях может не вычисляться как случайный. Например, рассмотрим следующую конфигурацию, в которой сетка объектов имеет материал, вычисляющей текстуру шума в своих местоположениях. Можно было бы ожидать, что объекты будут иметь случайные значения, поскольку они находятся в разных местах, но это не так.
Кажется, все объекты имеют значение 0.5. Чтобы понять, почему это происходит, давайте посмотрим на следующий график одномерной текстуры шума.
Горизонтальная линия обозначает значение 0.5, а вертикальные линии обозначают целые числа, предполагая масштаб шума равным 1. Как видно, шум всегда пересекает линию 0.5 при целых числах. Поскольку вышеупомянутые объекты были распределены по сетке и имеют целочисленные местоположения, все они вычисляются как 0.5, что объясняет рассматриваемую проблему.
Как правило, любое дискретное вычисление шума при целочисленном кратном значении, обратном масштабу шума, всегда будет вычисляться как 0.5. Отсюда также следует, что более близкие к этому вычислению будут иметь значения, близкие к 0.5. В таких случаях почти всегда предпочтительнее использовать текстуру White Noise (белого шума).
Тем не менее, можно смягчить эту проблему несколькими способами:
Настроить масштаб шума, чтобы избежать выравнивания шума с областью вычисления.
Добавить произвольное смещение к координатам текстуры, чтобы нарушить выравнивание с областью вычисления.
Вычисление шума в более высоком измерении и настройка дополнительного измерения, пока не будет достигнут удовлетворительный результат.
Аналогичным образом, в других конфигурациях в шуме могут наблюдаться полосы, где есть полосы высококонтрастных областей, за которыми следуют полосы низкоконтрастных областей. Например, плоские поверхности, слегка наклоненные вдоль одной из осей, будут иметь такой рисунок полос.
Это происходит из-за того, что небольшой наклон вдоль одной из осей приводит к тому, что значения вдоль перпендикулярной оси меняются очень медленно, что делает сетчатую структуру шума более заметной. Самый простой способ решить эту проблему — повернуть координаты на произвольную величину.