Создание игры в 3ds max

Обновлено: 06.07.2024

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

Всё начинается с создания детализированной модели (hi‑poly). Есть два основных способа создания модели, это скульптинг (sculpting – потому что процесс напоминает процесс работы с глиной)

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

Скульптинг является более “артистическим” способом создания модели. Для него используют графический планшет и чаще всего его выбирают художники и артисты более творческих направлений. Чаще всего его используют для создания высокодетализированных моделей (к примеру главных персонажей) и создание органического окружения. Основная программа для скульптинга это ZBrush, некоторые также используют Blender, но там есть лишь основные инструменты скульптинга. В свою очередь метод hard surface больше любят люди из технических профессий. Этот способ больше подходит для создания неорганики, то есть мебели, оружия и т.д. (чего-то где в основном чёткие грани). Основной программой для этого метода это Blender и 3DS Max. Так же важным моментом в этом процессе является стилизация модели, то есть если вся игра в low‑poly стиле, а модель героя очень детализированная, то это будет нарушать единую стилистику и атмосферу игры, если это не является особенность проекта.

Вот получилась очень детализированную модель, но есть одна проблема, в ней несколько миллионов полигонов и для рендеринга уже такой модели даже без текстур нужны внушительные мощности, не говоря уже о анимировании модели и наложения текстур. Для загрузки модели в движок так, чтобы с ней было комфортно работать, нужно сократить число полигонов, изменить тополгию, для решения этой проблемы есть ретопология (retopology – то есть переделывание топологии). Надо вручную перестроить всю полигональную сетку модели (топологию), при чём так, чтобы в процессе уменьшения количества граней не пострадало качество модели. Обычно это делают через ту же программу в которой создавалась модель (большинство программ это поддерживают), но достаточно часто это делают через 3D Coat, так как он считается самым удобным пакетом для ретопологии. Фактически, суть самого процесса, это повторное создание топологии (отсюда и название). Так же правильная топология после её переделывания решает проблемы ошибок во время анимации, когда рука вылезает за одежду или что-то подобное.

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

Этап текстуриования состоит из отдельных подэтапов. Это запекание карты нормалей (normal map – это карта, которая полностью заменяет значения нормалей полигонов на нормали с выскополигоналной модели, тем самым увеличивает детализацию модели) и карты дисплейсмента (displacement - смещение). И так, карты нормалей и карты смещения, это особые виды текстур, которые влияют на поведение света при попадании на поверхность. Они увеличивают визуальную детализацию, имитируют глубину и другие особенности поверхности, при это позволяя не увеличивать число полигонов.

Далее надо наложить материалы на объект так, чтобы он был похож на реальный. Кто-то берёт фотореалистичные текстуры, кто-то делает hand-paint текстуры (текстуры нарисованные вручную) и стилизует их под необходимый проект. На данный момент для создания реалистичных моделей используют PBR (physically based rendering). Это текстуры с физически правильным рендерингом, у них есть карты отражений, так что при попадании света на объект будут учитываться микроповерхности, блики и тд. То есть правильно настроенный материал будет выглядеть корректно в любой сцене и при любом освещении.

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

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

Как видно по статье модель проходит множество этапов для того чтобы попасть в игру: собственно её создание, моделлинг, ретопология, создание развёртки, запекание и наложение текстур, риггинг, скининг и анимирование. Каждый этап важен и требует навыков, знания и понимая “Knowledge is power, but understanding is everything” (слоган хакеров из Йоханнесбурга).
Спасибо за внимание и извините за неточности, если такие были.

Комментарий удален по просьбе пользователя ред.

Комментарий удален по просьбе пользователя

"Порой всё наоборот начинается с создания лоу-поли драфта, здравствуйте."

Я так понял, что автор здесь пытается говорить про скульптинг :)

Комментарий удален по просьбе пользователя

Под художником имелся в виду человек, который делает референсы, видимо :)

Т.е "концепт-артист" в вашей терминологии.

Комментарий удален по просьбе пользователя

Я почти был уверен, что читаю кривоватый перевод статьи, пока не дошел до фразы "художник и артист"

