Gamedev
Vitaly Gavrilov
1174

Виды 3d моделирования и "не правда о процессе создание 3D модели для игры"

Сегодня утром увидел статью настолько бестолковую и вводящую в заблуждение, что решил напрячься и написать что то сам.
я не профессиональный автор, и моя область работы в 3d довольно узкая, но этого должно хватить что бы создать простую вводную справку. Объяснить базовые понятия. Хотя я допускаю некоторые упрощения и неточности, что бы не слишком нагружать людей.

В закладки

p.s
cтатья получилась столь огромной что на полноценное описание процесса создания моделей для игр не хватило места и сил. возможно я оставлю ссылки на дополнительные материалы, или напишу вторую часть(хотя это не моя тема).

Для начала разберемся в видами моделирования. Существует десятки разных способов их классификации, и самих видов моделирования. Я затрону лишь самые базовые и поверхностные.

Классификация первая: методы реализации

CAD-Computer‑aided design.
Или на русском САПР -система автоматизированного проектирования. Параметрическое моделирование. Как можно догадаться из названия, в нем объекты создаются с помощью задания параметров. К примеру "Прямоугольник с гранями по 2мм"

​"Прямоугольник с гранями по 2мм"
Пример создания робота для 3d печати

Данный вид моделирования практически не применяется в игровой индустрии. Основная его цель это решение инженерных задач.
Но некоторые художники используют его для кое чего, что потом используется в играх, и в целом это важная часть 3d индустрии, поэтому я его упомянул.

Примеры популярных программ : fusion360, Solidworks, Компас 3D …

Полигональное моделирование.

В нем 3d модели определяются наборов вершин и связями между этими вершинами(ребра, грани итд).
Самый простой пример: 3 соединенные точки образуют полигон.
Что бы создать уже любимый мной прямоугольник .
Надо описать 8 вершин.

Кубик и его вершины
Полигональное моделирование Aku из мультфильма самурай джек

Именно этот тип 3д моделей чаще всего(но далеко не всегда) используются в играх. Марио, Кратос, жопка 2b и другие любимые герои это лишь набор треугольников(или n угольников, зависит от движка) которым задали параметры.Конечно в наше время уже никто не задает координаты каждой точки вручную, существуют десятки инструментов для ускорения создания форм. Тот же прямоугольник входит в состав базовых фигур.

Aku, сетка Aku без модификаторов и сетка aku с модификаторами.​

На фото видно что на самом деле Aku состоит из довольно простых фигур. Но использования различных модификатор позволяет сделать его форму гораздо сложней , не создавая миллионы полигонов вручную. Особенно хорошо это заметно на руках.
Примеры популярных программ : 3dmax, blender 3d, maya

Sculpting

В отличии от прошлых двух скульптинг это не столько способ описания модели, сколько способ с ней работать.
Если мы будто лепим нашу модель из глины - это скульптинг. Чаще всего это достигается созданием сотен тысяч полигонов. Но хитростей и исключений так много, что я просто не могу заставить себя сказать что это 100% правда.
Мы будем думать об этом в самых общих чертах будем рассматривать самый простой вариант. скульптинг- симуляция глины.
Создать прямоугольник таким способов очень просто, или невероятно сложно. Зависит от ваших художественных талантов.
Мы берем любую другую форму, и мнем , пока не достигнем нужной формы.

Сложно или просто?
Скульптура монстра из adventure time ​

В отличии от Aku, где все делали волшебные модификаторы, этот монстр первоначально состоял из большого количества полигонов, которым затем придали нужную форму с помощью инструментов скульптинга.
Скульптинг(или результаты его работы ) почти не используется в играх напрямую. Просто потому что даже топовые компьютеры PC master race не способны потянуть такое количество полигонов в играх(сами программы для скульптинга работают немного иначе, не выдают реал тайм рендеринг, и моделей там редко больше одной).
Но при этом скульптинг является важной частью создания моделей для игр, но об этом чуть позже.
Примеры программ : Zbrush(чистый скульптинг с хитрым движком) , blender(как один из инструментов) , fusion360(примитивно и странно, но он есть как один из инструментов cad).
Так же существует воксельное моделирование, Сплайновое моделирование, NURBS , каркасное итд итп. Многие из них на данный момент стали лишь подтипами, а остальные не нужны в данной конкретной статье, поэтому разрешите мне их опустить.

Классификация вторая: художественная
Теперь когда я рассказал теоретическую часть(самый край)

Давайте перейдем к более абстрактным, красивым и чаше встречающимся словам. Неправильное применение которых меня больше всего задело.

hard surface и organic modeling
Эти понятия описательные. четких правильных определений у них нет, но как выяснилось есть совершенно неправильные.

читатели Dtf могли видеть определение типа

"hard surface моделинг (такое название у него потому, что сам принцип основан на создании отдельных полигонов и работы с каждым конкретно, скульптинг же в свою очередь работает не с каждым конкретно, а с группой полигонов)."

Это определение неверно. Если поспрашивать художников, почитать сайты производителей ПО, и изучить хорошие статьи на эту тему. То можно обобщить примерно так.

hard surface
это все что твердое. Машины, броня, оружие, артефакты, предметы быта....
некоторые говорят что это все что создано человеком, но например подушка или одежда это уже не hard surface, а кристаллы кварца очень даже.
Следует думать именно о форме. Жесткие грани, ровные поверхности, четкие фигуры. На картинке ниже будут примеры hard surface объектов созданных совершенно различными способами.

полигональный,  сad и скульптинг hard surface ​
​Дополнительный пример скульптинга hard surface Неизвестен 

Противовесом hard surface является вовсе не скульптинг(мы уже выяснили что им свободно можно делать твердые тела) а так называемый

organic modeling - "живые обьекты" которые не обязаны быть живыми. Я бы скорей сказал "деформируемые" "мягкие". Люди, звери, одежда, подушка из прошлого абзаца, Цветы, деревья, иногда даже скалы и кирпичная кладка.

сверху вниз cad цветок ​  скульптинг цветок и полигональный цветок неизвестны 

Переходим к играм
На этом моменте я понял что моя "заметка" становится невероятно огромной. Я потратил на неё уже около трех часов, и смог ответить лишь на первый абзац статьи которая меня так возмутила.
На голову Читателю так же свалилось слишком много информации. Которая еще и не совсем соответствует сайту.
Поэтому по самуму процессу создания игровых моделей я пробегусь лишь слегка
НИКТО, НИКОГДА, НЕ НАЧИНАЕТ С HI‑POLY МОДЕЛИ
Это стоит уяснить так же, как то что никто, никогда не вернет 2007 год.
Более того, во многих случаях hi-poly не нужна вовсе, а если нужна то чаще всего не раньше середины цикла разработки. Это очень очень сильно завит от стиля игры, метода работы команды, и стиля конкретного художника.
В целом процесс можно представить так
концепт -> модель ⇔текстура⇔анимация
Причем каждый из этапов может содержать множество подэтапов, и порядок может быть совершенно различным. Опять же зависит от цели и стиля.
В самом начале, словно слово божье, всегда есть концепт.
Сам процесс создания концепта столь сложен и разнообразен, что на эту тему я могу написать статью вдвое больше этой, и этого будет недостаточно.
Важно понимать что на этой стадии мы не просто "рисуем эскизы".
Мы думаем над формой, силуэтом, планом работы, количеством ресурсов доступной этой модели. Создаем первые грубые болванки, тестируем их работу . Продумываем повадки и анимации нашего объекта.
И только когда мы поняли что нам нужно, и как мы это будем делать. Мы приступаем к моделированию.
Можете считать создание концепта нулевым пунктом для всего что описано ниже.

Ранние концепты overwatch ​

Дальше у нас идет множество вариантов работы, лишь некоторые из которых предполагают взаимодействие с hi-poly. Я воспользуюсь комментарием Сергея Бровкова. Он писал немного на эмоциях поэтому я перепишу его комментарий своими словами, расширю и добавлю примеры. Так же следует понимать что в реальности все подходы пересекаются , и нет игр и даже наверно отдельных моделей сделанных строго одним путем. Так что помните классификация очень условная.

Есть 5 Пайплайна (Пайплайн-цепочка процессов преобразования исходных данных в конечный результат )

1) Создание детализированной модели(не обязательно hi-poly) с дальнейшем преобразованием в игровую модель. тяжело подобрать игру где такое используется повсеместно. слишком большая вероятность ошибки. Обычно такое используется для вспомогательных объектов и на отдельных этапах. Стены, оружие, прочие.Хочется как пример привести говорившие головы из первого фолаута. Но там скульптинг был не цифровой а физический.

Лица действительно часто делают таким методом. уверен что именно так создавались морщинки кратоса в последний GoW

2) Сначала создается модель для самой игры, потом добавляется детализация. Потом идет преобразование обратно в модель пригодную для игры. Пример такого подхода это overwatch.Создается простая форма персонажа с самыми важными элементами внешнего вида. Тестируется в игре. Затем из этой простой модели создают персонажа с высокой детализацией. Запекают все что нужно, и переносят на первоначальную простую модель.

Далеко не первый прототип рейнхарда 

3) Полное отсутствие в необходимости запекания каких либо вещей. создается сразу конечная модель для игры. Пример покемоны(вероятно). Сразу моделируют монстриков и красят в нужные цвета.

Простые формы

