Создание текстуры плитки Bee Hive Medley


Автор MastaMan
Обновлено Февраль 15, 2021
English и Русский

Оглавление

Всем привет!
В этом уроке, я хочу поделиться одним из способов создания текстур плоских объектов типа плитки или 3D панели. 
Я довольно часто прибегаю к такому методу, поскольку это быстрее, чем обрисовывать текстуру с нуля в Photoshop. Плюс, еще, в пару кликов можно быстро создать bump карту.


Я думаю, что не нужно дополнительно говорить о том, что использование текстуры вместо 3D геометрии значительно экономит ресурсы. Особенно, если вы собираете сцены в Unreal Engine, Unity или под WebGL. А результат будет ничем не хуже.

Обязательно расскажите в комментариях ваши кейсы применения данного способа и как вы создаете подобные текстуры...




Вступление

bee hive tile example
Loading...
Пример плитки, которую мы будем воссоздавать

Картинка взята с сайта: https://www.daltile.com/product/Bee-Hive-Medley?color=White&shape=Hexagon

Как мы видим, плитка имеет сложный рисунок, и отрисовка в Photoshop займет довольно много времени.
Поэтому, в данном способе мы сначала создадим геометрию плитки, применим к ней текстуры, затем просто сделаем ее рендер. Таким образом мы имеем более гибкий подход и можем в процессе изменить направление фактуры для отдельных плиток, или поменять что-либо без глобальных переделок.

Дочитайте урок до конца и возможно вы узнаете о некоторых нюансах или новых трюках.

Моделирование

Всегда, перед этапом моделирования необходимо внимательно изучить референс, чтобы разбить работу на небольшие этапы и понять конструкцию или строение объекта.
tile research how to made1
Loading...
Как видно, на картинке сверху, наша плитка состоит из шестиугольников с определенным рисунком, который разделяет нашу соту на три ромба. 
Ряд ниже, это та-же плитка, только развернута на 180°.
Плитки прилегают друг к другу под определенным углом, около 60°.

Создадим шестиугольник при помощи Spline → NGon.
spline ngon
Loading...
Для этого перейдите в вид Top, нажмите NGon, установите количество сторон 6 и размер 24.77 см.
Размер взят из спецификации, указанном на официальном сайте.
created ngon spline 6sides
Loading...
Далее конвертируем данный сплайн в Editable Poly, при помощи нажатия правой кнопки мышки на выделенном объекте и выберите Convert To → Editable Poly.
ngon to editable poly
Loading...
Перейдите в подобъекты редактирования полигонов или нажмите кнопку 4 на клавиатуре. Выделите единственный полигон, сделайте небольшой Insert.
ngon insert 03
Loading...
Сделайте еще один Insert и затем нажмите Collapse. У вас должно получиться так, как на картинке ниже.
ngon insert collapse
Loading...
Выделите грани, нажмите кнопку 2 для работы с ребрами. Выделите как показано на картинке ниже и нажмите Backspace на клавиатуре.
ngon remove edges
Loading...
У вас должно получиться так.
ngon without edges
Loading...
Сделайте Chamfer для следующих граней с такими настройками.
ngon chamfer edges
Loading...
Можно немного изменить масштаб на глаз, чтобы линии были более ровными. Выделите полигоны как на картинке и немного примените Scale.
ngon scale center
Loading...
Сделайте Extrude, полигонам, чтобы задать высоту плитки.
ngon extrude faces
Loading...
В результате у вас должна получиться такая плитка.
ngon final modelling
Loading...

Текстурирование

Разобьем нашу плитку на три Material ID. Смотрите картинки ниже, как стоит применить IDs.
ngon material id 1
Loading...
ngon material id 2
Loading...
ngon material id 3
Loading...
Откройте Material Editor (кнопка M на клавиатуре), создайте Multi/Sub-Object Material с тремя слотами и сразу назначьте Standard Material для каждого из слотов.
multimaterial ngon
Loading...
Установите Diffuse Color:

Для ID 1 RGB: 2 2 2
Для ID 2 RGB: 38 49 50
Для ID 3 RGB: 239 243 235


Пример установки цвета смотрите на картинке ниже.
set rgb diffuse color
Loading...
В качестве Diffuse Texture для ID 2, я назначил эту текстуру ниже. Вы можете взять ее или же создать в Photoshop при помощи инструмента Clone Stamp, используя за основу картинку с этого сайта: https://stoneandtileshoppe.com/products/bee-hive-medley-p048-cube-hex-negative-matte-porcelain-tile
wood texture tiled for ngon
Loading...
Примените к отдельным полигонам модификатор UVW Xform, измените Rotation и V Tile, если нужно.
ngon apply uvw xform 1
Loading...
Смотрите финальный результат на картинке ниже.
ngon texturing final
Loading...
Таким образом мы создали один элемент плитки с тремя ID материалами: черные швы по краям, рисунок с тремя белыми полосками и текстурой дерева.

Рендеринг

Сделайте клонирование плитки при помощи клавиши Shift, как показано на GIF-анимации ниже. Используйте для удобства Tools→Transform Toolbox и Vertex привязку.
ngon clone
Loading...
Результат клонирования должен выглядеть следующим образом. Смотри картинку ниже.
ngon final clone
Loading...
Внимание! Теперь интересный трюк. Мы создадим Plane по размеру повторяющегося паттерна. Это в дальнейшем нам поможет удобно вырезать текстуру в Photoshop.

