Внимание, из за скриншотов большого размера, для комфортного чтения статьи необходимо поставить разрешение 1280х1024 или выше, либо читать в Internet Explorer, но тогда куски скриншотов обрежутся. Кстати, и при высоком разрешении лучше смотреть в IE.
Оригинал статьи на английском
Origianal Author: Hourences
Translated by VoodariuS
В общих чертах: В этом туториале даны подсказки насчет того, как положено текстурировать игровое пространство. Это простая версия текстурной главы в моей книге о дизайне уровней. Туториал разделен на три части. Художественную, техническую, и часть, касающуюся Unreal'a. В художественной части рассказано про то, как получить хорошую картинку, в то время, как в технической части, и части об Unreal'е даны технические подсказки, техники, настройки и свойства. Этот туториал не касается шэйдеров или передовых материалов.
Целевая аудитория: Новички, а также продвинутые
Платформа: Любая
Последнее обновление: Август 2006
Ссылки по теме:
Hourences' Level Design Book
NVIDIA DDS plugin
Unreal Developers Network
Самая частая ошибка новичков - это плохо подогнанные текстуры.
Есть несколько типов ошибок в работе с подгонкой текстур. Это текстуры, которые просто не подогнаны, как в вышеприведенном случае. Также бывает, что размер текстур не совпадает. Вы можете увидеть это на правом крае скриншота (серая колонна). К этому относится и одновременное использование текстур как высокого, так и низкого разрешения. Результатом будет то, что вы сможете увидеть разницу между поверхностями, особенно на низком LOD'e.
В любом случае ГДЕ-НИБУДЬ у вас все равно текстуры будут НЕМНОГО не подогнаны, но вы должны попытаться минимизировать количество этих не подогнанных текстур. Главная проблема этих текстур, что они могут уничтожить иллюзию виртуального окружения. Вы, вероятно, хотите, чтобы игроки получили как можно лучший опыт от вашей карты. Из-за вышеупомянутых ошибок ваше окружение будет выглядеть поддельно, а вы, как автор, будете выглядеть ленивым неряхой.
Подогнать текстуры, вроде тех, что на полу из примера - просто. В Unreal'e вы можете заставить две поверхности автоматически подгоняться друг к другу нажатием F5, а в 3DSMax'e вы можете применить простую UVW карту по оси Z на этих два полигона.
Другая частая ошибка - применение текстуры на слишком большой и плоской поверхности.
Примечание для тех, у кого в школе был немецкий: Good = хорошо, Bad = плохо
Хотя это больше относится к геометрии - будьте осторожны с текстуризацией больших плоских мест, таких как стены и полы. Если вы добавите несколько дополнительных брашей/полигонов, чтобы принести больше разнообразия и определенности текстуризации, это сильно улучшит картинку. Если вы не будете разбавлять эти вещи, то это будет выглядеть скучно, и у вас уйдет куча времени для скрытия повторяющегося изображения текстуры.
Путаница цветов и стилей это еще одна частая ошибка. Вы должны создавать последовательную и когерентную текстурную палитру и придерживаться этой выборки текстур, или результат может стать мешаниной.
Уровень на скриншоте использует очень большой диапазон разных текстур. Ни цвета, ни стиль не совпадают друг с другом. Логика этого текстурирования случайна, и таким образом это окружение выглядит не очень реалистично и не заслуживает доверия. Текстурирование уровня формирует основу освещения. Плохое текстурирование может означать плохое освещение. Если ваши текстуры не согласуются, вы не сможете скрыть эти нестыковки и исправить проблему с освещением.
Даже с голубыми светильниками, примененными к этой шахте лифта, здесь все равно беспорядок.
Хорошее текстурирование означает последовательные и когерентные во всех смыслах: в стиле, теме, цвете, размере текстур, что делает хорошую базу для дальнейшей работы с освещением. Следующие картинки хорошо текстурированы.
Они используют последовательный и ограниченный набор текстур.
Этот скриншот приносит нас к другой вещи: Яркость и насыщенность текстур. Текстуры должны иметь довольно низкую насыщенность. Лучше иметь светлые текстуры, чем слишком темные. Темные не могут быть освещены! Черное и то, что рядом с черным не может быть освещено. Это же относится и к насыщенности. Если текстура очень насыщенная и имеет оранжевый цвет, например, вы сможете иметь только оранжевое освещение в местах, покрытых этой текстурой. Любой другой цвет будет выглядеть плохо, а это нехорошо. Текстуры должны иметь свойство быть использованы снова и снова в различных ситуациях, а освещение не должно зависеть от цвета текстур.
Это был плохой пример. Текстуры невероятно темные и поэтому их очень сложно осветить.
Это был еще один плохой пример. Скалы слишком темные.
Передача яркости своеобразна, когда передать надо яркость снега. Снег, очевидно, белый, поэтому почти все текстуры выглядят темными в сравнении с ним.
Это опять был плохой пример, у вас не получится осветить окружение, подобное этому, успешно. Вам нужны сильные светильники, если вы хотите выделить что-нибудь на зданиях, в то время как снегу нужно очень мало света, так как он белый. Здесь невозможно сделать освещение таким, чтобы снег и здания совпадали по уровню освещенности.
Попытайтесь сделать другие текстуры настолько яркими, насколько можно. Попытайтесь сделать так, чтобы они совпадали со снегом, насколько это возможно.
Текстура спутника в этом примере намного темнее, чем окружение, поэтому эта текстура стала ярче. Результат должен выглядеть последовательно всегда и в любой ситуации.
Хорошие примеры, где требуется коррекция яркости - четыре скриншота за абзацем о яркости/насыщенности.
Еще одна частая ошибка - отсутствие обвода у края. Если текстура достигает конца объекта, она может выглядеть обрезанной. В таком случае вам надо добавить небольшой край.
Обратите внимание на обводку границ стен, дверей, и пола на хорошей (Good где написано) картинке.
Это также действенно, когда две разных текстуры прикасаются друг к другу. Добавьте границу между двумя поверхностями, чтобы отшлифовать картинку.
Вода
Если ваш движок не поддерживает шибко продвинутую (pixel shader) воду, вы можете выйти из положения, используя составные слои, друг над другом, чтобы сделать хорошую воду. Например, игры серии GTA порой используют эту технику.
На моем уровне ONS Dinora вода была сделана двумя слоями. Первым слоем был стандартный шейдер воды со специальной specularity mask, чтобы создать эффект волн на ней, в то время, как второй слой предоставлял световой эффект и немного белых точек или отраженного света, который часто можно видеть на воде.
Если вы не можете сделать ваш шейдер сложным, тогда просто используйте больше слоев (мешей) чтобы перекрыть разные шейдеры друг другом.
Это первая страница статьи. Следующая страница.
|