No Image

3D моделирование для компьютерных игр

СОДЕРЖАНИЕ
522 просмотров
10 марта 2020

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

Гейм-дизайнер рисует, моделирует и анимирует трехмерные модели в разных, в зависимости от жанра игры, стилях и отвечает за все аспекты разработки правил и содержания игрового процесса создаваемой игры — от принятия дизайн-документа, применения креативных, технических и специальных компетенций до предоставления готового востребованного на рынке продукта. Его непростая задача заключается в том, чтобы, получив концепцию, преобразовать ее в трехмерную сетку, привлекая широкий круг навыков, принимая взвешенные геометрические решения и придавая симметрию и фактуру моделям. Дизайнер должен полностью понимать принципы концептуального дизайна и анимации, а также уметь создавать и анимировать игровых персонажей.

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

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

3D моделирование – это процесс построение трехмерной модели объемного объекта.

Построение 3д модели объекта позволяет:

  1. Презентовать объект заказчику;
  2. Оценить эстетические характеристики и функциональные свойства объекта;
  3. Наглядно представить несуществующий объект;
  4. Спроектировать новые объекты и др.

Технологии 3D моделирования применяются сегодня практически во всех отраслях человеческой деятельности: архитектура, медицина, образование, промышленность, реклама и маркетинг, кинематограф и т.д.

3Д графика – это результат работ по 3d моделированию. Трехмерная графика считается особым видом компьютерной графики, использующей инструменты и приемы работы для получения изображений 3д-объектов, а также управления этими объектами в трехмерном пространстве. Результат трехмерной графики может быть представлен как «плоское» изображение – проекция или же, как 3д анимация. 3D графика получила широкое применение в кинематографе и компьютерных играх.

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

Направления 3д-графики:

  1. СGI графика – разработка неподвижных или двигающихся изображений, которые применяются в кинематографии, на телевидении, в изобразительном искусстве и т.д.
  2. Компьютерная анимация – создание движущихся изображений, используемых в компьютерных играх.

Компьютерные 2D и 3D-игры

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

Широкие возможности современного 3d моделирования и трехмерной графики позволили создавать совершенно новые компьютерные игры в трехмерной пространстве. Трехмерные игры более реалистичные и расширяют границы свободы пользователя (игрока).

Компьютерные 3D игры открывают для пользователя новые возможности и загадочные трехмерные реалии, позволяют играть прорисованными 3д-персонажами и использовать реалистичные 3D объекты.

Создание 3d моделей для игр

3d моделирование для игр начинается создания высокополигональной модели необходимого 3д-объекта или же трехмерного персонажа. Создание 3d моделей для игр осуществляется в таких программах как: 3D MAX, Maya. Доработка моделей, как правило, осуществляется в таких программах как: ZBrush или MudBox.

Далее осуществляется построение разверстки – изображение объемного объекта на плоскости. По данной разверстке художником рисуются текстуры, которые затем накладываются на модель.

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

Высокополигональные модели позволяют получить более реалистичное изображение, показать мелкие детали объекта, тени, которые присутствуют в игре как текстура. Кроме того, из высокополигональных моделей можно получить вспомогательные текстуры:

– Текстура рисунка – diffuse;
– Текстура рельефа – bump;
– Текстура отражений – specular и др.

После того как все игровые 3d модели и текстуры готовы, их экспортируют в игровой движок – программный компонент компьютерной игры, ответственный за весь игровой процесс. Таким образом осуществляется создание 3d персонажа, окружения и других объектов игры.

Технологии 3D графики в 3д играх

Самыми распространенными на сегодняшний день приемами трехмерной графики, используемые в компьютерных играх, являются следующие:

  1. Панорамная технология – возможность обзорного просмотра пространства в 360 градусов, создание эффекта присутствия в трехмерном пространстве.
  2. 3D графика реального времени – вид графики, который визуализируется не при создании игры, а в виде рисунков или анимации сразу на компьютере пользователя.

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

Компания KLONA осуществляет высококачественное 3d моделирование для игр, создание 3D персонажа, на базе профессионального программного обеспечения. Работать с нами надежно, легко и выгодно.

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

Полигоны, фейсы, трисы, вертексы? – В первую очередь модель состоит из вершин, да, не полигоны ибо они как раз таки и строятся из этих самых вершин. Вершина, vertex (вертекс) имеет в себе информацию о координатах в трех осях XYZ, помимо этого имеется информация о направлении ее нормали (лицевая сторона). Подробности сейчас будут лишними.

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

Первое и довольно распространенное заблуждение – модель состоит из квадратных поликов с четырьмя углами. На самом деле в полигоне может быть сколько угодно углов (вершин), но только в рамках 3D редактора, для удобства. Видеокарта все равно видит их триангулированными.

Читайте также:  Замена провода на мышке

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

Как тогда считать полигонаж модели? – Если модель делается для визуализации, то автор может указывать полигонаж именно в полигонах (четырехугольники) так как его модель скорей всего будет состоять исключительно из них, игровой моделлер может позволить себе беспрепятственно использовать в топологии треугольники, потому в его случае логичней назвать число трисов.

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

Слева окно юви координат, используется цветная текстура для удобства работы над разверткой. Любая манипуляция вершин слева приводит к смещениям текстуры по модели:

Второе заблуждение. Выражение "я под текстуры улетел" или "он в текстурах застрял" – абсурд, но нет времени и желания объяснять абсолютно всем, что сказанное ими не соответствует реалиям. Персонажи, машины, динамическое окружение – все это имеет дополнительную модель (collision, collider) отвечающую за столкновения с другими коллайдерами. Часто можно заметить в играх что персонаж упирается в невидимую стену или наоборот проходит ее, значит имеются несоответствия коллизии с рендер мешем. Хотя в любом случае, суть этой фразы уже всем понятна и нет смысла выражать ее иначе.

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

Средний полигонаж – тут все относительно, это может зависеть от стилистики игры, от того как часто и как близко будет виден предмет для игрока. Персонажи, они больше всего заслуживают внимания, среднее количество трисов на их моделях разнится от 13k до сотни тысяч, к примеру игра Assassin’s Creed 3: Бенджамин Франклин-18k, Ли Чарльз-26k, Коннор-28k, Дезмонд-15k, Хэйтем-20k ( тысяч трисов). Как видите есть разница и иногда большая, например от того какая у них одежда и внимание к лицевой анимации в кат сценах, к примеру у Дезмонда нет никаких плащей или одежды что могла бы плавно колыхаться при движении персонажа, потому и хватило ему 15 тыс.

Джоэл. Главный герой игры “the last of us” 40 000 трисов, лицо и руки – основные места плотности сетки ибо нуждаются в качественной анимации.

Что касается объектов окружения, оружия, то там уже уже более высокая разница.

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

Текстура – разглядывая пиксели на модели вы на самом деле смотрите не на одну конкретную текстуру (если это не старенькая игрушка), а на материал, который создается с использованием нескольких текстур, вроде Base Color, Normal Map и прочих, характерных для PBR – physically based rendering (физически корректный рендеринг). PBR это довольно сложная тема для краткого описания, потому постараюсь не нудить: Используется почти во всех (99%) современных играх с реалистичной графикой. На одной модельке используется особый набор текстурных карт, состоящий как минимум из четырех, Base color – придает основные цвета модели, Roughness – карта отвечает за микро поверхность материала, придавая шероховатость или глянцевость, Metalness – карта металлических свойств, Normal – создает фейковые неровности на совершенно ровном полигоне, весь текстурный сет называют материалом. Это далеко не весь список а лишь основной, вот один из примеров PBR материала:

Всю игру можно сделать в 3ds max – Да, встречались мне такие люди, по какой то причине в их голове процесс разработки укладывается лишь один, когда то и где то услышанный софт по 3D. Для разработки полноценного персонажа порою хватает двух программ, но не для всех, некоторые владеют более пятью программами связанными с 3D и им проще работать, потому как есть моменты которые легче сделать там или в другом месте, как например замоделить в blender3d, развернуть в UVlayout, затекстурить в Substance Painter, отрендерить в Marmoset toolbag – это кстати то чем владею на данный момент я, довольно скромный список. И это только создание модели, дальше ее нужно импортировать и настроить в игровом движке, если это персонаж, то сюда можно вставить еще пару программ, например скульптить в Zbrush и анимировать в Maya, все это можно сделать и в том же blender3d, там даже есть свой игровой движок, при желании можно вообще не выходить оттуда, но как я уже сказал – некоторые процессы проще и быстрее в другом софте.

Я написал достаточно много, но не описал я еще больше. Скриншоты как мои так и с сайта с Artstation – кстати там можно увидеть полно примеров 2d, 3d как игровых так и рендеров (ссылку найдете в гугле). Спасибо за внимание

Читайте также:  Phantomjs executable needs to be in path

Дубликаты не найдены

Можно посмотреть на твои работы ?)

Просто сам 3D моделингом увлекаюсь)

Одна их моих последних работ) делаю на работе в свободное время)

1. описание нормалмапы неточное так можно и паралакс и теселяцию и . под это описание подвести. Основной сути в описание не упоминается.

2. важны в модели, если говорить про "оптимизацию", не количество треугольников, а количество вершин. (К примеру, при обработки движком модели происходит сплит модели по "группам сглаживания" и как следствие дублирование вершин на эйджах с разными группами, именно поэтому обработка модели проходит меднение в сравнение аналогичной с одной группой (софт эйджы). Соответственно в проеденном случае на модели к примеру с 90 углом где не обойтись 1 группой есть смысл добавить фаску при этом увеличив количество треугольников, но так как это будет нивелироваться тем что будет отсутствовать дублирование вершин при обработки модели движком, то такое увеличение количество треугольников ни как не скажется на производительности, но выигрыш по внешнему виду модели будет очевидный.) Именно по этому говоря про оптимизацию более корректно говорить про количество вершин в модели.

3. Упоминая про ПБР нужно упомянуть и про его виды, ибо разница даже с точки зрения текстурирования велика.

з.ы читал выдержками может чего те так понял сори

Все верно, но вершины среди знакомых никто не считает, просто не привыкли как и я. Если модель не статик то реалтайм освещение тоже влияет на число вершин. Тут очень много чего не описано

Кстати, сам тоже занимался моделлингом. лет 7+ суммарно, наверное.
По принципу "Learned it hard way" пришел к выводу касательно геймдев(да и в целом) моделлинга:
НИКОГДА не модельте под subdivide, если это не органика.

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

Особенно это роляет, когда делаете машины. Тут ручками отлично получается и без мусора(а это, напомню, дает вам правильные отражения на материале).
Сетку,опять же, лучше делать ручкам по технике "antinurbs"(гуглите – но тут я бы не делал чисто boolean’ом, а резал бы руками с привязкой к вершинам второго обьекта, который нужно "врезать" в основной).

Все сглаживания стандартным группами сглаживания(или hardedge если maya), а затем, по острым граням фаски.

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

+ не забывайте про edit normals. Модель должна выглядеть ОТЛИЧНО даже без карт нормалей. Если есть "темные места" – ваш косяк.

А еще в 3sMax очень хороший инструмент ретопологии. Топоганы и Збраши, НЕ лучше того,что и так есть в максе.

Собственно вот. Долго шел к понимаю этих вещей, т ч пользуйтесь на здоровье!

//Под сабдив говорите не стоит делать?
Да не стоит(всю модель, так чтобы нажать "дивайд" и получить готовую хайполи). Такая техника сокращает время моделлинга раза в два. Но можете игнорировать, если хотите – ваше право 🙂

Запекать нужно для небольшого "улучшения" качества вертекс нормала( в сочетании со спекуляр картой) и мелких рельефных деталей. Нормал мап, грубо говоря, для фактуры. Объема он не добавляет. Это миф.

c дисплейсментом вы не знакомы? И нормалом можно не только мелкие детали запекать

Дисплейсмент в геймдеве? Мы про геймдев лоу поли 🙂
Параллакс маппинг, да, используется, но относительно редко я его видел и в основном для ландшафтов.

ну если ты играл последний раз в 2005, то да дисплейс в играх новинка)

Еще раз, читай внимательно – я сказал РЕДКОСТЬ, а не в новинку.
И это не называется дисплейсом. И да, оно фактически нигде не используется, кроме как для ландшафтов.

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

// Одно то что адекватная привязка вершины к плоскости хайполи которую ты ретопишь там отсутствует
Grafit tools.Там офигенная привязка вертекса к поверхности( и вообще, снап на любой вкус) и сетка по вертексам строится быстро. Возможно, конкретно тебе неудобно/не привык/ не разобрался. Тоже, по-началу, плевался, а потом дал этой штуке шанс и.
Я спокойно делаю в максе ретоп без малейшего дискомфорта. Не нужно ничего экспортить никуда – все в рядом.И вертекс нормали можно выправить, если что, на лету и развертку.
И тем не менее, в максе достаточно хорошая ретопология, чтобы не использовать, если уж не топоган(хотя, он мне не очень нравится), то зибраш точно.

Freeform – PolyDraw шикарная весч для ретопо, с ее введением в макс забыл про вылетающий топоган как про страшный сон

Почитал, поржал, пиши еще, такого бреда слышать не приходилось еще).

"Ржут" подростки у которых проблемы с агрессией ввиду нереализованной самооценки, друг мой. А взрослые люди указывают на ошибки с примерами и без высмеивания.
От тебя никакой конкретики, кроме необоснованных выпадов я не вижу. Хотя, видимо, я слишком много жду.

Дружище, я на работе делаю эти самые лоу поли. Не перед тем ты "знаниями" выпендриться решил и не том посте, сочувствую.
//Невозможно что-то конкретное выделить, так как все что ты написал это полный бред.
Про "невозможно" расскажи кому-нибудь другому, глупая уловка.
Это и называется – нечего сказать. Лишь бездарные попытки вбросить.
Нет примера как надо, нет конкретики – извини, но твои слова не более, чем болтовня, что нелестно характеризует тебя, в данной ситуации. Увы, ты не показал, что способен на большее.

Да какие вбросы), я бы с удовольствием посмотрел на твои работы (без подколов, я серьезно)

Читайте также:  Системная плата gigabyte ga p75 d3

"Нормал мап, грубо говоря, для фактуры. Объема он не добавляет. Это миф." – нормал для того чтобы шейдинг объекта лоупольного был, как у хайпольного.

"НИКОГДА не модельте под subdivide, если это не органика." – ты про хардсурфейс моделинг слышал? (техника, роботы и тд, например делаются)

Может ссылку дашь на свое портфолио, а то может я тут мастеру что-то пытаюсь сказать.

Ничего себе у тебя работы 0_0, вот это зависть, очень круто чувак) А с кем/с чем учился если не секрет? Уж безумно сильно мне нравится такой стиль

//нормал для того чтобы шейдинг объекта лоупольного был, как у хайпольного.
Я где-то это отрицал в оригинальном посте? Такое ощущение, что по диагонали читаешь. Хотя, я бы сказал, "похожим" на хайполи, нежели "как хайполи".

Многие новички считают, что нормал – это магия, которая нахаляву дает объем. Это не так. вот об этом я говорил. Для новичков. Но зачем вдумываться в написанное. главное нахамить поскорее и поржать!

Нормал дает псевдо-объемную фактуру( за счет "как бы"имитации нормалей), которая тем меньшее эффективна, чем острее угол обзора. А под текстурой, отличной от серой заливки, которую очень любят выкладывать на превью, эффект еще ниже. Особенно, без specular.

// ты про хардсурфейс моделинг слышал? (техника, роботы и тд, например делаются)
Слышал, делал и. Я считаю принцип "все под дивайд, а там все равно ретоп" избыточным в плане трудозатрат. Если у вас другой пайплайн – ок.

