Блог » 2013»марта»29 » Как нарисовать качественную текстуру для Unity3D
Как нарисовать качественную текстуру для Unity3D
08:40
Решил перевести старый гайд по созданию качественной сай-фай текстуры, а также немного адаптировать его для Unity3D. Нам понадобится блендер и и фотошоп. Перевод некоторых терминов будет немного корявым, так как я привык работать на английском. Прошу заранее простить меня за это. 1) Для начала вам нужно придумать модель, которую вы хотите воплотить в жизнь. Чем реалистичнее модель, чем правдоподобнее на ней расположены детали, такие как: заклёпки, швы, болты, тем лучше. Теперь создаёте в блендере (или в другом пакете 3д графики) высокополигональную модель, не скупясь на детали. 2) Следующий шаг - создание UV развёртки и карты ambient освещения. В блендере выбираете вашу модель, и делаете развёртку Project from view, расположив камеру так, чтобы модель была развёрнута прямо на нас. Для этого выбираете все полигоны модели в edit mode, нажимаете на U и выбираете project from view В окошке редактирования текстуры в блендере выбираете UVs--> Export UV layout. Сохраняете файл в желаемом разрешении для текстуры. Затем нужно запечь карту ambient освещения. Для этого в блендере в окошке свойств, в закладке world ставите галочку на ambient occlusion, заходите в закладку render, выбираете Bake и меняете тип запекания на ambient occlusion. Перед тем как запекать, вам нужно создать новую текстуру. В окошке редактирования текстуры создаёте новую текстурку image--> new image, выбираете цвет белый и разрешение, такое же как и у развёртки. Выберите полигоны модельки и назначьте их на ваш белый листик, просто выбрав его в списке текстур. Заходите в Render и нажимаете Bake. Не забудьте убрать лишнее освещение, так как карта может получится слишком светлой. Должно получится что-то вроде этого:
3) Создание цветовой палитры Заходите в фотошоп и создавайте новую текстуру, используя базовый фоновый цвет или простую текстуру с малым количеством деталей, например снимок бетонной стены или куска металла. Добавляете поверх слой с ambient и в свойствах слоя делаете режим "умножение" (multiply). Настраиваете прозрачность. Также добавляете слой с развёрткой и выбираете режим "экран" (screen), ставите прозрачность около 20-25%.
У нас есть базовый шаблон, по которому можно рисовать палитру. 4) Потёртости и царапины. Любая металлическая деталь как правило покрыта краской. По прошествии времени часть краски слезает и возникают потёртости и царапины. Создаёте новый слой, выбираете режим экран с прозрачностью около 30% и берёте любую кисточку в фотошопе, у которой самое меньшее сглаживание. Цвет белый. ambient карта может дать нам хорошее представление, где больше слезает краска. Как правило это углы и края деталей. Неплохой идеей будет добавить второй слой потёртостей поверх, с меньшей прозрачностью.
Далее царапины. Также создаёте новый слой в режиме экрана с небольшой прозрачностью, выбираете карандаш белого цвета и расчёркиваете металл прямыми линиями, создавая поцарапанные поверхности.
5) Закрашивание поверхностей. Заливка в фотошопе имеет отличное свойство "все слои". Выбираете необходимый цвет, в свойствах заливки наверху ставите галочку "все слои" (all layers) и закрашиваете определённые кусочки деталей в свой цвет. Заливка будет ориентироваться на детали и царапины, однако вам нужно чутко регулировать чувствительность инструмента. Для создания двухцветной окраски можно создать свой собственный шаблон заливки под себя.
Как правило металлические поверхности имеют несколько слоёв краски. Для создания второго слоя, сделайте слой под основными слоями краски. С помощью волшебной палочки, создайте выделение из уже залитой краски, потом с помощью панели выделение, увеличьте выделение на 2-3 пикселя в зависимости от вашего разрешения. Теперь вы можете, используя это выделение, рисовать второй слой краски под основным слоём.
6) Создание Bump текстуры. Бамп текстура создаёт визуальный объём и выпуклость для вашей текстуры. Конечно сейчас есть программы, которые создают её автоматически, такие как CrazyBump, однако мы попробуем сделать её вручную. Для её создания сохраните вашу палитру в отдельный файл, и сделайте все слои чёрно-белыми с помощью меню "изображение."Двухцветные палитры замените на одноцветный слой, все царапины и потёртости обратите в чёрный цвет, чтобы в игре они впадали внутрь. Вся краска будет примерно одго тона, нижний слой чуть темнее. Все лишнии детали смазаны, чтобы придать карте более гладкий вид. Карты ambient и развёртка отключены.
7) Дополнительные детали Отличным способом придать детализованности вашей палитре будет добавление дополнительных текстур поверх, таких как бетон, металл, ткани, пластик или ржавчина. Задайте слабую прозрачность и поиграйте с режимами слоёв, чтобы добиться мягкого и органично выглядящего эффекта. Эффект ржавчины можно сделать рисуя обычной смазанной кситю жёлтого/бурого/зелёного цвета в режиме умножения и с малой прозрачностью. Также можете добавить детали, такие как надписи, стрелочки и цифры из других готовых изображений или используя инструмент текста.
Вот так выглядит наша финальная палитра:
8) Карта отражений. Карта отражений даёт вам возможность регулировать отражающие свойства материала при рендере или в игре. Она создаётся почти также, как и карта бампа. Более светлые части отражают больше, более тёмные - меньше. Соответственно все царапины и места со слезшей краской у нас снова тёмные, а основная поверхность более светлая. Карта ambient включена.
9) Финальный шаг Ну вот, наша текстура почти готова. Для использования её в рендере уже можно брать прямо так, однако для импорта в юнити нам нужно сделать ещё кое-что. Дело в том, что базовые шейдеры Юнити читают бамп карту отдельно, а карту отражений берут из палитры. Чтобы они могли использовать нашу текстуру, нужно вставить карту отражений вовнутрь палитры. Для этого открываем окошко "Каналы" и создаём новый канал, который будет называться альфа 1. Копируем карту отражений из файла, и вставляем её в палитру в альфа канал, для этого он должен быть выделен. Подгоняем размер, и сохраняем получившуюся текстуру в формате TGA.
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:
Игровые объявления и предложения:
Если вас заинтересовал материал «Как нарисовать качественную текстуру для Unity3D», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела.
Предлагаются такие схожие материалы:
Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.
скай, переводится как небо. Транскрипция слова sci-fi точно не скай-фай. Полностью, без сокращения читается как "сайенс фикшн". Следовательно сокращение скорее читается как "сай"
Довольно распространенная ошибка. Просто не все понимают смысл сокращения sci-fi, и даже те, кто понимает, иногда забывают, как это читается. Но, все таки, в англ. языке нет слова "скаенс"))
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]