Создание тесселяции в Crysis 2
Материал из CryWiki Russia
DCamer (Обсуждение | вклад) |
DCamer (Обсуждение | вклад) |
||
Строка 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'''. | |
- | Добавляем 2 одинаковых | + | Добавляем 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]] | ||
- | Все текстуры обязательно нужно сохранять через плагин | + | Все текстуры обязательно нужно сохранять через плагин CryTIFF. |
[[Файл:CryEngine 3 creation tesselation saving textures.jpg]] | [[Файл:CryEngine 3 creation tesselation saving textures.jpg]] | ||
- | Открываем | + | Открываем карту смещения (''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'''. | |
- | Не забываем включить | + | |
[[Файл: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) | + | Вызываем редактор материалов (кнопка M). |
- | Нажимаем кнопку New Material, сохраняем созданный материал рядом с нашей моделью | + | Нажимаем кнопку '''New Material''', сохраняем созданный материал рядом с нашей моделью. |
- | + | Указываем все необходимые текстуры в материале и присваиваем его на нашу модель. | |
- | + | ||
- | Указываем все необходимые текстуры в материале. | + | |
[[Файл:CryEngine 3 creation tesselation assign material.jpg]] | [[Файл:CryEngine 3 creation tesselation assign material.jpg]] | ||
Строка 76: | Строка 71: | ||
== Приступим к настройке тесселяции == | == Приступим к настройке тесселяции == | ||
- | Открываем свиток 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]] | ||
Строка 85: | Строка 80: | ||
Такая тесселяция нам явно не подойдёт. | Такая тесселяция нам явно не подойдёт. | ||
- | Настроим параметры тесселяции в свитке 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 smoothing groups.jpg]] | + | {{Примечание|Если на углах модели появляются дыры, в 3ds Max установите первую группу сглаживания:<br/> |
+ | [[Файл:CryEngine 3 creation tesselation smoothing groups.jpg]]}} | ||
== См. также == | == См. также == | ||
[[Категория:CryEngine 3: Экспортирование ресурсов]] | [[Категория:CryEngine 3: Экспортирование ресурсов]] |
Текущая версия на 17:26, 15 октября 2011
|
В этой статье вы научитесь создавать тесселяцию в CryEngine 3.
Содержание |
Начало
Тесселяция в реальном времени увеличивает количество полигонов, разделяя каждый полигон на заданное количество связанных полигонов, для правильного выстраивания связанных полигонов используются карты нормалей (или карты бампа) и альфа-канал со смещением, сами связанные полигоны выстраиваются в соответствие с направлением поверхности модели, которое собственно и определяется в картах нормалей и картах смещения. Однако, такая система стала доступна относительно недавно, а именно с появлением видеокарт поддерживающих DirectX 11.
Для начала смоделируем простой куб.
На всякий случай я установил количество сегментов 5x5x5.
Далее создаём материал.
Создаём копию куба (Ctrl+V) и в название модели добавляем префикс _ptm.
Добавляем 2 одинаковых куба в список моделей для экспорта. Обязательно ставим галочку Export File per Node.
Итак, модели готовы.
Приступим к созданию текстур
Для примера я взял текстуры кирпичей из S.T.A.L.K.E.R..
Все текстуры обязательно нужно сохранять через плагин CryTIFF.
Открываем карту смещения (Displacement), копируем (Ctrl+C) и вставляем (Ctrl+V) в альфа-канал карты бампа. Каналы должны выглядеть вот так:
Текстура карты бампа готова. Осталось сохранить её в нужный формат. Выбираем формат CryTIFF, и настраиваем все параметры в точности как на картинке ниже.
Текстуры готовы.
Приступим к созданию материала
Не забываем включить DirectX 11 и конфигурацию графики Ultra.
Перетащим куб на уровень.
Вызываем редактор материалов (кнопка M). Нажимаем кнопку New Material, сохраняем созданный материал рядом с нашей моделью. Указываем все необходимые текстуры в материале и присваиваем его на нашу модель.
Приступим к настройке тесселяции
Открываем свиток Shader Generation Params и ставим галочки Displacement Mapping и Tesselation.
Что получилось:
Такая тесселяция нам явно не подойдёт. Настроим параметры тесселяции в свитке Shader Params.
Результат
С помощью «метода тыка» у меня вот что получилось:
Ну вот и всё, тесселяция готова.