5028
0
30/09/2021

В этом руководстве мы рассмотрим и объясним различные варианты использования функции Scale Map в Corona Scatter.

1. Разброс камней

В следующем примере мы будем использовать простую россыпь, состоящую из одной модели камня (с применением Corona MultiMap для рандомизации цветов), инстансированной на плоской плоскости:


Настройки Corona Scatter


2. Рандомизация масштаба камней равномерно

Масштаб камней может быть рандомизирован с помощью элементов управления, доступных в Corona Scatter, даже если не используется карта масштаба:

Настройки Corona Scatter, показывающие рандомизацию масштаба (от 10% до 200%).
Карта масштаба не используется.

3. Использование карты шума для управления масштабированием камней

Мы можем вставить текстуру серого цвета в слот Scale Map, чтобы управлять масштабом камней:

Настройки Corona Scatter, показывающие карту шума, подключенную к слоту Scale Map.
Это означает, что карта шумов будет использоваться для управления масштабом камней.

4. Карта масштаба

Мы используем простую серую карту Noise map. Вот как она выглядит при наложении на плоскость земли (для визуализации того, как черные и белые области интерпретируются скаттером):

5. Неравномерное изменение масштаба камней

По умолчанию камни масштабируются равномерно во всех направлениях (пропорционально), как показано в пункте 2. Однако мы можем отключить это равномерное масштабирование, сняв флажок "Равномерный масштаб":

Флажок "Равномерный масштаб" снят.
Карта масштаба не используется.

Снятие флажка "Равномерный масштаб" приводит к тому, что камни масштабируются независимо по разным осям.
Это означает, что они больше не будут пропорциональными (некоторые из них будут растянуты только по одной или двум осям).
Карта масштаба не используется.

6. Управление тем, какие оси масштаба должны быть рандомизированы (без карты масштаба)

Когда "Равномерный масштаб" отключен, мы все равно можем контролировать, какие оси должны быть рандомизированы, а какие нет. Для этого просто установите значения "От" и "До" для осей, на которые вы не хотите влиять, равными 100%, и укажите значения "От" и "До" только для осей, которые вы действительно хотите рандомизировать. В этом примере мы отключили рандомизацию для осей X и Y и включили ее только для оси Z. В результате все экземпляры имеют исходные размеры X и Y, но размер Z (высота) рандомизирован. В этом примере не используется карта масштаба:

Рандомизация масштаба отключена для осей X и Y (путем установки значений "От" и "До" на 100%), а ось Z рандомизирована.
Карта масштаба не используется.

Результат рандомизации только оси Z.
Карта масштаба не используется.

7. Управление тем, какие оси масштаба должны быть рандомизированы (с помощью карты масштаба).

А здесь точно такие же настройки, как в пункте 6, только с загруженной картой масштаба. Как и в предыдущем примере, масштабирование по осям X и Y не рандомизируется вообще, но ось Z (высота) контролируется картой шумов:

Рандомизация масштаба отключена для осей X и Y (путем установки значений "From" и "To" на 100%), а ось Z управляется картой масштаба (шум).
Черные области карты шума означают, что для масштаба Z будет использоваться значение "От" (10%), а белые области означают, что будет использоваться значение "До" (500%).

8. Управление тем, на какие оси масштабирования должна влиять карта масштаба

Если включить рандомизацию для всех осей, изменив все значения "From" и "To" со 100% на диапазон 10% - 200%, а затем снять флажки с осей X и Y, сохранив флажок на оси Z, мы получим рандомизацию осей X и Y без учета карты масштаба, а масштаба Z (высоты) - с учетом карты масштаба:

10% - 200% рандомизация используется для всех осей масштаба. Флажки рядом с осями X и Y не установлены.
Это означает, что они будут рандомизированы, но на них не будет влиять карта масштаба.
Масштабирование по оси Z контролируется картой масштаба.

9. Режимы масштабирования

До сих пор мы использовали только режим масштабирования по умолчанию "Карта фиксирована". В этом режиме черные и белые области карты масштаба непосредственно соответствуют значениям, указанным в полях "От" и "До". Таким образом, черные области на карте масштаба будут представлять наименьшие разрешенные экземпляры, а белые области на карте масштаба будут представлять наибольшие разрешенные экземпляры.

Если переключиться в режим "Случайное количество", то черные и белые области карты масштаба будут интерпретироваться по-разному. Значения "От" и "До" будут задавать максимально допустимую рандомизацию, черные области на карте масштаба будут представлять области, где рандомизация вообще отсутствует, а белые области на карте масштаба будут представлять области, где разрешена максимальная рандомизация.

Здесь точно такая же настройка, как в пункте 8, только режим масштабирования изменен на "Случайное количество". Как вы можете видеть, в черных областях карты масштаба рандомизация масштаба отсутствует вообще (все экземпляры выглядят точно так же, как исходный объект), а в белых областях происходит максимальная рандомизация масштаба:

