10 помилок у портфоліо кандидатів, яких не беруть у розробку ААА ігор
Всі привіт! Мене звуть Олександр Лисенко. Я CEO в L3D Studio, української аутсорс компанії, яка спеціалізується на створенні моделей військової техніки для ААА ігор. Ми є лідерами на ринку постачальників послуг у цій ніші, тому багато хто, як початківці, так і досвідчені моделлери, які люблять військову техніку і хочуть брати участь у розробці провідних проектів у близько військовій тематиці, прагнуть приєднатися до нашої команди. За роки діяльності, я переглянув тисячі портфоліо кандидатів. Найчастіше мені вистачає до 3х секунд для того, щоб зрозуміти, чи варте портфоліо того, щоб звернути на нього увагу. І до 1-2х хвилин для того, щоб оцінити рівень і потенціал кандидата.
Отже, поговоримо про помилки, яких у жодному разі не повинно бути у твоєму портфоліо, якщо ти прагнеш потрапити в розробку 3D моделей для ААА ігор.
Передмова
Ця стаття буде корисною для 3D-моделлерів початківців, які мріють працювати над створенням AAA ігор (тріпл-Ей). Такі проекти розробляються провідними студіями ігрової індустрії. Величезні бюджети дозволяють залучати до розробки найкращих професіоналів у світі. А жорсткі рамки дедлайнів не залишають вибору, окрім як довіряти розробку тільки найдосвідченішим фахівцям.
Чи означає це те, що у новачка без досвіду немає шансів потрапити на такий проект? Ні.
Створення ігрових моделей охоплює безліч різних процесів, частину з яких зможе подужати більшість спеціалістів-початківців. Наприклад, за вражаючими моделями роботів або автомобілів у грі, стоїть багато нескладної та специфічної роботи, як-от організація сцен, лодів, ієрархія, неймінг, розміщення півотів, і багато іншого. А є і проектні особливості, такі як налаштування внутрішньо ігрових характеристик моделі. З проектною специфікою досвідченому моделлеру також доведеться розбиратися з нуля, як і новачкові.
Таким чином, з одного боку: на будь-якому проекті вистачає нескладних завдань, які теж потрібно комусь робити. І якщо ти фахівець-початківець, то робота на таких завданнях може стати чудовим стартом для подальшого зростання. Адже потрапивши в середовище розробки, досягти вершин професіоналізму можна зі швидкістю ракети.
З іншого боку: навіть для виконання простих завдань, на тріпл-Ей проекти зазвичай не беруть новачків без комерційного досвіду. Поясню чому. Комерційний досвід формує необхідний рівень базових знань. Багато новачків думають, що володіють цими знаннями. Але в реальності, для більшості з них, це не так. Моделювання для ігор має свою специфіку. База — це сукупність безлічі тонкощів у правилах моделювання в рамках цієї специфіки. Немає документа, де всі ці тонкощі були б повністю прописані. Повноцінно їх можна освоїти тільки працюючи на реальних проектах, регулярно отримуючи зворотній зв’язок. І йде на це, в кращому разі, від півроку. Тому логіка тут проста: немає комерційного досвіду — немає і бази. А це означає, що щонайменше півроку комусь доведеться давати зворотній зв’язок моделлеру про типові помилки. А до цього, знаєте, не кожен готовий.
Однак, як поставитися до ситуації, якщо необхідна база знань у моделлера є, але досвіду немає? Рідкісний випадок, але таке буває. І тоді важливість досвіду не така вже й суттєва.
Наявність базових знань геймдев моделювання вже відчиняє двері у світ ігрової індустрії, і в цій статті я розповім про те, як доопрацювати портфоліо, щоб роботодавець, хоча б на мінімально допустимому рівні, побачив у твоїх роботах підтвердження необхідних йому скілів і звернув на тебе увагу.
Отже, почнемо!
1. Розміщуй портфель на правильних майданчиках
Перша помилка пов’язана з вибором місця публікації портфеля. Якщо твоя мета потрапити в ігрову індустрію, портфоліо варто публікувати на Арт Стейшн.
По-перше, саме цей сайт насамперед прочісують рекрутери в пошуках талановитих 3D Артистів. А по-друге, якщо ти відгукнувся на вакансію на job-сайті й надіслав портфель із посиланням, наприклад, на Behance, то ще не відкривши його, я вже розумію, що ти, найімовірніше, візуалізатор, який нещодавно вирішив змінити сферу. Так зазвичай і є. Візуалізація і геймдев дуже далекі один від одного. Тому презентуй себе на правильних майданчиках.
Деякі моделлери помилково вважають, що зможуть привернути більше уваги до свого портфеля, якщо оформлять його якось по-особливому. Запам’ятай просту річ. Ніщо не може бути кращим для презентації портфеля, ніж стандартна сторінка Арт Стейшн. Навіть якщо ти заморочився і зробив сайт на Wix, яким би він не здавався тобі класним, для роботодавця він менш зручний. Як мінімум тому, що йому доведеться розбиратися в структурі твого сайту. Арт Стейшн надає наймачеві повноцінний і зручний функціонал для швидкої оцінки портфоліо кандидатів.
Враховуй, що цінність твого портфеля визначає тільки якість твоїх робіт. Навіть у аутсор студій часто великі компанії-розробники запитують портфоліо саме на Арт Сейшн, хоча всі ці роботи є і на основному сайті, на створення якого витрачено тисячі доларів.
Нерідко стикаюся також і з тим, що кандидати надсилають свої роботи у вигляді архіву за посиланням на файлообмінник. Варто враховувати той факт, що не кожен ризикне відкрити архів, у якому може бути будь-що. Тому є ризик, що роботи в архіві так ніхто й не побачить.
І ще важливий момент. Перед тим як відгукуватися на вакансію, переконайся, що твої роботи хоча б приблизно можуть відповідати очікуванням компанії. На таких сайтах як work.ua, наприклад, роботодавець, разом із відмовою може ще й присвоїти тобі статус невідповідного кандидата. І коли ти оновиш портфель і відправиш заявку наступного разу, твій відгук якщо і побачать, то в найостаннішу чергу. Тому підготуй портфель максимально, перш ніж відгукуватися на вакансію.
Тепер ближче до самого портфоліо. Як відобразити в ньому наявність базових знань.
Перше, на мій погляд, що формує мінімально необхідний фундамент, з яким можна почати працювати в геймдеві — це знання базових основ моделювання low poly.
Правильна топологія моделі — це найбільш явний індикатор того, наскільки успішно кандидат засвоїв базу. Хоч ігрові моделі сьогодні вже не ті, що були 10 років тому, фундаментальні принципи Low poly моделювання актуальні й донині. Як і раніше оптимальність сітки відіграє важливу роль в оцінці якості ігрової моделі. І хоч ліміти полігонів значно зросли, на багатьох проектах триває боротьба за кожну зайву грань. Тому під час публікації моделі в портфелі важливо показати не тільки фінальний результат, а й сітку. Без неї не можна оцінити якість ігрового асету. І критично важливо, щоб сітка моделі була побудована грамотно. Грамотно — це означає без помилок.
Тому далі поговоримо про суттєві помилки ігрових моделей, наявність яких демонструє відсутність базових знань про лоу полі моделювання.
2. Уникай не формотворних граней і точок
Це одна з найбільш показових помилок, якої часто припускаються новачки, і яку я шукаю насамперед. Чиста сітка без зайвих граней — це перше і найелементарніше правило моделювання лоу полі. Якщо моделлер з ним не знайомий, то далі модель вже можна не дивитися.
У моделі повинні бути присутніми тільки ті вершини і грані, які визначають форму. Все зайве просто з’їдає ресурс.
Мал.1. Приклад помилки оптимізації сітки
Кожна грань на лоу полі має нести якусь функцію, а не просто висіти на моделі. Тому що кожен трикутник з’їдає маленьку частину ресурсу відео карти, а значить і пригальмовує гру. У роботі на комерційних проектах кількість полігонів встановлюється спочатку в техзавданні. У цей ліміт потрібно вписатися і примудритися при цьому видати в результаті красиву згладжену модель. А це буває непросто, і часто йде боротьба за кожен полігон. Тому перше, що хотілося б побачити в портфоліо кандидата — це підтвердження того, що він розуміє, який вигляд має мати оптимізована геометрія. А саме — чисту сітку без зайвих граней.
Нижче дивись приклади помилок оптимізації з портфоліо кандидатів, які відгукувалися на наші вакансії. Це якраз ті помилки, після яких відмова кандидату надсилається миттєво.
Мал . 2. Приклад брудної сітки. Безліч граней, що не є формотворчими
Мал. 3. Помилки оптимізації сітки
Додавання не формотворчих ребер може бути допустимим тільки в тих випадках, коли це має практичний сенс. Наприклад, іноді вони потрібні для утримання шейдингу, оптимізації маппінгу і текстурингу, для коректної деформації моделі під час анімації.
Зайві ребра додають щоб уникнути довгих і вузьких трикутників, про які ми поговоримо нижче. Такі випадки роботодавець розпізнає і не вважатиме за помилку.
Окремо зазначу приховані не формотворчі точки. Їх складно буде помітити в портфоліо, якщо модель не тріангульована, але в роботі за цим завжди важливо стежити. Такі точки зазвичай з’являються після різних маніпуляцій з моделлю, наприклад таких як некоректне видалення ребер. Вони є по суті сміттям, яке потрібно чистити. Тому що кожна така точка після тріангуляції дасть зайве ребро.
Мал. 4. Зайві точки
3. Не залишай дегенеративні полігони
Виникають ситуації, коли одна з точок провалюється в основний силует полігона. На мал.5. це виділений червоним полігон. Проблема таких полігонів полягає в тому, що під час імпорту моделі є ймовірність, що ігровий движок неправильно з’єднає точки під час тріангуляції. Замість того щоб побудувати edge між точками 2 і 3 (див. мал. 5), він може з’єднати точки 1 і 4. У результаті з’явиться зайва грань і артефакт на моделі. Тому таких проблемних місць ми не допускаємо на рівні моделювання. У цьому випадку потрібно вручну з’єднати точки 2 і 3.
Мал. 5. Імовірність появи зайвої грані під час тріангуляції в ігровому движку
4. Контролюй баланс щільності сітки
Щільність сітки на заокругленнях для всіх деталей моделі має бути приблизно однорідною. При зменшенні розмірів геометрії щільність сітки має бути меншою, а при збільшенні — більшою.
Ось наочний приклад як щільність сітки має змінюватися залежно від діаметра кола:
Мал. 6. Кола у верхньому ряду зменшують щільність сітки пропорційно зменшенню діаметра і виглядають гармонійно. Кола в нижньому ряду мають однакову кількість ребер у всіх варіантах, циліндри маленького діаметра перенасичені гранями
Ось приклад помилки, яку часто можна зустріти в портфоліо:
Мал. 7. Приклад оптимізації отвору з меншим діаметром
До речі, кількість ребер в окружності слід вибирати так, щоб її можна було зменшити вдвічі, щонайменше у 2 рази. Це важливо для зручності подальшого створення ЛОДів моделі. Кожен ЛОД урізає полікаунт на 50%. Тому з 32 ребер ми можемо отримати 16, а потім 8. А з 30 ребер отримуємо 15, а далі виникають складнощі.
Але повернемося до щільності сітки. Ось приклад подібної помилки з портфоліо кандидата:
Мал. 8. Об’єкти 1 і 2 мають практично однаковий діаметр. Водночас щільність сітки об’єкта 2 істотно вища, а також відсутні оптимізація окружності маленького заглиблення всередині
Рівномірна щільність сітки, її ущільнення на більших вигинах і розрідження на дрібніших — це обов’язковий атрибут хорошої ігрової моделі. Розглянь уважно приклад такої моделі нижче. Щільність сітки на покришках і колісних арках приблизно однакова, оскільки їхні радіуси також приблизно однакові. Внутрішній діаметр покришки має менше граней ніж зовнішній. Так само як зі зменшенням радіусу перерізу, зменшується кількість граней на ковпаках і фарах. Отже, загалом сітка моделі має гармонійний вигляд по всій моделі.
Мал. 9. Приклад гарної топології лоу полі моделі
До речі, можливо ти звернув увагу на те, що лобовий край капота є доволі рівним і має цілу низку граней, які не є формотворчими. У цьому разі це вимушений захід для збереження рівного шейдингу. Тобто ці грані не є зайвими і виконують свою важливу функцію.
Мушу сказати, що і для правила рівномірної щільності сітки так само існують винятки. Сітка може бути помітно щільнішою в місцях моделі, до яких камера гравця під’їжджає особливо близько. Наприклад, зброя в грі може мати щільнішу сітку в тій зоні, де гравець наближається до моделі впритул у момент прицілювання. Але не будемо заглиблюватися в тонкощі і повернемося до базових помилок.
5. Розшивай точки на плоских кришках циліндрів
Цей пункт я б назвав не грубою помилкою, а радше правилом хорошого тону.
На малюнку нижче представлено кілька варіантів топології плоскої кришки циліндра.
1) Розшивка точок відсутня. Оскільки жодна з точок не провалюється в тіло полігона, як у випадку з дегенеративними полігонами, ми можемо довірити рушію самостійно тріангулювати цей полігон. Якщо таких об’єктів у сцені багато, а час обмежений, то можна не витрачати його на розшивку, оскільки на кінцевий результат це особливо не вплине.
2) Автоматична тріангуляція в 3D редакторі, по суті, дасть той самий результат, що й пункт 1. Проблем, найімовірніше, не спричинить, але має некрасивий вигляд.
3) Зведення граней в одну точку в центрі. Додавання цієї точки призводить до появи 2х зайвих трикутників. Якщо таких об’єктів у сцені багато, це може вплинути на загальний полігонаж. Така розшивка може бути необхідна в тому разі, якщо стоїть мета заощадити текстурний простір. А саме, скласти оверлапом всю поверхню кришки на маппінгу в один трикутник і затекстурити цим шматочком всю кришку по колу.
4) Найбільш трудомісткий, але й найправильніший варіант розшивки точок. У цьому разі ми отримуємо красиву топологію, економимо пару трикутників і найголовніше — показуємо свою акуратність. Роботодавець обов’язково зверне на це увагу й оцінить.
Мал.10. Приклади топології кришок циліндрів
6. Дотримуйся рівномірності перерізів
Рівень досвіду моделлера дуже легко перевірити на плавних формах. Розглянемо знову радіостанцію з портфоліо кандидата.
Мал. 11. Приклад поганого Edge Flow
Очевидна відсутність правильного балансу між кількістю перетинів і плавністю форми. Праворуч червоним я виділив перерізи, які можна було б видалити, а синім позначено місця, де перерізів якраз бракує і геометрія має надто рубаний вигляд.
У місцях більш різкої зміни форми сітку варто робити щільнішою, а там, де вигини менш драматичні — більш розрідженою.
Таке опрацювання форм відрізняє роботу досвідченого моделлера від джуна. Завжди звертай на це увагу.
Ось ще приклад нерівномірної щільності сітки з портфоліо кандидата:
Мал. 12. Червоним обведено ділянки з необґрунтовано різною щільністю сітки
7. Видаляй невидимі полігони
Тут усе просто. Усі полігони, які гравець ніколи не побачить у грі, мають бути видалені. Все що приховано в тілі самої моделі, або ховається під террейн, або просто не потрапляє в камеру гравця, видаляємо. Пам’ятаємо, що кожен полігон з’їдає ресурс, і це правило все ще актуальне для ААА ігор на сьогоднішній день.
Мал. 13. Полігон, який ніхто ніколи не побачить, необхідно видаляти8. Уникай вузьких і довгих трикутників
Це досить поширена помилка моделерів-початківців, яку QA ніколи не пропустить у гру. Такі трикутники завжди усувають ціною нарізки додаткових ребер. І мало хто з досвідчених моделерів навіть зможе пояснити чому. Адже звичку залишати такі трикутники в моделі, на комерційних проектах, викорінюють одразу ж. Тому ми їх просто не допускаємо і не маємо пов’язаних із ними проблем.
Мал. 14. Довгих вузьких трикутників слід уникати, навіть ціною додавання зайвих граней
Приклад із портфоліо кандидата. Ця модель просто кишить довгими вузькими трикутниками. І це одна з найбільш показових ознак відсутності бази. І відразу можна з упевненістю сказати, що в моделі можна буде знайти й інші типи помилок, про які я вже написав. І ти вже можеш сам знайти їх на цьому скріншоті.
Мал. 15. Довгі вузькі трикутники, а також низка інших помилок топології моделі
9. Усувай Z-файтинг
Досить грубою помилкою оптимізації є накладання полігонів. Це коли два полігони розташовані в одній площині. У результаті під час руху камери в області перетину полігонів виникає мерехтіння. Тож тут ідеться не тільки про оптимізацію, а й про акуратність моделінгу та коректність відображення моделі.
Мал. 16. Приклад Z-файтингу
У цьому разі зайвий полігон необхідно видалити і зшити точки в єдиний меш.
10. Виноси дрібну деталізацію в карту нормалей
Усю дрібну деталізацію, яку можна показати картою нормалей, потрібно переносити в карту нормалей. Не варто витрачати на неї ресурси полігонів. До дрібної деталізації належать і фаски на гранях, заклепки, різьблення, щілини тощо. Правило просте. Оптимізуємо всю геометрію, яку в прийнятній якості можна фейково показати нормалом.
Ось приклади такої помилки в портфоліо кандидатів.
Мал. 17. Зазначені деталі легко можна було б запекти в нормал мап. Кінцевий результат мав би такий самий вигляд
Фаски, особливо на дрібних деталях, так само все виносимо в нормал. Приклад помилки з портфоліо кандидата:
Мал. 18. (1) — Фаска у 2 полігони на деталі розміром в 1 см. (2) — Ця деталь ще й врізана в геометрію моделі
1 — Подібні фаски легко запікаються в карту нормалей з хайполі і мають гарний вигляд. До того ж, на більшій частині моделі, в яку вставлена ця деталь, фаску моделер все ж таки запік.
2 — Таку дрібну деталь правильно не врізати, а вставляти. А щілини при цьому запікаються в карту нормалей.
Ігрова модель має бути оптимальною в усьому. І якщо у нас вже є карта нормалей, туди потрібно виносити все, що може замінити геометрію.
Висновок
Ми розглянули найгрубіші помилки, яких точно не повинно бути у твоєму портфоліо. Звичайно, нюансів і тонкощів із практикою тобі належить дізнатися ще багато. Але ти можеш отримувати ці знання і до того, як потрапиш на проект. Ти можеш робити це вже зараз.
Дивись який вигляд мають моделі з ААА ігор. Їх повно на Артстейшн. Просто забий у пошук назву гри і знайди ассети доступні для перегляду в режимі 3D моделі. Або хоча б скріни сітки цих моделей. Усі ці асети пройшли через QA. Вони мають правильну топологію і є наочним прикладом того, як потрібно робити. Уважно дивись та вчись.
А насамперед, просто зараз, відкрий своє портфоліо, і перевір усі свої моделі на наявність тих базових помилок, які ми проговорили. І виправ їх терміново! Продовжуй вдосконалюватися, і у тебе обов’язково все вийде. Сподіваюся ми скоро попрацюємо разом.
До речі, якщо в тебе є необхідний досвід та бажання приеднатися до нашої команди, то відправляй своє портфоліо на: [email protected]
До зустрічі на тріпл-Ей!
Підписуйтеся на Telegram-канал @gamedev_dou, щоб не пропустити найважливіші статті і новини
12 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів