Автор: MastaMan
Дата: Лютий 14, 2021
Оновлено: Квітень 4, 2023

Всім привіт!
У цьому уроці я хочу поділитися одним із способів створення текстур плоских об'єктів типу плитки або 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

Тому, в даному способі ми спочатку створимо геометрію плитки, застосуємо до неї текстури, потім просто зробимо її рендер. Таким чином ми маємо більш гнучкий підхід і можемо в процесі змінити напрямок фактури для окремих плиток, або поміняти щось без глобальних переробок. Дочитайте урок до кінця і можливо ви дізнаєтеся про деякі нюанси або нові трюки.

Моделювання

Завжди перед етапом моделювання необхідно уважно вивчити референс, щоб розбити роботу на невеликі етапи і зрозуміти конструкцію або будову об'єкта.

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, використовуючи за основу картинку з цього сайту: -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}}
Sponsored content