Нода «Радиальный тайлинг» (radial tiling node)

Нода ":abbr:`Радиальный тайлинг (Radial Tiling)`".

Нода „Radial Tiling“ позволяет разделять входную двумерную декартову систему координат на столько радиальных сегментов, сколько будет указано во входном параметре „Sides“. Каждый сегмент будет иметь собственную аффинно преобразованную систему координат, которую можно использовать для радиально-симметричного размещения текстур.

Входы (inputs)

Вектор (vector)

Вектор входной системы, который необходимо разделить на радиальные сегменты.

Стороны (sides)

Количество радиальных сегментов, на которые следует разделить входную систему координат. Нецелое значение создаёт одну «неправильную» плитку, которая будет меньше остальных сегментов.

../../../../_images/render_shader-nodes_radial_tiling_segments-5_0.png

Sides: 5.0.

../../../../_images/render_shader-nodes_radial_tiling_segments-5_25.png

Sides: 5.25.

../../../../_images/render_shader-nodes_radial_tiling_segments-5_5.png

Sides: 5.5.

../../../../_images/render_shader-nodes_radial_tiling_segments-6_0.png

Sides: 6.0.

Округлость (roundness)

Скруглённость координатных систем сегментов.

../../../../_images/render_shader-nodes_radial_tiling_roundness-0_0.png

Roundness: 0.0.

../../../../_images/render_shader-nodes_radial_tiling_roundness-0_25.png

Roundness: 0.25.

../../../../_images/render_shader-nodes_radial_tiling_roundness-0_5.png

Roundness: 0.5.

../../../../_images/render_shader-nodes_radial_tiling_roundness-1_0.png

Roundness: 1.0.

Свойства (properties)

Нормализовать (normalize)

Если эта опция включена, – X-координаты выходных данных „Segment Coordinates“ переформатируются в диапазон от „0.0“ до „1.0“, а к Y-координатам добавляется постоянное значение „1.0“, чтобы гарантировать, что они не будут иметь отрицательных значений.

../../../../_images/render_shader-nodes_radial_tiling_normalize-disabled.png

Normalize: Отключено.

../../../../_images/render_shader-nodes_radial_tiling_normalize-enabled.png

Normalize: Включено.

Выходы (outputs)

Координаты сегмента (segment coordinates)

Координаты сегмента для наложения текстуры в каждом радиальном сегменте.

ID сегмента (segment ID)

Уникальный идентификатор для каждого радиального сегмента при создании радиальной сетки. Они начинаются с „0“ и увеличиваются против часовой стрелки на „1“ для каждого последующего сегмента.

Ширина сегмента (segment width)

Относительная ширина каждого радиального сегмента. Может использоваться для масштабирования текстур, чтобы они корректно отображались в каждом из них.

Вращение сегмента (segment rotation)

Вращение системы координат каждого сегмента против часовой стрелки. Может использоваться для выравнивания вращения текстур каждого сегмента.

Примеры

Координаты, предоставляемые выводом „Segment Coordinates“, можно использовать для мозаичного размещения текстур радиально-симметричным образом, что демонстрируется на примере радиального мозаичного размещения текстуры сердца в следующих примерах.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-5_0-heart.png

Sides: 5.0.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-6_5-heart.png

Sides: 6.5.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-6_5-heart-nodetree.png

Древо нод для шейдера выше.

По мере увеличения числа сегментов относительная ширина каждого из них уменьшается, что в конечном итоге приводит к перекрытию и обрезке текстур, как показано в примере со значением параметра „Sides“, равным „6.5“. Кроме того, нецелое значение для „Sides“ в этом примере приводит к ещё более значительной обрезке из-за того, что «неправильный» сегмент меньше обычных. Чтобы избежать этой обрезки, можно использовать выход „Segment Width“ для масштабирования текстур в соответствии с относительной шириной каждого сегмента.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-5_0-heart-scaled.png

Sides: 5.0.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-6_5-heart-scaled.png

Sides: 6.5.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-6_5-heart-scaled-nodetree.png

Древо нод для шейдера выше. Значение „0.725“ – это произвольно выбранное значение масштабирования текстуры, которое можно изменять для настройки размера текстур.

По умолчанию координатные системы сегментов поворачиваются так, чтобы их Y-оси пересекались с ориджином. Выход „Segment Rotation“ можно использовать для выравнивания вращения координатных систем сегментов в соответствии с глобальным направлением.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-5_0-heart-scaled-rotated.png

Sides: 5.0.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-6_5-heart-scaled-rotated.png

Sides: 6.5.

../../../../_images/render_shader-nodes_radial_tiling_example_segments-6_5-heart-scaled-rotated-nodetree.png

Древо нод для шейдера выше. Значение „-1.571“ – это произвольно выбранное значение вращения текстуры, которое можно изменять для настройки угла поворота текстур.

При работе с текстурами, охватывающими всё UV-пространство, обычно возникает проблема видимых швов на границах сегментов, даже если исходная текстура является бесшовной. Опция „Normalize“ устраняет эти видимые швы, гарантируя, что X-координаты всегда будут покрывать только этот полный диапазон от „0“ до „1“. Это также приводит к эффекту искажения, так как происходит растягивание и сжатие текстуры, для её заполнения круговой области. Это искажение может быть нежелательным, и для его устранения или уменьшения потребуются дополнительные ноды.

../../../../_images/render_shader-nodes_radial_tiling_example_normalize-disabled-pavement.png

Normalize: Отключено.

../../../../_images/render_shader-nodes_radial_tiling_example_normalize-enabled-pavement.png

Normalize: Включено.

Для некоторых текстур может быть полезно создавать более округлую форму вблизи границ сегментов, что можно сделать, задавая округлость координатных систем сегментов с помощью входа „Roundness“.

../../../../_images/render_shader-nodes_radial_tiling_example_roundness-0_0-pavement.png

Roundness: 0.0.

../../../../_images/render_shader-nodes_radial_tiling_example_roundness-0_25-pavement.png

Roundness: 0.25.

../../../../_images/render_shader-nodes_radial_tiling_example_roundness-0_5-pavement.png

Roundness: 0.5.

../../../../_images/render_shader-nodes_radial_tiling_example_roundness-1_0-pavement.png

Roundness: 1.0.