Не буду спорить я скорее программист, чем моделер :)

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

И, да, "hard-surface" иногда называют именно полигональное моделирование, тут придраться не к чему :)

Но само содержание статьи не тянет на статью, как таковую.

hard-surface это твердотельное моделирование, полигоны они в любом случае есть, хоть в полигональном, хоть в скульптинге, меняется лишь их количество.

в нормальном сценарии говорят либо hard-surface modeling, либо hard-surface sculpting, по другому ни разу не слышал и не видел чтобы называли.

Комментарий удален по просьбе пользователя

Лоуполи и хайполи зависит от того, как работают в студии и даже от этапа проекта.

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

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

На утубе чаще еще можно встретить:

хайполи->лоуполи->хайполи из дубликата лоуполи и потом уже снятие карт и т.д.

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Блин, я бы уже на мат перешел :D

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя ред.

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя ред.

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

Комментарий удален по просьбе пользователя

я уже накупил ассетов POLYGON от Synty

Комментарий удален по просьбе пользователя

Насколько я понимаю, для запекания текстур это делают обычно.

Запекание текстур / texture baking - процесс рендеринга модели (чаще тяжелой и высокополигональной) со всеми эффектами и сложными текстурами наложенными в миллион слоев, выставленным освещением в одну финишную текстуру. Эту текстуру можно натянуть на упрощенную low-poly модель. Запекание используется в играх и игровых реал-тайм движках типа Unreal Engine и Unity.

Комментарий удален по просьбе пользователя

Странный у вас тогда спор.

Комментарий удален по просьбе пользователя

Хорошо, знаю одного такого, нужно будет ему сообщить, благодарю за информацию.

Комментарий удален по просьбе пользователя

тут все адекватные, поэтому я выделюсь:

есть такая тема(тебе Сергей уже 100к раз объяснил блять), когда у тебя есть готовая низкополигональная модель с топологией под анимацию(base mesh), чтобы модель гнулась как надо и тд. У нее есть своя форма.

Это может быть и нейтральная форма, когда у человека вместо ебальника сглаженная херь, обычно это делается, чтобы в процессе создания из этого base mesh'a не впечаталась другая форма.

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

Далее когда вот эта база готова, у нее есть развертка и тд, ты можешь ее кинуть в зебру, о чем тебе 100 раз сказали, и заскульптить новые формы, добавить детали и тд.

Самое главное, чтобы количество вертексов в базовой модельке(та, что ты уже зариггал и развернул по uv) не менялось и их очередность (т.е. если риг готов, то нельзя добавлять/удалять вертексы и менять их очередность(т.е. нельзя к примеру пол модельки удалить и потом отзеркалить. Это не только ломает ювишки часто, но и меняет очередность точек. Если хочешь отзеркалить модельку, смарт ресимм в зебре самое то).
-
Дальше, когда модель готова, тебе не надо делать ретопологию, просто включаешь самый первый уровень сабдива (это как раз таки твой бейз меш), там уже будет видно, что он изменился по формам, и тебе нужно просто запечь нормалку (для геймдева) или и нормалку и дисплейс (для оффлайн рендеринга) и остальные карты. Дальше идешь текстурить. НО! Есть и такое, что даже текстуры уже готовы. Так как у тебя ювишки развернуты и до этого уже создавалась другая модель из этой базы, ничто не мешает тебе заюзать готовый диффус со старой моделки и тд. Конечно там есть свои нюансы, но так тоже можно.
В итоге реюзабельность одной базы просто велика. Для человека обычно хватает 1-2 баз, чтобы сделать дохуялиард персонажей. Если нужны рога, к примеру, просто экструдишь их из головы или просто отдельной геометрией(в первом случае придется риг и юви переделывать, во втором к кости головы их привязываешь и все).
Чаще всего используется этот пайплайн, когда готовые ассеты реюзаются по полной.
Если каждый раз делать ретопологию, теряется куча времени, а время = деньги. Есть даже такое, когда сделают крысу, с нормальной топологией, а потом из нее могут сделать лошадь. Или другое животное, без необходимости ретопологии.

Что тут блять не понятно то?

Всегда бесили эти посты из геймдева на дтф, постоянно одно и тоже постят, никто не говорит про реюзабельность топологии.
Все пишут про этот злоебучий процесс создания лоуполи, ЛОУПОЛИ БЛЯТЬ! У всех ща лоуполи головного мозга.

Насмотрятся про свои ЛОУПОЛИ и хуйнянесением занимаются.
-
Хоть сам создавай пост и расписывай все до пиздеца полного. ред.

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

Хотя я и отлично окончил художественную школу на отделении архитектуры (ну как не похвастаться :))), но все же поступлю и выучусь на программиста.