Режим масштабирования изменен на "Случайная величина".

10. Режим масштабирования "Случайная величина" - пример карты Checker

Вот пример того же режима ("Случайное количество") на примере черно-белой карты Checker. Хорошо видно, что на черных квадратах рандомизация не происходит, а на белых квадратах происходит полная рандомизация:

Режим масштабирования "Случайная сумма" с использованием карты масштаба Чекера.

11. Режим масштабирования "Карта фиксирована" - пример карты Чеккера

Для сравнения, здесь представлена та же настройка, что и в пункте 10, только с включенным режимом "Map fixed", где видно, как черные и белые области просто представляют разное масштабирование:

Режим масштабирования " Map fixed" с использованием карты масштаба Чекера.


12. Режим масштабирования "Legacy" - пример карты Чекера

Существует также режим "Legacy", который умножает случайное масштабирование на черные и белые значения карты масштаба, что означает, что все экземпляры, размещенные на черных областях, будут иметь 0 масштаб и, в свою очередь, будут невидимы. Этот режим доступен только для совместимости со старыми сценами, и обычно нет необходимости его использовать.

Режим масштабирования "Legacy" с использованием карты масштаба Checker.


13. Масштабные карты RGB - управление по одной оси

До сих пор мы использовали только черно-белые карты, но Corona Scatter может также интерпретировать красный, зеленый и синий каналы карты масштаба. Красный цвет соответствует оси X, зеленый - оси Y, а синий - оси Z.

Вот пример использования синей карты шума. Как видно, она влияет только на высоту рассеянных объектов несмотря на то, что для карты масштаба включены все оси. Это происходит потому, что синий цвет управляет осью Z, а красный и зеленый каналы черные для всех остальных осей, что означает, что значение "От" будет использоваться для осей X и Y для всех рассеянных экземпляров:

В данном примере мы используем синюю карту Noise.


Флажки всех осей отмечены, что означает, что синяя карта масштабирования будет влиять на все оси масштабирования.
Поскольку в карте масштабирования нет красных и зеленых компонентов, только значение "От" будет использоваться для осей масштабирования X и Y, а масштабирование Z будет контролироваться количеством синего цвета в карте масштабирования (10% там, где нет синего, 200% там, где есть только синий).

14. Масштабные карты RGB - управление всеми осями

Вот пример использования карты шумов RGB. Как вы можете видеть, все оси X, Y и Z управляются отдельно значениями R, G и B карты масштаба:

В этом примере мы используем карту шумов RGB.

Флажки всех осей отмечены, это означает, что карта масштабирования RGB будет влиять на все оси масштабирования.

Оси масштабирования X, Y и Z управляются величиной значений R, G и B соответственно в карте масштаба (в диапазоне от 10% до 200%, заданном значениями "От" и "До").

15. Бонус - использование карты расстояний Corona в качестве карты масштаба

Примером использования карты масштаба является управление масштабом (равномерно или нет) разбросанных объектов в зависимости от того, насколько близко они находятся к какому-либо другому объекту. В данном случае мы хотим, чтобы камни были полностью рандомизированы по осям X и Y, но чтобы они становились выше по мере приближения к цилиндрическому объекту.

Для этого сначала нужно указать значения "От" и "До". В данном случае мы будем использовать значение "От", равное 10%, и значение "До", равное 200%. Это означает, что самые маленькие разрешенные камни будут иметь размер 10% от размера исходного камня (в любом направлении), а самые большие будут в два раза больше исходного.

Как только это будет сделано, мы должны определить, какие оси должны контролироваться картой масштаба. Поскольку мы хотим управлять только осью Z (высота), но хотим, чтобы другие оси тоже были рандомизированы, нам следует снять галочки с осей X и Y (чтобы они не зависели от карты масштаба, но все равно рандомизировались на основе значений "From" и "To"), и оставить галочку только на оси Z.

Затем мы должны создать карту расстояний Короны и выбрать цилиндр в качестве объекта "расстояние-от". Цвета карты расстояний короны должны быть настроены таким образом, чтобы по мере приближения к цилиндру она становилась более синей, а по мере удаления от него - более черной.

Настройка карты расстояния до короны.

Затем мы должны подключить эту карту расстояний короны в качестве масштабной карты для Corona Scatter:

Флажки осей масштабирования X и Y сняты, чтобы получить случайное масштабирование по осям X и Y (независимо от карты масштаба).
Флажок Z отмечен, чтобы Карта масштаба управляла масштабированием по оси Z.

Подобную настройку можно использовать, например, для того, чтобы меньшие камни располагались ближе к поверхности воды, а большие - дальше от нее:


Более подробно ознакомиться со всеми курсами образовательного проекта CGBandit вы можете здесь: https://www.cgbanditcourse.com

Перевод статьи осуществлен образовательным проектом CGBandit c официального сайта coronarenderer.

Комментарии (0)