4)Создать лоу-поли сетку и сделать все текстуры в вспомогательной программе. Раньше это был повсеместный подход quake, half-life.cейчас это чаще встречается в играх с особым стилем. pokemon mystery dungeon. где все текстуры явно нарисованы вручную и стилизованны под акварель.

рисованные текстуры 

5) оцифровка. вот тут действительно все начинается с hi-poly
C помощью довольно сложного прибора производят 3d сканирование объекта. Дальше либо сам прибор либо художники создают текстуры, карты нормалей и все прочие. Death stranding
самый яркий пример на мой взгляд.

сканирование лица 

Примеры подобраны основываясь на доступной информации и анализе результата. К сожалению у меня нет контактов с разработчиками этих игр.
Как мы видим скульптинг и hi-poly могут быть не использованы вовсе.
Пара слов о "запекании". Термин которым любят разбрасываться 3d артисты, и который наверняка требует пояснения.
Это общий термин применимый к самым разным областям 3д. Его очень грубо можно заменить словом "сохранение".
Давайте с очевидного примера. Симуляция воды это очень сложно.
один кадр может рассчитываться днями. Но нам не нужно каждый раз считать заново. Мы можем провести расчет один раз "запечь" его, и потом каждый раз вода будет литься одним и тем же маршрутом почти не требуя ресурсов пк.
Тоже самое работает и для света, звука, физики, детализации итд.
К примеру оружие имеет очень мноого мелких деталей. и каждый раз рассчитывать освещение не хватит никаких видеокарт. Поэтому мы можем 1 раз "запечь" карты теней. и использовать их всю игру.
Конечно свет в игре меняется, и наши тени будут не всегда верные. но это уже другая тема.
Cамый интересный подраздел это карта нормальней(высот и все прочие тоже)
наш ПК очень напрягается когда обшивает полигоны. Но и это можно "запечь".

На картинке чуть выше плоский куб. у него всего 6 граней идеально ровные .
но благодаря хитрой карте нормалей нам кажется что его правая сторона имеет сложный рельеф. Создание такой карты нормалей, Для переноса деталей с сложной формы на простую, тоже зовется "запекание"

Заключение

Писать статьи оказалось очень сложно. Мне удалось лишь слегка пробежаться по основам темы, и если честно к концу я выдохся и структура немножко поплыла. Но эта статья довольно наглядно объясняет почему создание моделей, это не просто "сделал хай поли, запек, запек, бам в продакшен". Это сложная тема с множеством вариантов реализации и применения.

p.s2
я обещал дать ссылки, но если честно не нашел правила дтф на эту тему, и боюсь это делать. Да и в ру сегменте статьи ограничиваются "делаем штуку и запекаем запекаем запекаем". Либо 5 часовые стримы в которых воды больше чем чем в мертвом море. У нас уже есть статьи с плохим материалом, и я не хочу их повторять. Хоть это и не моя область 3d, я постараюсь найти или сделать что то более приличное. Или надеюсь на вашу помошь в комментариях. Может кто то знает хорошую статью или видео где нормально описаны все этапы.
AAA-пайплайн от xyz

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

Написать
{ "author_name": "Vitaly Gavrilov", "author_type": "self", "tags": [], "comments": 6, "likes": 27, "favorites": 81, "is_advertisement": false, "subsite_label": "gamedev", "id": 92943, "is_wide": false, "is_ugc": true, "date": "Tue, 14 Jan 2020 13:18:12 +0300", "is_special": false }
0
{ "id": 92943, "author_id": 108607, "diff_limit": 1000, "urls": {"diff":"\/comments\/92943\/get","add":"\/comments\/92943\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/92943"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 64954, "last_count_and_date": null }
6 комментариев
Популярные
По порядку
Написать комментарий...
0

Плюсую!

Ответить
0

Но некоторые художники используют его для кое чего, что потом используется в играх, и в целом это важная часть 3d индустрии, поэтому я его упомянул.

этим кое чем являются : китбаши — механические элементы сложной структуры для последующего использования художниками в концепт арте техники и сай фая . Как правило это делают художники — а не модельеры и результат их работы 2 д рендер 3 д картинки 

Ответить
0

Да это один из вариантов. И я это знаю. 

но не посчитал нужным делать огромный абзац про это 

Ответить
0

Бобышка-вытянуть. Шедевр нейминга

Ответить
0

технический термин. по другому никак 

Ответить
0

Понимаю, но звучит все еще довольно забавно)

Ответить

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fizc" } } }, { "id": 4, "label": "Article Branding", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "cfovz", "p2": "glug" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "clmf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-250597-0", "render_to": "inpage_VI-250597-0-1134314964", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=clmf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Баннер в ленте на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudo", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "chvjx", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fzvc" } } }, { "id": 20, "label": "Кнопка в сайдбаре", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "chfbl", "p2": "gnwc" } } } ]