Искусство же для меня скорее хобби. Макс начал изучать год назад, абсолютно случайно увидел диск и заинтересовался. Со временем затянуло :) (думаю, многие поймут). Очень люблю рисовать, играть в компьютерные игры, программировать, а также играть на гитаре.

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

Сделав недавно 3d-игру (это был мой курсовик в лицее) я решил-таки поделиться с народом опытом в создании игр. Вся статья основывается на моей программе (скрины из нее выставлены как одна из моих работ).

Для начала поговорим о создании моделей и текстур.

Моделирование сцены для игры описано в tutorials - Modeling Level Design, но там не написано про последующее экспортирование, а это оказалось не так-то просто!

Все моделирование происходило в 7 максе. Методом множества проб и ошибок был придуман следующий алгоритм подготовки модели, текстуры и их экспортирования:

1. Делаем low poly модель (модели, если это уровень).

2. Текстурируем ее, применяя модификатор Unwrap UVW (обязательно!)

3. Unwrap UVW -> edit ставим mapping = flattern, теперь Unwrap UVW сохраняем в файл. (file->save)

4. Выделив объект, rendering -> render to texture, там настройки:
output, path – папка, куда будет сохранена текстура.

Далее, там, где output, нужно нажать add… выбираем complete map, в file name and type выбираем имя и тип файла, size- размер текстуры (ниже 256 лучше не ставить – будет не красиво, если, конечно, объект не мизерный :-))

5. Теперь внимание! Hажимаем unwrap only, к нашему объекту добавится модификатор, выбираем его и нажимаем EDIT file->load – загружаем ранее сохраненный unwrap.

6. Теперь в render to texture жмем render. Он отрендерит текстуру в указанную ранее папку.

7. Теперь в главном окне file->export selected ставим галочку в диалоге и ОК.

Если это уровень, то, по сути, получается, что собрав уровень в максе, мы разделяем его на составные объекты, а в игре вновь составляем. Естественно, в 3ds будет записано расположение объекта относительно центра сцены, так что это надо учесть, ведь в программе в указанное место будет поставлена эта точка.

Все! Теперь у нас есть объект и текстура к нему (кстати такие текстуры удобно обрабатывать в фотошопе, например, добавлять надписи на стены). Данная последовательность, конечно не единственно верная, но она верная!

вид в максе
вид в игре

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

Если весь уровень создается в одном максовом файле, то удобно поменять настройки в customize -> grid and snap settings -> home grid – grid spacing = 5.0, perspective view grid extend = xx (поставьте побольше) . А после этого можно использовать snaps toggle для точного перемещения объектов по сцене.


Теперь о программной части работы.

Программирование я решил вести в делфи потому, что я ее хорошо знаю (хотя, конечно, для реально мощных игр предпочтительнее что-то вроде С++, но это реально сложно :-)))

По этой схеме и были созданы основные формы и модули в проекте.