Руками очень удобно и быстро моделить сложные участки. При этом, не получая погрешностей, которые дает сглаживание. Особенно, если делаешь сетку автомобиля – там мельчайший косяк это убитые отражения(нормал мап не используется).

// а то может я тут мастеру что-то пытаюсь сказать.
При чем тут "мастеру"? Опять какой-то максимализм.

//Вот пой портфель
Прикольные четыре меха ты сделал, но я бы не сказал, что это повод для для такой самооценки.

И да, очень рад, что ты аутсорсишь для ЕА и прочих на Васильевском (если в Питере, конечно), но, что, нельзя общаться нормально? Хреновое впечатление о компании создаешь.

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

//Чел, ты пришел поделиться "мудростью"
А вот это уже ты сам придумал. Я поделился ОПЫТОМ. Своим личным. Если для тебя такие слова ассоциируются с чем-то неприятным, извини, но это твои заскоки.
И заметь, ты ничего не отвечаешь мне по делу и опять пытаешься сместить обсуждение на мою личность, намекая на то, что я, мол, не имею портфолио и поэтому со мной не о чем говорить.
При этом, показал совершенно обыкновенные работы со своей стороны, непонимания используемых технологий и тактично забыл про то, что я тебе ответил и по делу и про твою хамскую монеру ведения диалога, потому что. сказать тебе нечего. Дешевый трюк, чтобы аккуратненько выйти из невыгодной для тебя ситуации.

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

Дружище, произошло вот что: ты пришел, нахамил и облажался.

//Ты втирал несусветную дичь
И опять никакой конкретики. Никаких опровержений того, что я говорю.
Зато пытаешься надавить тем, что четыре робота из вахи за три года это аргумент в споре. Да хоть миллион , а что толку, если ты так и не показал, что знаешь как работает базовая технология в 3д графике.

//в которых ты ничего не понимаешь, судя по всему.
Да ну? То то я один из нас двоих рассказываю о технических подробностях. Вот еще немного, для наших читателей:
Вероятно, ты забыл, что нормал – это, все лишь, карта, которая используется в шейдере. Именно шейдер решает что ему сделать с данными, которые дает ему карта о пикселе. Решает математической формулой, которую ты можешь заменить на что угодно.
Таким образом, нормал мап это лишь данные, который помогают шейдеру затенять и засветлять некоторые пиксели на диффузе.
Нормал мап( вместе с другими картами) может работает как средство добавления всевдо-объема при соблюдении определенных условий(угол обзора, карта бликов, подходяшая дифуз карта и т п) но не отрицает лоу геометрию.
Шейдинг лоу поли, если уж по делу, никогда не будет "точно как на хайполи".
Найдется полигон, который будет под острым углом к точке обзора и. ну ты понял.

Попытаюсь еще раз объяснить, что я имел виду в первом посте(должен же кто-то говорить по делу):
Никакой нормал не скруглит тебе цилиндр, если на нем будет нарисована горизонтальная полоса(кольцо). При взгляде под углом 45 гр эта полоса спалит всю твою лоуполи геометрию. Если бы нормал еще и диффуз магически "загуглял" бы – тогда ты был бы прав на все сто.

//И заметь, я тебя не оскорблял и не хамил, я тебя не знаю,
Давай вспомним еще раз:
"поржал, пиши еще, такого бреда слышать не приходилось еще)." – высокомерное принижения автора сообщения.
Не веришь – с начальством попробуй так поговорить. 🙂
"а то может я тут мастеру что-то пытаюсь сказать." – передергивание в виде издевки. Не нужно быть мастером, чтобы знать как работает технология. Нарушение простейшей логики.
"то твое представление дилетантское о вещах, в которых ты ничего не понимаешь" – Беспочвенное обвинение.

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

А еще ты произвел деанон и сейчас хвастаешь всем, что сотрудник Sperasoft не имеет представления о принципе работы "Normal map". Умница.

Комментировать
522 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector