Всім привіт!
У цьому уроці я хочу поділитися одним із способів створення текстур плоских об'єктів типу плитки або 3D панелі.
Я досить часто вдаюся до такого методу, оскільки це швидше, ніж описувати текстуру з нуля у Photoshop. Плюс, ще, в пару кліків можна швидко створити bump карту.
Я думаю, що не потрібно додатково говорити, що використання текстури замість 3D геометрії значно економить ресурси. Особливо, якщо ви збираєте сцени в Unreal Engine, Unity або WebGL. А результат буде нічим не гіршим.
Обов'язково розкажіть у коментарях ваші кейси застосування цього способу і як ви створюєте подібні текстури.
Вступ
Картинка взята з сайту: https://www.daltile.com/product/Bee-Hive-Medley?color=White&shape=Hexagon
Тому, в даному способі ми спочатку створимо геометрію плитки, застосуємо до неї текстури, потім просто зробимо її рендер. Таким чином ми маємо більш гнучкий підхід і можемо в процесі змінити напрямок фактури для окремих плиток, або поміняти щось без глобальних переробок. Дочитайте урок до кінця і можливо ви дізнаєтеся про деякі нюанси або нові трюки.
Моделювання
Завжди перед етапом моделювання необхідно уважно вивчити референс, щоб розбити роботу на невеликі етапи і зрозуміти конструкцію або будову об'єкта.
Як видно, на картинці зверху наша плитка складається з шестикутників з певним малюнком, який розділяє нашу соту на три ромби.
Ряд нижче, це та-же плитка, тільки розгорнута на 180°. Плитки прилягають один до одного під певним кутом, близько 60°.
Створимо шестикутник за допомогою Spline → NGon.
Для цього перейдіть до Top, натисніть NGon, встановіть кількість сторін 6 і розмір 24.77 см.
Розмір узятий із специфікації, вказаному на офіційному сайті.
Далі конвертуємо цей сплайн у Editable Poly, за допомогою натискання правої кнопки мишки на виділеному об'єкті та виберіть Convert To → Editable Poly.
Перейдіть до підходів редагування полігонів або натисніть кнопку 4 на клавіатурі. Виділіть єдиний полігон, зробіть невеликий Insert.
Зробіть ще один Insert і натисніть Collapse. У вас має вийти так, як на малюнку нижче.
Виділіть грані, натисніть кнопку 2 для роботи з ребрами. Перейдіть як показано на малюнку нижче і натисніть Backspace на клавіатурі.
У вас має вийти так.
Зробіть Chamfer для наступних граней із такими налаштуваннями.
Можна трохи змінити масштаб на око, щоб лінії були рівнішими. Виділіть полігони як на картинці і трохи застосуйте Scale.
Зробіть Extrude полігонам, щоб задати висоту плитки.
В результаті у вас має вийти така плитка.
Текстурування
Розіб'ємо нашу плитку на три Material ID. Дивіться зображення нижче, як варто застосувати IDs.
Відкрийте Material Editor (кнопка M на клавіатурі), створіть Multi/Sub-Object Material з трьома слотами та одразу призначте Standard Material для кожного з слотів.
Встановіть Diffuse Color:
Для ID 1 RGB: 2 2 2
Для ID 2 RGB: 38 49 50
Для ID 3 RGB: 239 243 235
Приклад установки кольору дивіться на малюнку нижче.
Як Diffuse Texture для ID 2, я призначив цю текстуру нижче. Ви можете взяти її або створити в Photoshop за допомогою інструменту Clone Stamp, використовуючи за основу картинку з цього сайту: -tile
Застосуйте до окремих полігонів модифікатор UVW Xform, змініть Rotation та V Tile, якщо потрібно.
Дивіться фінальний результат на зображенні нижче.
Таким чином, ми створили один елемент плитки з трьома ID матеріалами: чорні шви по краях, малюнок з трьома білими смужками та текстурою дерева.
Рендеринг
Зробіть клонування плитки за допомогою клавіші Shift, як показано на GIF-анімації нижче. Використовуйте для зручності Tools→Transform Toolbox та Vertex прив'язку.
Результат клонування має виглядати так. Дивись картинку нижче.
Увага! Тепер цікавий трюк. Ми створимо Plane за розміром патерну, що повторюється. Це надалі допоможе зручно вирізати текстуру в Photoshop.
Зараз буде найвідповідальніша частина, нам необхідно створити Plane, за розміром патерну, що повторюється. Уявіть, що Plane – це прямокутна область, яку ми пізніше виріжемо і вона має безшовно повторюватися.
Для зручності я створив Plane з мінімальною кількістю сегментів, зконвертував у Editable Poly, трохи підняв над плиткою, потім за допомогою комбінації клавіш Alt+X я зробив наш Plane напівпрозорим. Далі рухаючи вершини, у мене вийшов такий результат.
Поставте Pivot Point для Plane в центр, для цього можна скористатися тим же Transform Toolbox, натиснувши кнопку Center, в групі Align Pivot.
Побудуйте звичайну Free Camera у вигляді Top, і за допомогою інструмента Align вирівняйте по центру нашого допоміжного Plane.
Зайдіть в налаштування рендеру Render Setup, встановіть розмір 5000x5000px, увімкніть Safe Frame для Viewport за допомогою клавіш Shift+F.
Для камери увімкніть опцію Orthographic Projection і встановіть Type→Target Camera. Натисніть C, щоб увімкнути вигляд із камери.
Перемістіть Camera Target по осі Z в 0 координат. І піднімаючи або опускаючи камеру осі Z, підберіть ракурс, щоб Plane було повністю видно в камері.
У мене сцена виглядає, як на малюнку нижче.
Зверніть увагу!
Важливо, щоб Camera Target, був на одному рівні разом із найнижчою точкою нашої плитки.
Переконайтеся, що як рендер у вас встановлений Scanline Renderer.
Сховайте Plane і зробіть рендер F9, нашої текстури.
Збережіть рендер у форматі PNG у зручне для вас місце, натиснувши на іконку Дискети.
Тепер необхідно сховати плитку та зробити рендер нашого Plane. Потім зберегти також у форматі PNG.
Для створення bump карти необхідно додати в налаштуваннях рендеру Render Setup новий Render Element→Z Depth.
Вкажіть такі параметри для Z Depth. Виділіть камеру, скопіюйте Target Distance у параметр Z Max.
Далі я вибрав Camera Target, перемістив з прив'язкою осі Z до верху плитки і скопіював параметр Target Distance в Z Min. Потім, повернув Camera Target 0 координат по осі Z.
Важливо!
Не забудьте перемістити Camera Target у вихідне положення – в 0 координат по осі Z! Інакше у вас буде неправильний патерн!
Сховайте допоміжний Plane, увімкніть вид з камери та запустіть рендер F9. Якщо ви зробили все правильно, у вас повинен запуститися в окремому VFB рендер нашого bump.
Збережіть цей рендер у форматі PNG.
На цьому етапі весь рендеринг завершено. Ми отримали високоякісні текстури плитки та bump карти. Завдяки Scanline Renderer, ми отримали зображення без спотворень кольорів і у великій якості, що нам і потрібно.
Залишилося тільки вирізати потрібний патерн у Photoshop.
Робота у Photoshop
Відкрийте Photoshop, завантажте 3 текстури в стек. Для цього перейдіть до File→Scripts→Load Files into Stack.
Натисніть Ctrl+лівий клік мишки, щоб отримати виділення непрозорої області. Таким чином, ми отримуємо швидке виділення потрібної області, що нам повторюється. Завдяки Plane, який ми створили як допоміжний об'єкт, нам лишається тільки зробити Crop даної галузі.
Щоб зробити Crop, не знімаючи виділення, увімкніть інструмент Crop або натисніть C, а потім натисніть Enter.
Спробуйте після цього застосувати Filter→Other→Offset, щоб переконатися чи у текстури немає швів.
Відмінно спрацьовано! Текстура виглядає чудово!
Тепер можна зберегти фінальні текстури. Щоб зберегти bump, сховайте шар вище і збережіть під іншою назвою. Шар із рендером Plane, нам уже не потрібний.
Бонус-контент
Якщо вам необхідно отримати Normal карту замість чорно-білої карти висот, - це можна легко зробити у Photoshop.
Перейдіть у Filter→3D→Generate Normal Map...
Налаштуйте силу видавлювання та розмитість.
Готово!
Якщо у вас залишилися питання, ви можете переглянути прикріплене на початку уроку відео. Або питайте в коментарях.
Також розкажіть, як ви створюєте подібні текстури і чи був вам даний спосіб корисний ????
Фінальний результат
Приміром виглядає Diffuse + Normal в PlayCanvas WebGL, виглядає симпатично.
Додаю дві текстури, які вийшли у результаті.