Важным периодом создания был период оптимизации (текстур, моделей и программы) для ускорения работы программы, но на данном этапе проявился недостаток создания приложения, которое создает объекты из файла. Все дело в том, что при создании каждого объекта программа ищет в массиве объектов пути к модели или текстуре, и на это уходит большой объем времени. Как вариант решения было бы создание всех статичных объектов как единого объекта. Но здесь возникает другая проблема – на видеокартах с памятью в 64 Мб максимальное разрешение текстуры – 2024*2024, а если создавать гигантский объект, текстуры нужны, как минимум, в 2 раза большие! Что было неприемлемо, т.к. сейчас много компьютеров, оснащенных, слабыми видеокартами (например, у меня GeForce4MX 440, на новую нет денег :-( ). Из-за этого приходится мириться с невысокой скоростью загрузки.

После создании уровня нужно было создать объекты, с которыми можно было бы взаимодействовать, а значит, создать модуль для обработки скриптов, который учитывался еще на раннем этапе. Ничего необычного здесь не применялось – просто построчное чтение переданного из параметров скрипта (*.txt) и его обработка. Так же было решено для некоторых объектов передавать некоторые параметры вместо скрипта (растения, анимированные объекты и стенки).

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

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

Подробнее о выбранных форматах файлов.

Для простых объектов взяты модели 3DS потому, что они занимают мало места и редактируются большинством 3D редакторов. Также причиной для выбора 3DS послужило то, что в этом формате все объекты сохраняют свое положение относительно глобального центра координат, поэтому я могу создать уровень в 3D Max, и при экспортировании моделей они будут сохранять свое положение относительно друг друга, и не будет необходимости перемещать их в редакторе уровней). Данный способ неприменим к объектам со скриптом pick (скрипт, при помощи которого персонаж поднимает или использует объекты), потому что при обработке данного скрипта должно учитываться расстояние до объекта). Формат моделей MD2 был взят как единственный формат, нормально поддерживаемый в GLScene для анимированных объектов (анимацию из 3DS загрузить мне так и не удалось, хотя, насколько я знаю, это возможно, и если у кого нибудь получится – напишите:) ). Текстуры могут быть как JPG, так и TGA, они были выбраны как наиболее сжатые.

Ну, в принципе, урок я закончил. Надеюсь он вам понравился.

Я решил не напрягать урок скринами из моей игры, их можно посмотреть как мою работу the game.

Более подробно о программировании или моделировании для игр, возможно, будет рассказано в следующем уроке, если, конечно, к уроку будет проявлен интерес :-) , а пока это все.

Курсы и туториалы по созданию трёхмерных игр — третья статья из цикла «Разработка».

Автор: Артём Клиновицкий. По диплому — специалист по защите информации, но в основном занимался AR, VR и интерактивными инсталляциями в разных странах мира. В Pixonic пришёл на должность ведущего VR-разработчика, а сейчас — Senior R&D Software Engineer. Работает над прототипами и другими экспериментальными проектами компании.

Вот мы и добрались до темы, которую наверняка ждали многие, — как сделать трёхмерную игру. В головах некоторых начинающих разработчиков при этом возникает картина шикарной RPG с открытым миром, полной свободой действий и грабежами корованов. Но попытка на чистом энтузиазме взяться за реализацию масштабного проекта часто приводит к разочарованию. Лишь спустя десяток-другой собранных прототипов приходит понимание, какой объём работы нужен для разработки каждого элемента игры.

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

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

Минутка истории. Многие в качестве примеров первых 3D-игр обычно вспоминают Doom или Wolfenstein 3D, но настоящим прародителем трёхмерных шутеров (ещё и с мультиплеером) была игра, выпущенная в стенах NASA в 1973 году — называлась она Maze War.

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

Рекомендую начинать с Unity: его не так сложно освоить, у него очень активное комьюнити и есть много готовых компонентов. На ближайшие несколько лет возможностей движка вам точно хватит.

Если вкратце, все 3D-движки создают изображение по одному сценарию.

  1. Модели и виртуальная камера располагаются в трёхмерном пространстве, с учетом положения, вращения и масштаба. К анимированным моделям применяются соответствующая анимации, например, изгибается часть модели, которая привязана к суставу скелета.
  2. Все модели покрываются текстурами. Одни текстуры сообщают о цвете определенных частей модели, другие — о том, насколько сильно эти части отражают свет, третьи содержат информацию о рельефе поверхности и так далее. По сути, текстуры — это обычные картинки. За то, как именно они будут накладываться и отображаться отвечают шейдеры — своего рода инструкции для видеокарты.
  3. Рассчитывается освещение с учётом источников света, расположения моделей относительно друг друга, заранее подготовленных световых карт (специальных текстур, содержащих информацию об освещённости 3D-моделей).
  4. Применяются пост-эффекты для финальной обработки картинки. Например, стилизация под нуар или эффект миниатюры.

Сами модели для игр создаются в отдельных редакторах вроде 3ds Max или Maya. Ещё есть бесплатный Blender с кучей туториалов на YouTube. Как именно это делается — слишком большая тема для нашего цикла, тем более, что в прототипах можно обойтись готовыми моделями из онлайн-библиотек и каталогов самих игровых движков.

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

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

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

В этом разделе речь пойдёт о том, что делает статичный набор моделей, картинок и звуков собственно игрой.

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

Но кому хочется корпеть над учебниками по кодингу вместо того, чтобы делать игры. Тут есть два пути.

Первый: освоить самые азы, повторяя за туториалами (разницу между туториалами и курсами мы разобрали в прошлой статье цикла). Делая это, можно узнать, как писать код для самых базовых вещей, понять синтаксис языка и то, как код управляет происходящим в игре. Постепенно вы сможете делать аналогичные вещи самостоятельно, а затем выучите новые операторы, которые расширят ваши возможности.

Второй: воспользоваться средствами визуального или «нодового» программирования. Например, для Unity нужно будет установить специальный плагин (самый известный — Playmaker). С его помощью можно «собрать» логику игры из логических блоков, соединяя их линиями, как в блок-схеме. У Unreal Engine аналогичный инструмент встроен в базовую версию и называется Blueprints.

Конечно, сделать действительно сложную логику с помощью только этих инструментов будет крайне трудно, а поддерживать и отлаживать — ещё труднее. Но для новичков они сильно снизят порог входа в геймдев.

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

Следовать туториалам несложно, но я очень советую избегать слепого копирования. Экспериментируйте: что будет, если задать другое значение параметра в скрипте; а если сделать совсем другую форму коллайдера; и так далее.

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

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

Движок Unity со всем необходимым можно получить совершенно бесплатно. Более того, сделанные в нём игры можно официально публиковать и продавать, пока они не начнут приносить прибыль больше $100 тысяч в год. Функции бесплатной версии фактически не ограничены — разве что придётся мириться с логотипом Unity на старте игры и светлой темой интерфейса редактора.

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

Важное исключение: если урок затрагивает создание интерфейса игры (UI) и он предназначен для Unity версии 4.5 или раньше — он устарел целиком и полностью. Потому что в версии 4.6 UI был полностью переработан — изучать устаревшую версию не имеет смысла.

Ещё в комплекте с Unity поставляется бесплатная некоммерческая версия редактора кода Visual Studio. Советую сразу его установить и привыкать работать в профессиональной среде.

Теперь к конкретным урокам, которые могут пригодиться для создания первого прототипа. Заодно можно на практике увидеть, как работают люди с большим опытом создания игр.

    начального уровня от Unity по созданию адвенчуры про Элен, которая потерпела крушение на неизвестной планете. Весь урок можно выполнить без написания и строчки кода, на основе бесплатного 3D Game Kit. А после него можно изучить и весь раздел Tutorials на сайте Unity — там много полезных уроков. , официально рекомендуемый Unity. Он охватывает множество аспектов этого движка: программирование, физика, шейдеры, искусственный интеллект, звуки, частицы и так далее. Курс рассчитан примерно на 50 часов, и на него иногда действуют большие скидки. от YouTube-канала Brackeys по созданию игры в жанре Survival. Инди-игры в этом жанре довольно популярны, и многие наверняка хотели бы сделать что-то подобное. Этот туториал поможет начать. с отдельными роликами от того же автора. В нём могут быть уроки, которые пригодятся именно вам. от разработчиков Unity. Я советую первые две: прототипирование на UFPS и работа с Playmaker. от N3K по созданию мобильного раннера, по сути — клона Subway Surfer, но про пингвинов. Однозначно стоит взглянуть всем, кто интересуется разработкой мобильных игр. по созданию профессионально выглядящей лесной сцены в Unity из готовых ассетов (ссылки на них есть в описании к роликам). Подойдет тем, кто хочет самостоятельно собрать крутой уровень, не хуже, чем в коммерческих проектах.

