Создание простого воксельного объекта

Материал из CryWiki Russia

Перейти к: навигация, поиск

Содержание

Как создать простой воксельный объект

Sandbox Voxel image001.jpg

Краткий обзор

Это руководство опишет вам процесс создания нависающего утеса или пещеры, используя воксельную технологию.

Что такое «воксельная технология»?

Воксельная технология позволяет вам создавать сложные трёх-размерные органические сетки в редакторе. Все это выполняется в редакторе с помощью воксельного объекта или VO (Voxel Object).

У каждого воксельного объекта (VO) есть внутренняя трёхмерная сетка (обычно элементы размером 32x32x32). Каждый элемент содержит информацию такую, как «если единица полна или пуста, то какой тип поверхности используется и каков основной цвет». Это множество используется как точка входа генератора сетки.

Во время редактирования проектировщик изменяет множество вокселей, и каждое изменение вызывает регенерацию сетки, таким образом, проектировщик получает непосредственную визуальную обратную связь. VO может использоваться и в наружных и во внутренних ситуациях.

Пример 1: утес с выступом

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

Sandbox Voxel image003.jpg

Настройка воксельной области

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

Sandbox Voxel image005.jpg

Чтобы создать бесшовную интеграцию между вашим VO и вашей картой высот, вы должны выровнять VO по отношению к сектору сетки карты высот на положения X и Y. Самый простой способ это сделать — активировать Snap to grid прежде, чем поместить VO. Размер сетки должен быть установлен в значении 64 метра, что является размером сектора ландшафта.

Sandbox Voxel image002.PNG

Также полезно включить визуальный показ сетки секторов ландшафта, введя e_terrain_bboxes 1 в консоль. Это заставит синие ограничивающие прямоугольники, изображающие сектора ландшафта, появиться в окне перспективы. Теперь, перейдите в RollupBar и выберите Misc, а затем VoxelObject, и поместите новый VO в свой уровень.

Sandbox Voxel image007.png

Первоначально, ваш VO будет пуст, и вы увидите только пустой красный хелпер:

Sandbox Voxel image009.jpg

Соединение с ландшафтом

Теперь, мы должны сделать так, чтобы поверхность ландшафта рендерил VO, а не движок. Выберите VO и активируйте флажок Link To Terrain в свитке параметров VoxelObject. Визуально, никаких отличий, за исключением мигания вашего VO.

Sandbox Voxel image010.png

Техническая информация: параметр Link To Terrain не копирует данные карты высот в воксельный массив. Он просто позволяет использовать карту высот во время генерации сеток VO. Таким образом, вы еще можете использовать редактор карты высот и рисование слоёв в вокселизированных областях. Копирование данных карты высот в VO возможно, и мы расскажем об этом в следующем примере.

Изменения вокселя

В RollupBar, зайдите в Terrain->Voxel Painter, потом в Brush Settings и выберите Create. Теперь, начните добавлять нависающую геометрию к главному краю утеса следующими шагами:
Щелкните, чтобы создать новую геометрию.
Изменяйте размеры геометрии, передвигая ползунок Radius.
Используйте функции «Align Plane» для управления геометрией, которую вы создаете. Сначала щелкните на кнопку Setup position, перемещайте и вращайте плоскость так, как вам угодно, затем щелкните по кнопке «Align to plane». Теперь нарисуйте свой воксель на плоскости.
Используйте Brush Setting->Type->Blur чтобы удалить острые края.

Sandbox Voxel image012.png

Пример 2: пещера

Давайте мы сделаем пещеру на том же самом холме:

Sandbox Voxel image014.jpg

Во-первых, поместите VO в желаемую область, как вы делали ранее. Так как мы хотим уйти под поверхность ландшафта, мы должны сказать физическому движку, что мы хотим сделать здесь отверстие.
В RollupBar, зайдите в Terrain, и выберите Holes и сделайте отверстие в той области, где вы хотите сделать вход в свою пещеру. Пожалуйста, заметьте, что это изменяет вашу карту высот, а не VO.

Sandbox Voxel image016.jpg

А вот отличие от предыдущего примера. Параметр LinkToTerrain не даст нам создать отверстие под ландшафтом, он позволяет только добавлять новые функции на вершину. Вместо того, чтобы использовать LinkToTerrain, мы будем копировать данные карты высот. Этим путем мы получим полный контроль над этой областью, используя инструмент Voxel Painter.

Sandbox Voxel image018.png

Выберите VO и нажмите кнопку Copy Terrain into Voxel в свойствах VO. Отверстие в карте высот, которое мы сделали ранее, будет не видимо — VO находится сверху оригинального сектора ландшафта.

Sandbox Voxel image020.jpg

Теперь мы можем начать делать пещеру. В RollupBar откройте Terrain и затем Voxel Painter, выберите тип Subtract. Сделайте пещеру, удерживая левую кнопку мышь, углубляйте область, где должно быть отверстие. И вновь используйте функцию «Align to plane», она здесь очень полезна.

Sandbox Voxel image022.png

Изменение материала воксель

В Brush Settings, выберите тип Material из выпадающего списка Type, затем выберите один из материалов в поле «Surface Types». Теперь вы можете подрисовать область вокселя, щелкнув левой кнопкой мыши.

Sandbox Voxel image024.png

Таким же образом, материал утеса используются для обычной покраски ландшафта, материалы для подкраски вокселя, должны иметь 3 подматериала, по одному на каждую ось (XYZ).
Мы, в качестве основы, будем использовать следующий материал:
Откройте Material Editor и выберите материал materials/voxel/rock_mine.

Sandbox Voxel image026.png

Создайте новый слой в окне Terrain Layers Editor.

Sandbox Voxel image028.png

Щеклните по кнопке «Edit Surface Types».

Sandbox Voxel image030.png

Создайте новый тип.

Sandbox Voxel image032.png

Перейдите в Material Editor и выберите материал.

Sandbox Voxel image034.png

Закройте Material Editor и нажмите кнопку Pick Selected.

Sandbox Voxel image036.png

Теперь вы можете выбрать новый материал вокселя в списке «Surface Types».

Результат

Как вы видете, после некоторой практики, можно сделать огромные результаты, дополняя существующий ландшафт вокселем, создавая отверстия и пещеры, или создать одинокий воксельный уровень.

Sandbox Voxel image038.png

См. также