Створення стилізованого оточення для Unity

Автори наборів об'єктів для оточення діляться досвідом.

3D-художник та керівник студії Inigmas Studios Грем Сміт (Graham Smith) дав інтерв'ю порталу 80.lv, у якому розповів про робочий процес при створенні стилізованих об'єктів оточення для ігор на движку Unity.

DTF публікує переклад матеріалу.

Мене звуть Грем Сміт, я керівник Inigmas Studios. Я живу в місті Апекс штату Північна Кароліна, а мій партнер Лео Лутецкі (Leo Lutecky) – у Гетеборзі у Швеції.

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

Коли закінчується пре-продакшен, починається розробка. На цьому етапі я фокусуюсь на моделюванні, розгортці, ригінгу, скінінгу, анімаціях, створенні рівнів деталізації та всій підготовчій роботі в Unity, щоб проект вступив до клієнта готовим до гри. Після моделювання та розгортки я зазвичай віддаю об'єкт Лео, щоб він наклав на нього текстуру.

Він займається дифузними текстурами, ambient occlusion, нормалями, дзеркальністю, світінням (emissive) та альфа-накладенням (останнім часом це, здебільшого, внутрішнє дифузне). Поки він працює над текстурами, я концентруюся на ригінгу, скінінгу, анімації та рівнях деталізації.

Крім цього, я стежу за арт-дирекшеном проектів, щоб у нашій роботі зберігався певний ступінь естетичної сталості. Коли ми тільки-но починали, це було важко, тому що ми намагалися знайти свій стиль. Але згодом ми з Лео виробили чітке розуміння своїх здібностей.

Hand-Painted Forest Pack

Всі наші набори проходять через пре-продакшен, де ми з Лео обговорюємо тематику, наприклад, пустеляабо село, а потім намагаємось визначити її масштаб. Потім ми шукаємо в Google референсні арти, щоб чіткіше уявити, яким буде проект.

Зазвичай шукаємо від трьох до п'яти прикладів того, що ми могли б створити, додавши власне бачення.

Я моделюю всі наші об'єкти в 3ds Max 2015. У цей час я намагаюся відчути, наскільки модель вписується у вибраний напрямок. Ми використовуємо підхід від більшого до меншого, щоб додавати об'єктам характер та індивідуальність. Погляньте на труну з нашого Halloween pack, щоб зрозуміти, про що я говорю.

Художній стиль

Я вигадав стиль для своєї покрокової JPRG, ще коли набирав команду в проект. Я зустрів Лео на Polycount та запропонував йому ідею гри з таким стилем. Ми поговорили Skype і почали працювати разом.

Стиль нагадує ті ігри, в які я грав у дитинстві: Secret of Mana, Seiken Densetsu 3 та серію Legend of Zelda. Мені дуже сподобалася барвиста палітра, яку використовувала Square для своїх проектів, кольори задавали їм настрій та атмосферу.

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

Однак розробники цих ігор пішли далі, посиливши відтінки затінених та освітлених місць, що змушувало працювати уяву гравця — саме цього я намагаюся досягати в наших об'єктах. Ми починаємо з основного кольору, додаємо теплі яскраві ділянки та холодні тіні, що допомагає побачити контраст та вирішити, як краще викликати певне відчуття в аудиторії. Все це ми робимо у Photoshop.

У нашому лісовому наборі вперше з'явилася модульність — каміння та укоси, а в наборі сільського оточення її стало набагатобільше. Коли я проектував його, я хотів, щоб у дизайнерів рівнів було якнайбільше творчої свободи. Ми ретельно вивчили фентезійні та реалістичні села епохи Середньовіччя та Відродження, щоб визначити, які предмети ми хотіли б додати до набору.

Трава складається з одиночних текстур з роздільною здатністю 64x64 або 128x128. Я створив кілька поверхонь (plane) з непомітними реберними петлями (edge ​​loops) та експортував їх до Unity, де додав на них шейдер рослинності (vegetation shader) та текстури.

Шейдер рослинності контролював усі аспекти трави. Принаймні так ми робили в той час (якщо не помиляюся, зараз у Unity можна просто вибрати текстуру і використовувати її як траву).

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

Потім я створюю копію моделі та зберігаю дані ваги (weight data) її «скелета». Після цього я видаляю весь «скелет» із моделі. Повертаюся до етапу моделювання та обережно прибираю окремі ребра, знижуючи кількість полігонів для створення першого рівня деталізації.

Трикутники я видаляю з обережністю, інакше в анімації будуть нереалістичні стрибки. Після того, як модель рівня деталізації готова, я відновлюю той самий «скелет» та дані ваги, що й у оригінального дерева. Анімація прив'язана до «скелета», тому вона переноситься без проблем. Цей процес я повторюю під час розробки як мінімум ще одного рівня деталізації.

Презентація

Під час експорту об'єктів з 3ds Max ми перевіряємо, чи всі опори (pivots) центровані на 0x0x0, а також правильність масштабу таорієнтації осей. Коли ці вимоги дотримуються, ми експортуємо об'єкти в Unity та розставляємо їх так, щоб вони були готові до гри.

Розуміти, як працює освітлення в ігрових двигунах, - важливий досвід як для 3D-моделера, так і дизайнера рівнів. Висвітлення може посилити те почуття, яке ви хочете викликати в аудиторії.

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

Набір сільського оточення – чудовий приклад цього. Ми планували створити будівлі та все, що всередині них. Але наприкінці розробки ми зрозуміли, що результат нудно. Тоді ми вирішили додати більше варіантів текстури для кімнат, і це допомогло оживити весь набір.