Кто-то мечтает сделать классический ПК-шутер, кто-то мобильный раннер, кто-то возродить жанр стратегий в реальном времени. Поэтому задание будет общим.

  • Выберите серию уроков, которая лучше всего вам подходит, — из списка выше или самостоятельно.
  • Скачайте и установите Unity или любой другой движок. Начните следовать выбранным урокам, повторяя за автором. Но не забывайте экспериментировать, чтобы понять, как всё устроено.
  • Закончив туториал или курс, попробуйте самостоятельно улучшить результат. Добавьте то, без чего прототип игры в выбранном жанре будет неполным. Это не обязательно должно быть чем-то сложным, главное — выйти за рамки обучающих материалов.

В следующий раз мы немного отойдем от Unity и более подробно разберем создание логики для прототипа без навыков программирования. Для этого мы используем Blueprints, о которых мы уже говорили, и которые входят в базовый комплект движка Unreal Engine.

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

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

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

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

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

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

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

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

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

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

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

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

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

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

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

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

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

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

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

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

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

3D Моделирование для игр. Некоторые вопросы и заблуждения 3D, Cgimedia, Разработчики игр, Компьютерная графика, Длиннопост

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

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

Всем привет! Хочу поделиться с Вами своими знаниями о 3d моделировании, а конкретно о программе ЗDs max. Эта статья рассчитана на начинающих 3d-шников или на людей, которые не знают где скачать программу и что нужно знать, чтобы начать в ней работать.

image


С чего все началось

Вкратце расскажу о моем знакомстве с ЗDs max. Мне всегда хотелось творить, поэтому после окончания школы я поступил учиться на архитектора. На 3 курсе обучения мы стали проектировать здания и интерьеры, которые требовали красивой и красочной визуализации (чтобы будущий заказчик захотел приобрести данный проект). Я выбрал очень серьезную и сложную программу ЗDs max, которую изучаю до сих пор.

Конечно, решить поставленную задачу можно было и с помощью более доступных и простых программ, таких как:

ArchiCAD — программный пакет для архитекторов, основанный на технологии информационного моделирования (Building Information Modeling — BIM), созданный фирмой Graphisoft. Предназначен для проектирования архитектурно-строительных конструкций и решений, а также элементов ландшафта, мебели и так далее.

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

Естественно, существует аналог ArchiCAD — Autodesk Revit.

SketchUP — программа для моделирования относительно простых трёхмерных объектов — строений, мебели, интерьера.

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

Характеристики компьютера

Итак, я приступил к изучению 3Ds max. Первое, на что акцентировали внимание преподаватели — для быстрого рендера и стабильной работы в ней нужна серьезная машина. Конечно, первые мои проекты делались на ноутбуке с самыми минимальными требованиями на 2012 год. Но все же считаю, что любой человек, решивший встать на путь 3d-шника, должен хотя бы знать, на что нужно делать упор при покупке компьютера:

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

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

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

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

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

Жидкостное охлаждение бывает замкнутое и сборное. Замкнутое продаётся уже готовым к использованию и не требует (или почти не требует) обслуживания, в то время как сборное требует сборки пользователем и доливки охлаждающей жидкости.

Жесткий диск – необходим для хранения информации. В отличие от оперативной памяти способен сохранять данные и после выключения питания компьютера. Жесткие диски делятся на твердотельные и накопители на твёрдых магнитных дисках (HDD). Твердотельные накопители (они же SSD) очень быстрые, тихие, лишены таких недостатков как большое время доступа либо фрагментация, однако имеют высокую цену за 1Гб и меньшую, чем у HDD надёжность. SSD предназначены для установки на них программ (с целью повышения скорости запуска и сохранения проектных файлов) и для повышения комфортности работы (SSD не является обязательным комплектующим, на нём можно экономить при недостатке финансов на сборку ПК). HDD же предназначены для хранения больших объёмов информации. Они более медленные, чем SSD, подвержены фрагментации, однако имеют крайне низкую цену за 1Гб места и очень надёжны, так как техпроцесс их производства хорошо отлажен.

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

Я отлично понимаю, что у всех разные финансовые возможности, поэтому представляю лишь перечень минимальных условий, оставляя выбор за вами. Однако расстраиваться, если вы не проходите даже по минимальным требованиям, не стоит. Берите свой ноутбук или компьютер, устанавливайте ЗDs max версии 12 и ниже, пробуйте! В любом случае в первое время вы не сможете использовать все ресурсы ЗDs max…

image

Студенческая лицензия

Может, это станет для кого-то открытием, но всю продукцию Autodesk можно установить абсолютно бесплатно с лицензией. Как это делается на примере 3d max:

1. Пройдите по ссылке и нажмите Create Account.

2. В новом окне укажите вашу страну, обязательно образовательный статус Student, дату рождения и нажмите Next.

3. Заполните поля: Имя, Фамилия, укажите электронную почту, повторите ее в поле Confirm email и придумайте пароль. Пароль должен содержать в себе как цифры, так и буквы на латинице. Поставьте галочку как на скриншоте и нажмите Create Account.

5. Вас перебросит на страницу авторизации, введите ваш E-mail и нажмите «Далее».

7. Вы увидите уведомление о том, что ваш аккаунт подтвержден. Нажмите «Done».

8. Далее вас спросят, в каком учебном заведении вы проходите обучение. Для этого в первой строчке нужно указать Knower, всплывет подсказка: Can't find your school? Нажмите на нее.

9. Вас снова перебросит в предыдущее окно, где уже будет указан учебный центр. Останется выбрать во второй строчке Other и ниже — период обучения (рекомендую ставить 4 года). Нажмите Next.

Вас перенаправит на страницу, с которой мы начали (если этого не произошло, перейдите по ссылке и авторизуйтесь).

1) Далее укажите версию 3ds max, которую хотите скачать, выберите операционную систему и язык (English). Обязательно перепишите себе Serial number и Product key — они будет необходимы для активации студенческой версии на 3 года! (они также придут вам на почту).

2) После того как скачается дистрибутив программы, запустите его (это может занять время, не торопитесь), выберите путь извлечения (рекомендуем диск С) и нажмите «ОК».

3) Дождитесь, пока установщик распакуется, во всплывающем окне нажмите Install.

4) В следующем окне поставьте галочку I Accept и нажмите Next.

5) Далее поставьте галочку Stand-Alone, введите ваш серийный номер и ключ продукта, которые сохраняли ранее (их можно найти в почте) и нажмите Next.

6) Выберите папку сохранения программы (рекомендуем диск С), нажмите Install и наблюдайте за процессом установки.

7) После установки программы запустите 3ds Max, в появившемся окне нажмите I Agree.

8) Когда он запустится, посмотрите, что написано наверху. Если Student Version, все отлично! Autodesk 3ds max активирован, и вы можете пользоваться студенческой версией целых 3 года совершенно бесплатно!

9) ВАЖНО! Если после шага 18 у вас возникла ошибка 400 и при каждом запуске выскакивает окно, в котором написано, что версия программы на 30 дней, вам необходимо активировать 3ds max вручную. Как это сделать смотрите здесь. Если такой ошибки нет, полный порядок — все активировалось автоматически!

3Ds max. C чего начать?

1. Папка проекта

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

• Application Menu → Manage → Set Project Folder
• Quick Access Toolbar → (Project Folder)

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

Windows 7 и Windows 8:
C: / Users / <имя пользователя> / Мои документы / 3dsmax / autoback /

Вы можете использовать Set Project Folder, чтобы указать другое место. Или установить папку проекта из диалогового окна Asset Tracking → меню Paths.

