Бесплатная реклама

Автор: Алексей Патлажан

Опубликовано: 30 ноября 2013 г.

Постоянная ссылка

Комментарии [0]

Как создаются 3D объекты

Многие ли из вас, заходя в игру, пробегая мимо зданий, спускаясь в подземелье и огибая во-он тот перегораживающий вход скелет представляли, как именно делались все те объекты, которые вы видите перед собой? Кто создавал модели персонажей, которые стали вашим альтер-эго в игре? Кто дал плоть всем запечатленным на бумаге концептам?


Если бы ваши персонажи внезапно ожили и задумались над тем, кто создал их мир – то, скорее всего, они уверовали бы в нескольких богов. И одним из них стал бы 3D художник – «творец всего явленного мира», человек, работающий с трехмерной графикой, с помощью которой и создаются все объекты в игре. Процесс их создания достаточно непрост, и всё же, попробуем представить его в общих чертах.


Семь этапов творения



1) Первый этап
Каждый объект, который игрок может видеть в игре, прошел долгий путь от возникновения идеи до её реализации.

Первое слово, как правило, принадлежит гейм-дизайнерам. Именно они отвечают за формирование игрового мира. Соответственно, на «первом этапе творения» гейм-дизайнеры решают, что должно появиться в игре, в каком виде, как это будет взаимодействовать с другими объектами игрового мира и с игроками. При этом гейм-дизайнеры отталкиваются от общей концепции игры. Когда этап формирования идеи пройден и появилось понимание того, какие требования будут предъявляться к будущему объекту, как он будет взаимодействовать с игроками, идея передается 2D художнику.

2) Второй этап
2D художник, который создаёт концепт, максимально отражающий идею гейм-дизайнеров. По сути – это рисунок, по которому можно понять, как будет выглядеть объект, насколько он впишется в окружающий ландшафт и так далее.

3) Третий этап
Затем концепт передаётся 3D художнику, который вносит свои поправки, анализируя, как картинка будет выглядеть в объёме. При этом, под словом «анализ» скрывается тщательная и крайне важная работа.

Во-первых, художнику нужно представить, как изображенный на картинке объект будет выглядеть в объёме. Далеко не всегда предоставленный концепт выполнен в фотореалистичной манере или в виде точных чертежей в фас и в профиль. Часто это бывает рисунок с разной степенью проработки деталей, в то время как 3D объект должен иметь предельно конкретную форму в пространстве.

Во-вторых, необходимо понять, каков смысл объекта в игре и его влияние на персонажа. Ответы на эти вопросы позволят представить относительный размер будущего объекта (обычно за эталон берется размер модели человеческого персонажа или существа доминирующей расы, если людей в игре нет). От относительного размера и смысловой нагрузки создаваемого 3D объекта зависит второй важный параметр – его детализация. Маленький объект может быть выполнен в виде одного полигона с текстурой на нем, большой объект - представлять собой сложную геометрию с высокой степенью проработки.

В-третьих, учитывая предыдущие выводы и умозаключения, необходимо свериться с требованиями игрового движка. Иногда объект не может быть реализован в том виде, в каком он представлялся в изначальной концепции, исключительно из-за технических ограничений движка. При необходимости 3D художнику требуется консультация программистов по вопросам детализации того или иного объекта, количеству текстур, которые возможно использовать, их размерам и т.д.

Максимальная ответственность во всех перечисленных вопросах на этой стадии создания ложится на плечи ведущего 3D художника – именно ему придется играть роль связующего звена между художниками и программистами, находя компромисы, удовлетворяющие требованиям обеих сторон.

4) Четвертый этап
В процессе создания модели объекта, 3D художнику периодически требуется консультация 2D художника. Чем сложнее модель, тем больше может возникать вопросов о её деталях, которые решаются при тесном взаимодействии 2D и 3D художников.

5) Пятый этап
Пройдя несколько последовательных этапов перемещения вертексов, уточнения форм и пропорций объекта, выравнивания и уточнения топологии (взаимного расположения вершин и рёбер 3D объекта, составляющих его сетку), создаётся текстурная развертка 3D модели.

6) Шестой этап
После создания текстурной развертки 3D модель отдаётся художнику по текстурам. Его задача сводится к созданию достоверных текстур, максимально реалистично передающих свойства объекта. Достигается это, в частности, с помощью дополнительных затенений, высветлений и имитации «правильного» освещения. 3D модель можно считать законченной только после того, как текстуры будут созданы и назначены на модель.

Параллельно с этим процессом 3D художник создает BSP геометрию объекта. Она представляет собой гораздо менее детальную копию самого объекта и не видна в игре, так как играет роль своего рода чехла, определяющего зоны проходимости. Наверняка игроки замечали случаи, когда невозможно пройти или перепрыгнуть казалось бы незначительное препятствие возле того или иного объекта. Это как раз и есть свидетельство существования BSP геометрии, которая перекрывает проход в то или иное место . Делается это для того, чтобы избежать «застревания» игровых персонажей в сложных переплетениях деталей модели.

7) Седьмой этап
В конечном итоге, после того, как 3D-объект обретает финальный вид, он попадает в игру путем экспорта из пространства 3D пакета, где она создавалась – в 3D пространство игрового движка в понятном только ему формате.


И создал 3D художник объект...



Рассмотрим создание 3D-объекта на конкретном примере. Возьмем новый вход в пещеру, который появится в первой игровой зоне в одном из следующих патчей нашей игры «Северный Клинок». По идее гейм-дизайнеров новый вид входа должен был добавить элемент интриги и разнообразия в игровую зону.

Вот так выглядел концепт 2D художника:

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world1.jpg


Как мы видим из него, вход в пещеру декорирован в виде остова корабля, разбившегося, по-видимому, о скалу... Хотя, кто его знает, как он туда попал – в этом-то, порой, и заключается артовая интрига!

Существует несколько способов моделирования в 3D. Каждый 3D художник выбирает свой собственный стиль, в котором ему наиболее удобно работать. Это может быть полигональное моделирование, основанное на редактировании положения в пространстве вершин полигонов, это может быть сплайновый способ, когда создается сначала как бы проволочный каркас, на основе которого строятся поверхности объекта – это, по сути, не важно. В конечном итоге, должна получиться качественная модель, отвечающая всем техническим требованиям. Наиболее распространенным методом создания объектов для компьютерных игр является метод полигонального моделирования. Работа в нём начинается с так называемого «primitive box» или просто куба.

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world2.jpg


Из него мы сделаем основу – скалу, на которой, в свою очередь, расположатся все остальные элементы будущего игрового объекта. Грани куба делятся дополнительными рёбрами, вершины размещаются так, чтобы в конечном итоге мы получили объект, похожий на задуманный.

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world3.jpg


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

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world4.jpg


После этого мы приступим к детализированному созданию модели.

Один из ключевых моментов на этом этапе – понимание того, с какой точностью по отношению к реальным объектам будет создана модель. Высокополигональные модели имеют максимально высокий уровень реалистичности. Однако, как понятно, для обсчитывания подобного объекта требуется высокая производительность системы. Поскольку данные требования не могут удовлетворить 100% игроков – то, как правило, высокая полигональность приносится в жертву производительности. Выделяются и прорабатываются основные элементы будущей модели, а остальное изображается на текстуре или вовсе опускается в надежде, что игрок примет подобное приближение и атмосфера игры не будет нарушена.

Разумеется, для упрощения отображения сложной геометрии были разработаны специальные методы компьютерной графики, позволяющие использовать карты нормалей, дисплейсмент и прочее, однако мы не будем касаться этих методик в данной теме.

В некоторых случаях при добавлении объекта в игру используются так называемые LOD'ы. Для многих игровых объектов производится несколько моделей с разной степенью детализации, при которой количество полигонов от модели к модели постепенно увеличивается и меняется разрешение текстур. Игрок, по мере приближения к объекту, будет видеть переход от изображения от низкополигонального к высокополигональному. Для него это будет похоже на «перещелкивание» картинки без потери качества ее отображения. Таким образом достигается следующая цель – сохранение визуальной привлекательности и достоверности при значительном облегчении обработки объекта игровым движком.

Итак, наш будущий объект представляет собой комплексную модель, состоящую из нескольких более простых деталей; сперва мы делаем их отдельно, а затем – собираем вместе, получая финальный результат. На скриншоте вы можете увидеть разрозненные части корабля, балки, мостик, навес. Всё это детали будущей единой «картинки».

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world5.jpg


Отдельное внимание пришлось уделить женской фигуре, которая будет на носу корабля. Помните, мы говорили о том, что для достижения оптимального результата 2D и 3D художникам нужно работать в плотной связке?  Вот и в случае с фигурой надо было уточнить, что же, по замыслу 2D художника, из себя представляют узоры на обшивке корабля. Могут ли они быть нарисованы на текстуре или необходимо сделать их в объёме?

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world6.jpg


После того, как все детали готовы, они собираются в одну сцену. Всего в данном объекте получилось около 8000 полигонов. После этого модель передаётся в руки художника по текстурам...

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world7.jpg


Художник по текстурам создаст текстуры на все объекты. В итоге мы получим готовый довольно сложный 3D объект, который будет затем добавлен в игру.

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world8.jpg




P.S.И сел 3D творец, и посмотрел на творение своё и...



... как и всякий создатель, 3D художник тоже может устать. И тогда от внимания ускользают некоторые важные моменты, которые приводят к странным последствиям. Например, безногому жителю Атрейской Марки, с ужасом взирающему на корабль, до которого, по-видимому, ему никогда не добежать... если добрый 3D создатель не поможет!

http://www.uraldev.ru/files/articles/how-to-create-3d-objects/creating-3d-world9.jpg