Як створюються 3D-моделі у відеоіграх?


15

Як розробляються та відображаються 3D-моделі в іграх? Чи все це код? Малюється на папері, потім на програмному забезпеченні 3D-графіки, потім ... що?

Звичайно, ігрові програмісти не визначатимуть будь-яку вершину будь-якої форми (/ об'єкта,), яку вони бажають намалювати, все в коді (будь то Direct3D чи OpenGL.) Отже, чи мають у дизайнерів ігор такі інструменти для використання, як Maya чи щось на зразок фірмових програмних засобів для 3D-графіки; вони "малюють" модель у тому програмному забезпеченні, експортують її в будь-якому форматі, а потім програмісти розбирають її за допомогою коду і автоматично вводять декодовані / проаналізовані необроблені вершини об'єкта / моделі?

У мене багато в Google, але я не зміг знайти щось міцне, щоб пояснити, як працює цей аспект професійних відеоігор.


2
Ось досить реалістична документація художнього процесу: salvationprophecy.com/forum/viewtopic.php?f=4&t=413
Blue Wizard

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

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

Відповіді:


16

У всіх іграх, над якими я працював, Pipeline Asset Crepeline працює приблизно так:

  1. художник-концептуал (для моделей рівнів / фонів / рівнів) або художник-персонаж (для моделей) генерує ескізи для персонажів / рівнів / тощо. Зазвичай творчому керівнику / ведучому мистецтва надається кілька варіантів, щоб вирішити, який з них їм подобається краще.
  2. Затверджене поняття / персонаж мистецтва надається моделеру для використання в якості посилання. Іноді художник-персонаж робить додатковий профіль / фронт на мистецтві, щоб забезпечити більш чистий кадр або посилання на процес моделювання. Я бачив багато модераторів, в яких концепт-арт застряг у 3d max / maya / тощо в якості прямого посилання.
  3. Моделі, як правило, також генерують базові текстури для моделі, як правило, з правильними шейдерними матеріалами для виконання. шейдери використовуються для візуалізації моделі в грі, і можуть мати конкретні вимоги текстури / uv / тощо, які повинні бути передбачені модельєром або призначеним виконавцем текстури.
  4. Завдання дизайнера рівнів буде зібрати активи, щоб "будувати" рівень себе.

    Незвично для цілого рівня будуватись як єдиний шматок геометрії. Більшість рівнів будуються з шматків або секцій. (наприклад: сумнозвісний використаний набір шестикутних "плиток" http://www.gamasutra.com/php-bin/news_index.php?story=118581 та skyrim (та багато інших) використовують підхід у стилі лего для складання рівнів http : //www.gamasutra.com/blogs/JoelBurgess/20130501/191514/ )

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

  5. Після того, як все це зроблено, активи зазвичай обробляються інструментальним ланцюгом, який перетворює файли, готові до моделювання 3D моделей, в готові до гри дані, які можна завантажувати безпосередньо в режим виконання.

    Інструментальні ланцюги (біт, який забирає сировину та перетворює їх у дані, готові до гри), часто є одними із найскладніших інженерних інженерів у розробці ігор. Їм потрібно поговорити з багатьма різними програмами, зрозуміти багато різних форматів файлів, а також зрозуміти, як перетворити дані в більш ефективний та миттєвий формат. Ланцюжки інструментів зазвичай також виконують попереднє просвітлення, зварювання вершини, генерацію LOD тощо. Часто збирання всього набору даних для великої гри AAA займе дуже багато часу, часто більше 8 годин для повного відновлення. Тому інструментальні ланцюги зазвичай також містять розподілену обробку для розподілу навантаження на всі ПК на всю студію.

    Виконання є сама гра. Виконавець, який працює на вашому ПК або консолі. Всередині програми буде створена система, що називається диспетчер ресурсів. Завдання Менеджера ресурсів - завантажувати активи, які вимагають інші системи в грі.

    Напр .: Коли ви повідомляєте про завантаження гри на рівень, метадані рівня забезпечать диспетчеру ресурсів список, які активи потрібно завантажити для відображення рівня. Аналогічно, кожен актив буде містити список будь-яких текстур, матеріалів або додаткових активів, які потрібно завантажити.

  6. Як тільки все фактично завантажується в пам'ять. Гра надішле речі, видимі Рендереру, які потім взаємодіють з API, який використовується для малювання речей на екрані.

Програмісти можуть (і робити) генерувати інформацію про вершини вручну. Зазвичай це називається "Негайне відображення режиму". Він не дуже ефективний і застосовується лише у ситуаціях, коли неможливо використовувати попередньо згенеровані дані або вершини, що маніпулюють вершиною. Напр .: Відображення інтерфейсу користувача, Повноекранні квадроцикли.

Зазвичай на 99% об'єктів на екрані буде попередньо сформована інформація про вершину, що відображається в режимі "Збережено", а шейдери виконують будь-які необхідні маніпуляції. Напр .: Анімація зі шкіри


7

Ось простий відповідь: вони роблять це все в 3D графічних додатках, таких як Maya або 3DS Max. Спочатку вони роблять якісь концептуальні мистецтва (на папері), відповідно до них створюють моделі, текстури (у Photoshop чи щось подібне). Проста анімація робиться цілою і в програмному забезпеченні, більш складні анімації робляться за допомогою Motion Capture і потім відображаються на вашу модель. Для анімації ви зазвичай використовуєте анімацію скелета.

Усі ці дані зберігаються у файлах.

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


1
Я думаю, що для програмування однієї анімації потрібно перетворити програмування на наступну, тож коли ти потрапиш посеред стрибка, це не виглядає дивно
Томас,

3
@Thomas, Змішайте дерева. Я думаю. Але це схоже на системи "тюнінг", які будуються як розширення в ігровому двигуні. Не обов'язково створюватися в 3D-моделях. Вони в основному викрадають дані анімації та інтерполюють дані з магічними силами.
Сидар

Так. Звичайно. Вам потрібно завантажити, проаналізувати і якось представити модель. Також якось намалюйте це на екрані. Так виразно - вам потрібно поєднати анімацію. Ви зазвичай також використовуєте деякі зворотні кінематики, але це більш конкретні проблеми.
zacharmarz

2
Якби тільки поєднання дерев та морфінг анімації були настільки ж простими, як "тюнінг". Існує безліч дорогих середніх програм для дорогих програм для вирішення цієї конкретної сфери проблем.
Шон Міддлічч

4

Програмісти насправді можуть визначати кожну вершину окремо, якщо хочуть. Це, звичайно, ніколи не буває, якщо вони не роблять якусь основну демонстрацію куба. Зазвичай те, що зберігається у файлах моделі, - це щось уздовж списку вершин, які програміст може без особливих зусиль легко підключити до свого коду малювання моделі. Очевидно, це більше, ніж це, але в основному формати моделей дають непрямі "вказівки", як намалювати певну модель.

У багатьох випадках і для багатьох модельних форматів файлів сторона кодування була зроблена саме для вас. Існують навіть декілька текстових форматів моделей із супроводжуючим кодом малювання, які дозволяють аматурному кодеру простежити, як модель переводиться в код.

Я ніколи не був людиною, яка насправді писала цей код, тому можливо кілька деталей мого пояснення вимкнено.


2

Я працюю над власним бажанням, щоб спробувати скласти гру. Я можу дати вам простий перелік програм, якими я користуюся.

Моделювання: 3D Coat, modo

Такелаж: модо

Текстури: GIMP, Inkscape

Ігровий движок: Єдність

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


2
-1 Надання списку застосованих програм не описує процес. Це питання не стосується конкретного програмного забезпечення, а про те, як вони зроблені, а не лише про те, що вони зроблені.
MichaelHouse
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.