При установке папки проекта 3ds max автоматически создает серию папок внутри нее, таких как archives, autoback, downloads, export, express, import, materiallibraries, previews, scenes и т.д. При сохранении или открытии файлов из браузера это местоположение (папки проекта 3ds) используется по умолчанию. Использование последовательной структуры папок проекта среди членов команды – хорошая практика для организации работы и обмена файлами.

При установке папки проекта 3ds max может отображать предупреждение — некоторые пути к файлам больше не действительны. Если сцены, с которыми вы работаете, принадлежат выбранному проекту, можно безопасно игнорировать это предупреждение.

3ds max создает файл MXP с различными путями, которые относятся к папке проекта, и сохраняет его в папку, которую вы выбрали.

Примечание: Среди файлов, установленных вместе с 3ds max — ряд материалов библиотек, а также карт, используемых этими библиотеками. Эти файлы по умолчанию размещены в папке программы, в \ materiallibraries и \ карты подпутей соответственно. Если вы хотите использовать какой-либо из материалов библиотек в проекте, рекомендуется скопировать файлы библиотеки в папку проект\ materiallibraries. А в случае необходимости можно использовать внешнюю функцию настройки Path чтобы добавить \ карты путь вместе с их подпутями (включите Add подпутей при добавлении \ карты пути).

2. Единицы измерения

  • Любую сцену в 3ds max нужно начинать с установки единиц измерения.

При этом внутренние математические операции преобразуются в соответствии с выбранными единицами измерения.

Проверьте и при необходимости включите флажок Respect System Units in Files (автоматически переключаться в системные единицы открываемого файла).

При открытии файла с другими системными единицами 3ds max выведет диалоговое окно,
в котором должен быть выбран переключатель Adopt the File’s Unit Scale? (Адаптировать под единицы открываемого файла?).

Помните, что размеры объектов сцены должны соотноситься с единицами измерения.
Если размер реальной комнаты равен 12 метрам, то и размер моделируемой комнаты должен быть 12 метров — 12000 мм, но никак не 12 дюймов или 12 миллиметров.

3. Рендеринг

Ре́ндеринг (англ. rendering — «визуализация») — термин в компьютерной графике, обозначающий процесс получения изображения модели с помощью компьютерной программы.

Часто в компьютерной графике (художественной и технической) под рендерингом (3D-рендерингом) понимают создание плоской картинки — цифрового растрового изображения — по разработанной 3D-сцене. Синонимом в данном контексте является визуализация.

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

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

Компьютерная программа, производящая рендеринг, называется рендером (англ. render) или рендерером (англ. renderer).

Существуют отдельные программные продукты, выполняющие рендеринг. Самые распространённые — это Corona render и V-ray.

В интернете можно встретить много споров на тему: «Что же лучше — Corona или V-ray?»
Мною проверено на практике — легче. Ее не нужно настраивать до потери пульса, как V-ray, которая при любом клике на не ту галочку перестанет рендерить вообще. Можно даже рендерить с установками, которые стоят у который у Сorona по умолчанию. Также она стабильней, чем V-ray. И есть бесплатная версия на официальном сайте для всех желающих ее попробовать. V-ray же очень дорогой, и смысла его приобретать я не вижу (особенно если вы – только начинающий).

Что дальше?

  1. А дальше вам нужно изучить интерфейс. За что отвечает каждая кнопочка, окно, значок.
  2. Затем — стандартные примитивы, с помощью которых в 3ds max в основном все и рисуется.
  3. Далее вас ждет серьезная тема — модификаторы, применяя которые можно нарисовать самые сложные объекты.

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

Ставьте перед собой конкретные цели! Например, мой первый урок был посвящен моделированию яблока, а второй – стола и стульев. Верьте в себя, горите идеями не сомневайтесь в своих способностях, — у вас все получится!

Хочу заметить — мы с вами живем в 21 веке. В интернете имеется масса статей, уроков и отзывов о 3ds max. Данная статья – мое сугубо личное мнение, основанное на собственном опыте. Спасибо всем, кто ее прочел (надеюсь, она помогла вам разобраться, что такое 3ds max и как приступить к ее изучению). Удачи!

Читайте также: