Карты нормалей – не волшебное средство, они не могут сделать чудо.
Лучшая область их применения, по моему мнению, сглаживание острых углов и создание видимости рельефной поверхности.
Попробуем сгенерировать карты с объектов разной высоты.
Участники эксперимента.
На скриншоте видно, что цилиндры не «вшиты», а максимально близко приближены к поверхности.
Обратите внимание на положение кэйджа.
Генерируем карту. Как это делается, можно прочитать в предыдущей статье.
Результат.
Увеличиваем высоту цилиндров до 5 см.
Генерим.
На выходе получаем.
Это ошибка. Почему?
Кэйдж находится ниже, пересекает геометрию объектов.
Поднимаем его выше, увеличивая Amount и генерируем опять.
Отличия можно заметить только на цилиндре со скошенными сторонами, так как при увеличении высоты мы видим больше наклонной поверхности.
Попробуем 10см.
На скриншоте собраны все сгенерированные карты и часть геометрии.
Как видно эффективность карт-нормалей для передачи большой выпуклости ограничена.
Каким способом можно передать большую выпуклость?
Есть такая технология параллакс мапинг. Она комбинирует возможности карты высот и карты нормалей и позволяет добиться более реалистичного отображения больших неровностей (выпуклостей). Параллакс – ресурсоемкая технология и визуально результат ее применения выглядит не всегда адекватно. Используется в небольших количествах в играх последних лет — «S.T.A.L.K.E.R.», «Crysis» (и наверное еще в каких то).
Но карты нормалей без работы не останутся. Вокруг множество объектов небольшой «выпуклости», выштамповок, надписей, микрокнопочек и профилей.
Это были эксперименты с отдельными объектами, а что будет, если цилиндры «вшить»?
Еще попробуем сделать эффект вдавленности.
Исходная геометрия.
Обратите внимание где находится кэйдж, когда мы снимаем карту нормалей с вдавленной геометрии.
Результат.
Не очень красиво, и выпуклость/ вдавленность слабо заметна.
А все из-за одной группы сглаживания и перпендикулярных основной плоскости стенок цилиндра.
Немного модифицируем геометрию и добавим еще одну группу сглаживания.
В итоге более интересный результат.
Что еще можно улучшить?
Увеличим полученную карту в области окружности.
Видны несглаженные края. Это не очень красиво, т.к. сказывается на качестве финальной картинки.
Правда, это можно заметить только с близкого расстояния.
Если вашу модель никто не будет рассматривать вблизи, то, возможно, сглаживание вам не понадобится.
Результат во вьюпорте 3ds max 9
Карта нормалей.
Что делать, если вам все же необходимо сглаживание?
Для этого в свойствах «Рендереринг на текстуру» надо включить суперсэмплинг.
Вот последовательность.
Что еще дает включение суперсэмплинга, кроме сглаженных краев?
Увеличение времени рендеринга в 2-3 раза (при значениях, указанных на скриншоте выше).
Возможно, поэкспериментировав, можно найти более оптимальные цифры.
Еще попробуйте использовать другой рендер, например Mental Ray. Будет быстрее.
И напоследок, ответ на часто задаваемый вопрос: «Как включить отображение карт нормалей во вьюпорте 3ds max?»
Во-первых, убедитесь, что у вас выбран Direct3D драйвер.
Затем наложите на объект текстуру Bump->Normal Bump->Normal (Ваша текстура). В прошлый раз я показывал, как это делается. Все очень просто.
Значение Bump – 100.
Затем включите галочку DX Display of Standard Material и нажмите на розовый кубик.
Все должно работать, но приготовьтесь к «тормозам».
На 2-х ядерном процессоре и видеокарте класса 8500GT частота кадров во вьюпорте падает как минимум в 2 раза (на объект назначено от 4-х до 6-и текстур размером 1024х1024). Задержки между нажатиями Ctrl+Z (отмена) могут составлять от 5 до 10 секунд.
При большом количестве текстур большого разрешения 3ds max начинает чаще «падать».
Бывает, другие материалы, на которых не стоит галочка DX Display of Standard Material, не отображаются.
В общем, не удивляйтесь сюрпризам.
Я включаю эти опции периодически, для оценки изменений на текстуре, например.
Включил — посмотрел — выключил.
В следующий раз я хочу рассказать про модификатор MeshSmooth (TurboSmooth). Его использование – неотъемлемая часть технологического процесса создания карты нормалей.
Leave a Reply
You must be logged in to post a comment.