Сейчас будет самая ответственная часть, нам необходимо создать Plane, по размеру повторяющегося паттерна. Представьте, что Plane это прямоугольная область, которую мы позже вырежем и она должна бесшовно повторяться. 

Для удобства я создал Plane с минимальным количеством сегментов, сконвертировал в Editable Poly, немного приподнял над плиткой, затем при помощи комбинации клавиш Alt+X, я сделал наш Plane полупрозрачным. Далее двигая вершины, у меня получился такой результат.
plane pattern edit
Loading...
Поставьте Pivot Point для Plane в центр, для этого можно воспользоваться тем-же Transform Toolbox, нажав кнопку Center, в группе Align Pivot.
center pivot
Loading...
Постройте обычную Free Camera в виде Top, и при помощи инструмента Align, выровняйте по центру нашего вспомогательного Plane.
align camera by plane
Loading...
Зайдите в настройки рендера Render Setup, установите размер 5000x5000px, включите Safe Frame для Viewport при помощи клавиш Shift+F.
Для камеры включите опцию Orthographic Projection и установите Type→Target Camera. Нажмите клавишу C, чтобы включить вид из камеры.
Переместите Camera Target по оси Z в 0 координат. И поднимая или опуская камеру по оси Z, подберите ракурс, чтобы Plane было полностью видно в камере.
render and camera setup
Loading...
У меня сцена выглядит, как на картинке ниже.
Обратите внимание!
Важно, чтобы Camera Target, был на одном уровне вместе с самой нижней точкой нашей плитки.
set target camera
Loading...
Убедитесь, что в качестве рендера у вас установлен Scanline Renderer.
Спрячьте Plane и сделайте рендер F9, нашей текстуры.
render texture
Loading...
Сохраните рендер в формате PNG в удобное для вас место, нажав на иконку Дискеты.

Теперь необходимо спрятать плитку и сделать рендер нашего Plane. Затем сохранить также в формате PNG.
save render plane
Loading...
Для создания bump карты, необходимо добавить в настройках рендера Render Setup новый Render Element→Z Depth.
add zdepth render element
Loading...
Задайте следующие настройки для Z Depth. Выделите камеру, скопируйте Target Distance в параметр Z Max.
zdepth set zmax
Loading...
Далее я выбрал Camera Target, переместил с привязкой по оси Z к верху плитки и скопировал параметр Target Distance в Z Min. Затем, вернул Camera Target в 0 координат по оси Z.
Важно!
Не забудьте переместить Camera Target в исходное положение - в 0 координат по оси Z! Иначе у вас будет не правильный паттерн!
zdepth set zmin
Loading...
Спрячьте вспомогательный Plane, включите вид с камеры и запустите рендер F9. Если, вы сделали все правильно, у вас должен запуститься в отдельном VFB рендер нашего bump.
render bump
Loading...
Сохраните также этот рендер в формате PNG.
На этом этапе весь рендеринг завершен. Мы получили высококачественные текстуры плитки и bump карты. Благодаря Scanline Renderer, мы получили картинки без искажений цветов и в большом разрешении, что нам и требовалось. 
Осталось только вырезать нужный паттерн в Photoshop.

Работа в Photoshop

Откройте Photoshop, загрузите получившиеся 3 текстуры в стек. Для этого перейдите в File→Scripts→Load Files into Stack.
photoshop load textures into stack
Loading...
Нажмите Ctrl+левый клик мышки, чтобы получить выделение непрозрачной области. Таким образом, мы получаем быстрое выделение нужной нам повторяющейся области. Благодаря Plane, который мы создали как вспомогательный объект, нам остается только сделать Crop данной области.
photoshop select trim area
Loading...
Чтобы сделать Crop, не снимая выделения, включите инструмент Crop или нажмите клавишу C, и затем, нажмите Enter
Попробуйте после этого применить Filter→Other→Offset, чтобы убедиться или у текстуры нету швов. 

Отлично сработано! Текстура выглядит великолепно!
filter other offset
Loading...
Теперь вы можете сохранить финальные текстуры. Для сохранения bump, спрячьте слой выше и сохраните под другим названием. Слой с рендером Plane, нам уже не нужен.

Бонус-контент

Если, вам необходимо получить Normal карту вместо черно-белой карты высот, - это можно легко сделать в Photoshop.
Перейдите в Filter→3D→Generate Normal Map...
photoshop generate normal map
Loading...
Настройте силу выдавливания и размытость.
photoshop normal map
Loading...
Готово!
normal map
Loading...
Если у вас остались вопросы, вы можете посмотреть прикрепленное в начале урока видео. Или спрашивайте в комментариях.
Также расскажите, как вы создаете подобные текстуры и был ли вам данный способ полезен 😉

Финальный результат

Так к примеру выглядит Diffuse + Normal в PlayCanvas WebGL, смотрится симпатично.
final result
Loading...
Прилагаю две текстуры, которые получились в результате.
bee hive medlen 1024 diffuse
Loading...
Diffuse Map

bee hive medlen resized normal
Loading...
Normal Map



{{commentsMsg}}
  

Никто не оставил комментариев
{{comment.lastname}} {{comment.name}} {{comment.date}}
{{comment.text}}


ПОДПИШИСЬ НА СВЕЖИЕ НОВОСТИ

{{subscribeMsg}}