Добавление вариаций для более реалистичного окружения
Randomizer - это инструмент UnigineEditor, предназначенный для добавления вариаций объектов сцены за несколько кликов.
Randomizer может выполнять следующие операции с нодами:
- Заменить выбранные ноды другими нодами, выбранными случайным образом из указанного набора в соответствии с нормальным законом распределения.
- Изменить положение, поворот и масштаб выбранных нод случайным образом в пределах диапазона в соответствии с нормальным законом распределения.
Настройки Randomizer#
Инструмент Randomizer предоставляет следующие настройки:
Offset | Смещение выбранных нод, взятых случайным образом из указанного диапазона. Диапазон смещения указан для каждой оси.
|
---|---|
Rotation | Поворот выбранных нод на угол, произвольно взятый из заданного диапазона. Вращение выполняется относительно текущего направления оси. Диапазон углов указан для каждой оси.
|
Scale | Масштаб выбранных нод, взятый случайным образом из указанного диапазона. Для каждой оси указан масштабный коэффициент.
Если вы включите опцию Uniform Scale, вы можете указать коэффициент только один раз: ноды будут масштабироваться по всем осям.
|
Place Nodes as NodeReference | Включает и выключает добавление указанных нод как NodeReferences в сцену. Если опция отключена, замененные ноды изменят свои типы на типы заменяющих нод, хранящиеся в файлах .node. |
Nodes | Набор нод (.node) или / и сеток (.mesh), которые будут использоваться для случайной замены выбранных нод. Чтобы добавить новую ноду / сетку, щелкнитеили перетащите файл из Asset Browser. Появятся следующие поля:
|
Замена нод#
Чтобы заменить ноды другими нодами, взятыми случайным образом из указанного набора, вам необходимо сделать следующее:
- Выберите ноды, которые следует заменить.
- Добавьте ноды, которые будут использоваться для случайной замены выбранных нод, одним из следующих способов:
- В разделе Nodes нажмите, затем щелкнитев появившемся поле и выберите файл .node или .mesh в открывшемся диалоговом окне.
Вы можете указать файл .node, хранящийся внутри контейнера ресурсов.
- Выберите необходимые ноды в Asset Browser и перетащите их в раздел Nodes.
Вы также можете перетащить файл .fbx, .dae, .obj или .3ds: файл .node, хранящийся внутри контейнера ресурсов, будет указан автоматически.
- В разделе Nodes нажмите, затем щелкнитев появившемся поле и выберите файл .node или .mesh в открывшемся диалоговом окне.
- Укажите вероятность появления ноды в поле справа.
- Включите параметр Place Nodes as NodeReference, если требуется.
- Щелкните Replace.
Рандомизация будет выполняться в соответствии с нормальным законом распределения.
Пример использования#
Например, у нас есть несколько одинаковых бочек:
Чтобы разнообразить виды бочек, нам нужно выполнить следующее:
- Выбрать все бочки в сцене.
- Добавьте файлы .node с различными типами бочек в раздел Nodes, перетащив их из Asset Browser.
- Укажите вероятности появления каждого типа бочек:
- 10 для красных бочек
- 5 для синих бочек
- 2 для светло-коричневых бочек
- 1 для коричневых бочек
Согласно нашим установленным вероятностям, частота появления бочек каждого типа будет следующей:
- 10/18 для красных бочек
- 5/18 для синих бочек
- 2/18 для светло-коричневых бочек
- 1/18 для коричневых бочек
- Включите опцию Place Nodes as NodeReferences, чтобы указанные ноды добавлялись в сцену как NodeReferences. Это может быть полезно, если вы решите позже поменять бочки определенного типа. В этом случае вам нужно будет отредактировать только одну бочку: остальные тоже будут обновлены.
- Щелкните Replace. Выбранные ноды будут заменены ссылками на ноды из списка.
Преобразование нод#
Чтобы перемещать, вращать или масштабировать выбранные ноды случайным образом в указанном диапазоне, вам необходимо сделать следующее:
- Выберите ноды, которые необходимо преобразовать.
- Укажите диапазоны для значений Offset, Rotation и Scale.
- Щелкните Replace.
Рандомизация будет выполняться в соответствии с нормальным законом распределения.
Пример использования#
- Выбрать все бочки в сцене.
- Укажите диапазоны для параметров преобразования:
- [30; 180] градус для вращения вокруг оси Z.
- [0; 30] для смещения по осям X и Y.
- [1; 3] для масштабирования по осям X, Y и Z.
- Щелкните Replace. Выбранные ноды будут преобразованы в соответствии с указанными значениями.