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

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

(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
== Как создать простой воксельный объект ==
== Как создать простой воксельный объект ==
-
 
[[Файл:Sandbox Voxel image001.jpg]]
[[Файл:Sandbox Voxel image001.jpg]]
=== Краткий обзор ===
=== Краткий обзор ===
-
 
Это руководство опишет вам процесс создания нависающего утеса или пещеры, используя воксельную технологию.
Это руководство опишет вам процесс создания нависающего утеса или пещеры, используя воксельную технологию.
=== Что такое «воксельная технология»? ===
=== Что такое «воксельная технология»? ===
-
 
+
Воксельная технология позволяет вам создавать сложные трёх-размерные органические сетки в редакторе. Все это выполняется в редакторе с помощью воксельного объекта или VO (Voxel Object).
-
Воксельная технология позволяет вам создавать сложные трёх размерные органические сетки в редакторе. Все это выполняется в редакторе с помощью воксельного объекта или VO (Voxel Object).
+
У каждого воксельного объекта (VO) есть внутренняя трёхмерная сетка (обычно элементы размером 32x32x32). Каждый элемент содержит информацию такую, как «если единица полна или пуста, то какой тип поверхности используется и каков основной цвет». Это множество используется как точка входа генератора сетки.
У каждого воксельного объекта (VO) есть внутренняя трёхмерная сетка (обычно элементы размером 32x32x32). Каждый элемент содержит информацию такую, как «если единица полна или пуста, то какой тип поверхности используется и каков основной цвет». Это множество используется как точка входа генератора сетки.
Строка 16: Строка 13:
=== Пример 1: утес с выступом ===
=== Пример 1: утес с выступом ===
-
 
VO может использоваться вместе с вашей картой высот, для улучшения внешнего вида вашего ландшафта. Возможно смоделировать весь ландшафт, просто используя VO, но результат не намного более эффективен относительно использования памяти и скорости рендеринга. Скорее лучше всего смоделировать большую часть ландшафта с помощью карты высот, и затем использовать VO, чтобы добавить хорошие приправы к нему.
VO может использоваться вместе с вашей картой высот, для улучшения внешнего вида вашего ландшафта. Возможно смоделировать весь ландшафт, просто используя VO, но результат не намного более эффективен относительно использования памяти и скорости рендеринга. Скорее лучше всего смоделировать большую часть ландшафта с помощью карты высот, и затем использовать VO, чтобы добавить хорошие приправы к нему.
Строка 22: Строка 18:
==== Настройка воксельной области ====
==== Настройка воксельной области ====
-
 
Создаем утес, как в вышеупомянутом уровне. Скажем, у нас уже есть холм, который похож на следующее изображение:
Создаем утес, как в вышеупомянутом уровне. Скажем, у нас уже есть холм, который похож на следующее изображение:
[[Файл:Sandbox Voxel image005.jpg]]
[[Файл:Sandbox Voxel image005.jpg]]
-
Чтобы создать бесшовную интеграцию между вашим VO и вашей картой высот, вы должны выровнять VO по отношению к сектору сетки карты высот на положения X и Y. Самый простой способ это сделать — активировать '''Snap to grid''' прежде, чем поместить VO. Размер сетки должен быть установлен в значении 64 метра, что является размером сектора ландшафта.
+
Чтобы создать бесшовную интеграцию между вашим VO и вашей картой высот, вы должны выровнять VO по отношению к сектору сетки карты высот на положения X и Y. Самый простой способ это сделать — активировать '''Snap to grid''' прежде, чем поместить VO. Размер сетки должен быть установлен в значении 64 метра, что является размером сектора ландшафта.
[[Файл:Sandbox Voxel image002.PNG]]
[[Файл:Sandbox Voxel image002.PNG]]
-
Также полезно включить визуальный показ сетки секторов ландшафта, введя '''e_terrain_bboxes 1''' в консоль. Это заставит синие ограничивающие прямоугольники, изображающие сектора ландшафта, появиться в окне перспективы. Теперь, перейдите в '''[[Sandbox RollupBar|RollupBar]]''' и выберите '''Misc''', а затем '''VoxelObject''', и поместите новый VO в свой уровень.
+
Также полезно включить визуальный показ сетки секторов ландшафта, введя '''e_terrain_bboxes 1''' в консоль. Это заставит синие ограничивающие прямоугольники, изображающие сектора ландшафта, появиться в окне перспективы. Теперь, перейдите в '''[[Сворачивающаяся панель Sandbox 2|RollupBar]]''' и выберите '''Misc''', а затем '''VoxelObject''', и поместите новый VO в свой уровень.
[[Файл:Sandbox Voxel image007.png]]
[[Файл:Sandbox Voxel image007.png]]
Строка 40: Строка 35:
==== Соединение с ландшафтом ====
==== Соединение с ландшафтом ====
-
 
Теперь, мы должны сделать так, чтобы поверхность ландшафта рендерил VO, а не движок. Выберите '''VO''' и активируйте флажок '''Link To Terrain''' в свитке параметров '''VoxelObject'''. Визуально, никаких отличий, за исключением мигания вашего VO.
Теперь, мы должны сделать так, чтобы поверхность ландшафта рендерил VO, а не движок. Выберите '''VO''' и активируйте флажок '''Link To Terrain''' в свитке параметров '''VoxelObject'''. Визуально, никаких отличий, за исключением мигания вашего VO.
Строка 48: Строка 42:
==== Изменения вокселя ====
==== Изменения вокселя ====
-
 
+
В '''[[Сворачивающаяся панель Sandbox|RollupBar]]''', зайдите в '''Terrain->Voxel Painter''', потом в '''Brush Settings''' и выберите '''Create'''. Теперь, начните добавлять нависающую геометрию к главному краю утеса следующими шагами: <br />
-
В '''[[Панель инструментов Sandbox|RollupBar]]''', зайдите в '''Terrain->Voxel Painter''', потом в '''Brush Settings''' и выберите '''Create'''. Теперь, начните добавлять нависающую геометрию к главному краю утеса следующими шагами: <br />
+
Щелкните, чтобы создать новую геометрию.<br />
Щелкните, чтобы создать новую геометрию.<br />
Изменяйте размеры геометрии, передвигая ползунок '''Radius'''.<br />
Изменяйте размеры геометрии, передвигая ползунок '''Radius'''.<br />
-
Используйте функции «Align Plane» для управления геометрией, которую вы создаете. Сначала щелкните на кнопку '''Setup position''', перемещайте и вращайте плоскоть так, как вам угодно, затем щелкните по кнопке «Align to plane». Теперь нарисуйте свой воксель на плоскости.<br />
+
Используйте функции «Align Plane» для управления геометрией, которую вы создаете. Сначала щелкните на кнопку '''Setup position''', перемещайте и вращайте плоскость так, как вам угодно, затем щелкните по кнопке «Align to plane». Теперь нарисуйте свой воксель на плоскости.<br />
Используйте '''Brush Setting->Type->Blur''' чтобы удалить острые края.<br />
Используйте '''Brush Setting->Type->Blur''' чтобы удалить острые края.<br />
Строка 58: Строка 51:
=== Пример 2: пещера ===
=== Пример 2: пещера ===
-
 
Давайте мы сделаем пещеру на том же самом холме:
Давайте мы сделаем пещеру на том же самом холме:
Строка 64: Строка 56:
Во-первых, поместите VO в желаемую область, как вы делали ранее. Так как мы хотим уйти под поверхность ландшафта, мы должны сказать физическому движку, что мы хотим сделать здесь отверстие.<br />
Во-первых, поместите VO в желаемую область, как вы делали ранее. Так как мы хотим уйти под поверхность ландшафта, мы должны сказать физическому движку, что мы хотим сделать здесь отверстие.<br />
-
В '''[[Панель инструментов Sandbox|RollupBar]]''', зайдите в '''Terrain''', и выберите '''Holes''' и сделайте отверстие в той области, где вы хотите сделать вход в свою пещеру. Пожалуйста, заметьте, что это изменяет вашу карту высот, а не VO.
+
В '''[[Сворачивающаяся панель Sandbox 2|RollupBar]]''', зайдите в '''Terrain''', и выберите '''Holes''' и сделайте отверстие в той области, где вы хотите сделать вход в свою пещеру. Пожалуйста, заметьте, что это изменяет вашу карту высот, а не VO.
[[Файл:Sandbox Voxel image016.jpg]]
[[Файл:Sandbox Voxel image016.jpg]]
Строка 78: Строка 70:
[[Файл:Sandbox Voxel image020.jpg]]
[[Файл:Sandbox Voxel image020.jpg]]
-
Теперь мы можем начать делать пещеру. В '''[[Панель инструментов Sandbox|RollupBar]]''' откройте '''Terrain''' и затем '''Voxel Painter''', выберите тип '''Subtract'''. Сделайте пещеру, удерживая левую кнопку мышь, углубляйте область, где должно быть отверстие. И вновь используйте функцию «Align to plane», она здесь очень полезна.
+
Теперь мы можем начать делать пещеру. В '''[[Панель инструментов Sandbox 2|RollupBar]]''' откройте '''Terrain''' и затем '''Voxel Painter''', выберите тип '''Subtract'''. Сделайте пещеру, удерживая левую кнопку мышь, углубляйте область, где должно быть отверстие. И вновь используйте функцию «Align to plane», она здесь очень полезна.
[[Файл:Sandbox Voxel image022.png]]
[[Файл:Sandbox Voxel image022.png]]
==== Изменение материала воксель ====
==== Изменение материала воксель ====
-
 
В '''Brush Settings''', выберите тип '''Material''' из выпадающего списка '''Type''', затем выберите один из материалов в поле «Surface Types». Теперь вы можете подрисовать область вокселя, щелкнув левой кнопкой мыши.
В '''Brush Settings''', выберите тип '''Material''' из выпадающего списка '''Type''', затем выберите один из материалов в поле «Surface Types». Теперь вы можете подрисовать область вокселя, щелкнув левой кнопкой мыши.
Строка 117: Строка 108:
=== Результат ===
=== Результат ===
-
 
Как вы видете, после некоторой практики, можно сделать огромные результаты, дополняя существующий ландшафт вокселем, создавая отверстия и пещеры, или создать одинокий воксельный уровень.
Как вы видете, после некоторой практики, можно сделать огромные результаты, дополняя существующий ландшафт вокселем, создавая отверстия и пещеры, или создать одинокий воксельный уровень.

Версия 10:51, 13 апреля 2011

Содержание

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

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 находится сверху оригинального сектора ландшафта. </span>

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

См. также