Создание тесселяции в Crysis 2

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «{{О статье |авторы=SARGIY576 |редактор=DCamer |добавлена=15/10/2011 |совместимость=CryEngine 3 |сложность=Лег...»)
 
(1 промежуточная версия не показана)
Строка 10: Строка 10:
== Начало ==
== Начало ==
-
Сразу перейдём к делу.
+
Тесселяция в реальном времени увеличивает количество полигонов, разделяя каждый полигон на заданное количество связанных полигонов, для правильного выстраивания связанных полигонов используются карты нормалей (или карты бампа) и альфа-канал со смещением, сами связанные полигоны выстраиваются в соответствие с направлением поверхности модели, которое собственно и определяется в картах нормалей и картах смещения. Однако, такая система стала доступна относительно недавно, а именно с появлением видеокарт поддерживающих DirectX 11.
Для начала смоделируем простой куб.
Для начала смоделируем простой куб.
Строка 16: Строка 16:
[[Файл:CryEngine 3 creation tesselation simple cube.png]]
[[Файл:CryEngine 3 creation tesselation simple cube.png]]
-
На всякий случай я установил количество сегментов 5x5x5
+
На всякий случай я установил количество сегментов 5x5x5.
[[Файл:CryEngine 3 creation tesselation segments setting.jpg]]
[[Файл:CryEngine 3 creation tesselation segments setting.jpg]]
-
Создаём материал
+
Далее создаём материал.
[[Файл:CryEngine 3 creation tesselation creating material.jpg]]
[[Файл:CryEngine 3 creation tesselation creating material.jpg]]
-
Клонируем куб (ctrl+v) и в названии модели добавляем префикс _ptm
+
Создаём копию куба (Ctrl+V) и в название модели добавляем префикс '''_ptm'''.
-
Добавляем 2 одинаковых бокса в список моделей для экспорта. Обязательно ставим галочку Export File per Node.
+
Добавляем 2 одинаковых куба в список моделей для экспорта. Обязательно ставим галочку '''Export File per Node'''.
[[Файл:CryEngine 3 creation tesselation export list.jpg]]
[[Файл:CryEngine 3 creation tesselation export list.jpg]]
Строка 33: Строка 33:
== Приступим к созданию текстур ==
== Приступим к созданию текстур ==
-
 
+
Для примера я взял текстуры кирпичей из S.T.A.L.K.E.R..
-
 
+
-
Для примера я взял текстуры кирпичей из сталкера.
+
[[Файл:CryEngine 3 creation tesselation bricks texture.jpg]][[Файл:CryEngine 3 creation tesselation bricks texture normal.jpg]][[Файл:CryEngine 3 creation tesselation bricks texture alpha.jpg]]
[[Файл:CryEngine 3 creation tesselation bricks texture.jpg]][[Файл:CryEngine 3 creation tesselation bricks texture normal.jpg]][[Файл:CryEngine 3 creation tesselation bricks texture alpha.jpg]]
-
Все текстуры обязательно нужно сохранять через плагин CryTIFFPlugin
+
Все текстуры обязательно нужно сохранять через плагин CryTIFF.
[[Файл:CryEngine 3 creation tesselation saving textures.jpg]]
[[Файл:CryEngine 3 creation tesselation saving textures.jpg]]
-
Открываем Displacement карту, копируем (ctrl+c) и вставляем (ctrl+v) в альфа канал бампа
+
Открываем карту смещения (''Displacement''), копируем (Ctrl+C) и вставляем (Ctrl+V) в альфа-канал карты бампа.
Каналы должны выглядеть вот так:
Каналы должны выглядеть вот так:
[[Файл:CryEngine 3 creation tesselation channel panel.jpg]]
[[Файл:CryEngine 3 creation tesselation channel panel.jpg]]
-
Текстура бампа готова. Осталось сохранить её в нужный формат.
+
Текстура карты бампа готова. Осталось сохранить её в нужный формат.
-
Выбираем формат CryTIFF, и настраиваем все параметры в точности как на этой картинке
+
Выбираем формат CryTIFF, и настраиваем все параметры в точности как на картинке ниже.
[[Файл:CryEngine 3 creation tesselation crytiff settings.jpg]]
[[Файл:CryEngine 3 creation tesselation crytiff settings.jpg]]
Строка 57: Строка 55:
== Приступим к созданию материала ==
== Приступим к созданию материала ==
-
 
+
Не забываем включить DirectX 11 и конфигурацию графики '''Ultra'''.
-
Не забываем включить DX11 и графику Ultra
+
[[Файл:CryEngine 3 creation tesselation dx11 veryhigh.jpg]]
[[Файл:CryEngine 3 creation tesselation dx11 veryhigh.jpg]]
-
Перетащим куб на уровень
+
Перетащим куб на уровень.
 +
 
[[Файл:CryEngine 3 creation tesselation drop cube.jpg]]
[[Файл:CryEngine 3 creation tesselation drop cube.jpg]]
-
Вызываем редактор материалов (кнопка M)
 
-
Нажимаем кнопку New Material, сохраняем созданный материал рядом с нашей моделью
 
-
Присваиваем его на нашу модель
 
-
Указываем все необходимые текстуры в материале
+
Вызываем редактор материалов (кнопка M).
 +
Нажимаем кнопку '''New Material''', сохраняем созданный материал рядом с нашей моделью.
 +
Указываем все необходимые текстуры в материале и присваиваем его на нашу модель.
 +
 
[[Файл:CryEngine 3 creation tesselation assign material.jpg]]
[[Файл:CryEngine 3 creation tesselation assign material.jpg]]
== Приступим к настройке тесселяции ==
== Приступим к настройке тесселяции ==
-
Открываем свиток Shader Generation Params и ставим галочки Displacement Mapping и Tesselation
+
Открываем свиток '''Shader Generation Params''' и ставим галочки '''Displacement Mapping''' и '''Tesselation'''.
 +
 
[[Файл:CryEngine 3 creation tesselation shader generation params.jpg]]
[[Файл:CryEngine 3 creation tesselation shader generation params.jpg]]
Что получилось:
Что получилось:
 +
[[Файл:CryEngine 3 creation tesselation bad tesselation.jpg]]
[[Файл:CryEngine 3 creation tesselation bad tesselation.jpg]]
Такая тесселяция нам явно не подойдёт.
Такая тесселяция нам явно не подойдёт.
-
Настроим параметры тесселяции в свитке Shader Params
+
Настроим параметры тесселяции в свитке '''Shader Params'''.
 +
 
[[Файл:CryEngine 3 creation tesselation shader params.jpg]]
[[Файл:CryEngine 3 creation tesselation shader params.jpg]]
-
С помощью метода тыка у меня вот что получилось:
+
== Результат ==
 +
 
 +
С помощью «метода тыка» у меня вот что получилось:
 +
 
[[Файл:CryEngine 3 creation tesselation good tesselation.jpg]]
[[Файл:CryEngine 3 creation tesselation good tesselation.jpg]]
-
Ну вот и всё, тесселяция готова :)
+
Ну вот и всё, тесселяция готова.
 +
 
 +
{{Примечание|Если на углах модели появляются дыры, в 3ds Max установите первую группу сглаживания:<br/>
 +
[[Файл:CryEngine 3 creation tesselation smoothing groups.jpg]]}}
 +
 
 +
== См. также ==
-
Примечание: Если на углах модели появляются дыры, в 3д максе установите первую группу сглаживания
+
[[Категория:CryEngine 3: Экспортирование ресурсов]]
-
[[Файл:CryEngine 3 creation tesselation smoothing groups.jpg]]
+

Текущая версия на 17:26, 15 октября 2011

О статье
АвторыSARGIY576
РедакторDCamer
СложностьЛегко
СовместимостьCryEngine 3
Дата добавления15/10/2011


В этой статье вы научитесь создавать тесселяцию в CryEngine 3.

Содержание

Начало

Тесселяция в реальном времени увеличивает количество полигонов, разделяя каждый полигон на заданное количество связанных полигонов, для правильного выстраивания связанных полигонов используются карты нормалей (или карты бампа) и альфа-канал со смещением, сами связанные полигоны выстраиваются в соответствие с направлением поверхности модели, которое собственно и определяется в картах нормалей и картах смещения. Однако, такая система стала доступна относительно недавно, а именно с появлением видеокарт поддерживающих DirectX 11.

Для начала смоделируем простой куб.

CryEngine 3 creation tesselation simple cube.png

На всякий случай я установил количество сегментов 5x5x5.

CryEngine 3 creation tesselation segments setting.jpg

Далее создаём материал.

CryEngine 3 creation tesselation creating material.jpg

Создаём копию куба (Ctrl+V) и в название модели добавляем префикс _ptm.

Добавляем 2 одинаковых куба в список моделей для экспорта. Обязательно ставим галочку Export File per Node.

CryEngine 3 creation tesselation export list.jpg

Итак, модели готовы.

Приступим к созданию текстур

Для примера я взял текстуры кирпичей из S.T.A.L.K.E.R..

CryEngine 3 creation tesselation bricks texture.jpgCryEngine 3 creation tesselation bricks texture normal.jpgCryEngine 3 creation tesselation bricks texture alpha.jpg

Все текстуры обязательно нужно сохранять через плагин CryTIFF.

CryEngine 3 creation tesselation saving textures.jpg

Открываем карту смещения (Displacement), копируем (Ctrl+C) и вставляем (Ctrl+V) в альфа-канал карты бампа. Каналы должны выглядеть вот так:

CryEngine 3 creation tesselation channel panel.jpg

Текстура карты бампа готова. Осталось сохранить её в нужный формат. Выбираем формат CryTIFF, и настраиваем все параметры в точности как на картинке ниже.

CryEngine 3 creation tesselation crytiff settings.jpg

Текстуры готовы.

Приступим к созданию материала

Не забываем включить DirectX 11 и конфигурацию графики Ultra.

CryEngine 3 creation tesselation dx11 veryhigh.jpg

Перетащим куб на уровень.

CryEngine 3 creation tesselation drop cube.jpg

Вызываем редактор материалов (кнопка M). Нажимаем кнопку New Material, сохраняем созданный материал рядом с нашей моделью. Указываем все необходимые текстуры в материале и присваиваем его на нашу модель.

CryEngine 3 creation tesselation assign material.jpg

Приступим к настройке тесселяции

Открываем свиток Shader Generation Params и ставим галочки Displacement Mapping и Tesselation.

CryEngine 3 creation tesselation shader generation params.jpg

Что получилось:

CryEngine 3 creation tesselation bad tesselation.jpg

Такая тесселяция нам явно не подойдёт. Настроим параметры тесселяции в свитке Shader Params.

CryEngine 3 creation tesselation shader params.jpg

Результат

С помощью «метода тыка» у меня вот что получилось:

CryEngine 3 creation tesselation good tesselation.jpg

Ну вот и всё, тесселяция готова.

Примечание:
Если на углах модели появляются дыры, в 3ds Max установите первую группу сглаживания:
CryEngine 3 creation tesselation smoothing groups.jpg

См. также