Создание игрушки в 3d max

Обновлено: 13.05.2024

Я живу в далеком сибирском городке под названием Ангарск. Сейчас учусь в 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.

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

Вау чувак, шпасибоньки! Когда выучу макс на 100% перейду на программирование. И буду делать игры. Ты меня толкнул на идею.Мне очень нравиться этот урок. А у Вас очень холодно? Почему спрашиваю, потомучто сежу в Испании и мерзну(я привык к этому климату :) +10% тепла).А в России точно холоднее чем здесь. мне бы на родину снеговика полепить :) :(

Хай. Хороший урок, тока для тех кто программирование знает хоть чуть. Ну я не поэтому:-) Мы бы могли с тобой неплохо посотруюничать. Пиши.

Об авторе: Гани Мохаммади родился в 1984 году в Тегеране, сейчас проживает в г. Нингбо (Китай). Владеет сертификатом по компьютерной анимации колледжа Кавендиш (Лондон). Занимается 3D уже 10 лет и выпустил 7 книжек по 3DS Max на персидском языке, а также мини книжки по Maya, CorelDraw, Poserand Adobe Photoshop.

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

Часть 1: Моделирование

Создайте бокс в окне вида слева, такой же, как на картинке. Переименуйте его в R_H_Sofa (сокращенный вариант названия right hand sofa - правой ручки дивана).


Шаг 2:

Правым кликом на боксе выберите конвертировать в редактируемые полигоны (Convert to Editable Poly).

Шаг 3:

Выберите углы (Edge) среди редактируемых суб-объектов. Теперь выделите все сегменты вокруг бокса так как на картинке снизу.


Шаг 4:

В параметрах редактируемых полигонов нажмите кнопку настройки фасок (Chamfer Settings). Откроется диалоговое окно для скошенных углов. Измените параметры как на картинке снизу.


Теперь после применения модификатора турбо сглаживания (TurboSmooth), у вас будет такой же результат


Шаг 5:

Но нам нужны более острые углы по краях, поэтому выберите один край в каждом углу а затем нажмите кнопку Петля (Loop). Теперь все угловые края выделены. Снова применяем инструмент Фаска (Chamfer) с такими же настройками для добавления дополнительных краев.


Шаг 6:

Примените к боксу модификатор FFD 3x3x3

Шаг 7:

В колонке модификаторов разверните FFD 3x3x3 и выберите контрольные точки (Control Points).

Шаг 8:

Выделите точку в центре бокса и выдвиньте ее что бы добиться одутловатой формы.


Шаг 9:

Теперь, когда вам уже не нужен модификатор FFD, для экономии ресурсов компьютера можно перевести все в сетку, для этого жмите на него правой кнопкой на панели модификаторов и выберите (Collapse To). Нажмите «да» в появившемся окне предупреждения.


Шаг 10:

Так же как на картинке, выделите боковые поверхности на обеих сторонах.


Шаг 11:

Когда бока выделены, примените модификатор «Выталкивание» (Push). Измените значение на 0,5


Шаг 12:

Правый клик на модификаторе Выталкивания и выберите "Collapse To". Нажмите «да» в появившемся окне предупреждения.

Шаг 13:

Выберите средние края вокруг бокса, используйте инструмент «Петля» (Loop), что бы сделать это быстро и легко.


Шаг 14:

В параметрах редактируемой сетки (Editable Poly) нажмите кнопку «Создать форму из выделения» (Create Shape From Selection). В диалоге создания формы выберите тип "Linear" и нажмите ОК.


Теперь у вас есть объект бокс и линейная форма, созданная из выделенных углов

Шаг15:

Выберите форму Shape01 и в ее параметрах проставьте галочку возле значений «Видимая во вьюпорте» и «Видимая при рендере» ("Enable in Viewport", "Enable in Renderer"). Теперь у контура формы есть свой радиус, вы можете увеличивать или уменьшать его в поле Толщина (Thickness). Я оставил значение по умолчанию.


Шаг 16:

Примените турбо сглаживание (TurboSmooth) к форме и боксу.

Шаг 17:

Выберите бокс и примените к нему модификатор «Шум» (Noise). Измените параметры модификатора, так как на картинке. Вы так же можете поэкспериментировать со значениями.


Шаг 18:

Теперь нам надо сгруппировать форму и бокс. Выделите их обоих и выберите Группа (Group) из меню групп. Откроется диалоговое окно, назовите группу и нажмите ОК.


Шаг 19:

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


Шаг 20:

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


Шаг 21:

Правый клик на форме и выберите – конвертировать в редактируемый сплайн (Editable Spline)

Шаг 22:

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

Шаг 23:

Выберите нижний сегмент и в параметрах редактируемого сплайна нажмите кнопку Разделить (Divide). Убедитесь что ее значение установлено на 1. Теперь выделенный сегмент будет разделен на 2 равные части.


Шаг 24.

Из суб-обьектов редактируемого сплайна выберите режим вершин (Vertex). Затем нажмите Ctrl+A что бы выделить все вершины. Теперь правый клик на прямоугольнике и выберите Угол (Corner) из всплывающего меню. Нам не нужны гладкие углы на данном этапе.


Шаг 25:

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


Шаг 26:

В параметрах редактируемого сплайна в развертке рендера отметьте галочками «Видимый во вьюпорте» и «Видимый при рендере» ("Enable in Viewport", "Enable in Renderer") Установите толщину линии на 3.

Шаг 27:

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


Шаг28:

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

Шаг29:

Теперь выделите поверхности внизу планки и скосите их (bevel).


Шаг 30:

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


Часть 2: настройка сцены и освещения

Шаг 31:

Создайте С-образную линию вокруг дивана как на картинке снизу. Затем в ее настройках проставьте галочки для параметров «Видимый во вьюпорте» и «Видимый при рендере» ("Enable in Viewport", "Enable in Renderer"). Активируйте режим прямоугольника и увеличьте значение длины. Мы будем использовать этот объект как задний фон сцены.


Шаг 32:

Откройте окно настроек рендера. В развертке Assign Renderer кликните кнопку Production и выберите из списка VRay.


Шаг 33:

Для освещения этой сцены я хочу использовать источник света VRay. Так же как на картинке снизу создайте три источника света VRay и разместите в нужных позициях.


Шаг 34:

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


Шаг 35:

Создайте три плоскости и разместите их позади источников света так же как на картинке. Эти панели помогут контролировать освещение сцены.


Часть 3: Создание материалов

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

Шаг 36:

Откройте редактор материалов. Первый слот уже выбран. Кликните на кнопке «Получить материал» (Get Material) и дважды щелкните на материал VRayMtl в браузере материалов/карт (Material/Map). Измените его имя на BG_color. Затем измените его диффузный цвет на светло-серый.


Примените этот материал на наш объект заднего фона (С-форму)

Шаг 37:

Шаг 38:

В параметрах материала VRayLightMtl кликните на кнопку «Цвет» (Color) и выберите градиентную карту (Gradient map) в браузере материалов/карт. Здесь вам не надо ничего менять. Убедитесь что в параметрах VRayLightMtl опция "Emit light on back side" включена.

Теперь примените этот материал к панелям, созданным за источниками света.


Шаг 39:

Создайте новый материал VRayMtl в пустом слоте. Назовите его «Chrome». Мы будем применять этот материал к металлической части дивана.


Шаг 40:

Последний материал для дивана – это кожа. Снова создайте новый материал VRayMtl в пустом слоте и назовите эго кожа.

Я использовал черно-белую картинку для его карты выпуклости (Bump). Вы можете найти ее в этом уроке.




Часть 4: Настройки рендера VRay.

Шаг 41:

Откройте окно настроек рендера. В закладке VRay в параметре VRay Global Switches уберите галочку из опции Default Lights. Это первая вещь в настройках рендера, которую надо делать почти для всех сцен.


Шаг 42:

Выберите Adaptive DMC в качестве типа сглаживания и оставьте настройки по умолчанию. Для фильтра сглаживания, поскольку мы будем рендерить сцену как статическую картинку, а не анимацию вы можете выбрать Catmull-Rom.


Шаг 43:

Выберите Exponential для цвета маппинга измените ее настройки как на картинку ниже.


Шаг 44:

Следующий шаг, в опции VRay Indirect illumination (GI) включите параметр GI.Выберите Irradiance map в качестве первичного движка, а вторичный установите на Light cache.

Измените параметры Irradiance map и Light cache так как на картинке снизу.

Всем привет! Хочу поделиться с Вами своими знаниями о 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, создает свою папочку в компьютере, в которую сохраняет автобеки. Путь для этого может зависеть от используемой вами операционной системы:

Вы можете использовать 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 и как приступить к ее изучению). Удачи!

Процесс создания in-game модели персонажа от эскиза до релиза.

image

Доброго времени суток. Меня зовут Ivan. Сегодня я поделюсь с вами деталями разработки игр, а именно расскажу о полном цикле создания персонажа. Итак, поехали!

Этап 1 — Концепты и дизайн

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

image

Этап 2 — Скульптинг high poly модели

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

image

image

Этап 3 — Ретопология

Завершив работу над high poly моделью, можно смело приступать к ее оптимизации, потому что в том виде, в котором находится модель сейчас, использование в игре крайне не рационально. Вряд ли найдется тот смельчак, который отважился бы заскинить модель в 20 миллионов полигонов и с абсолютно хаотичной сеткой. Поэтому мы приступаем к процессу ретопологии, основной сутью которого является уменьшение количество полигонов до оптимального и построения правильной сетки пригодной для анимации. Ретопологию можно делать как в стороннем софте, так и в 3D Max с помощью инструмента PolyDraw. Собственно к этому и приступаем. Стараемся строить топологию используя «лупы» (loop, с англ. — петля, виток) в местах сгибов, это облегчит дальнейший скиннинг и обеспечит анимациям более естественный вид.

image

image

Этап 4 — Развертка

Далее мы приступаем к развертке. Нам необходимо развернуть все части меша, чтобы текстура корректно легла на модель. Если какая-то часть модели нуждается в большей детализации, то ей можно выделить больше места на развертке. При создании развертки следует стараться прятать швы в менее заметных местах, таких как — внутренняя сторона руки, подмышка и т.д. Для создания развертки используем стандартный набор инструментов 3D Max'a.

image

Этап 5 — Запекание карт

Чтобы перенести детализацию с high poly модели на low poly модель, используются текстурные карты, такие как Normal Map, Ambient Occlusion и другие. К счастью их создание происходит полностью автоматически. Для запекания карт прекрасно подойдет Substance Painter. Экспортируем отдельно high poly и low poly модели и импортируем все это в SP. Запекание осуществляется парой кликов мышью, вручную ничего делать не нужно. Максимум, что может потребоваться, это подштриховать мелкие косячки на картах в Photoshop'e, но чаще всего это не требуется.

image

image

image

Этап 6 — Текстуринг

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

image

Этап 7 — Риггинг и скиннинг

Вот мы и добрались до заключительного этапа. Чтобы вдохнуть жизнь в нашего персонажа, нам нужно создать ему кости и прискинить к ним модель. Скининг — (от английского слова skin — кожа, skinning — процесс создания кожи, встречается также написание скиннинг) — это один из этапов сетапа 3D-персонажа, когда готовый скелет привязывается (скинится) к самой 3D-модели персонажа. В нашем случае это гуманоид, поэтому используем стандартный скелет CATRig. Подгоняем все кости под пропорции нашего персонажа и приступаем к скиннингу. Запасаемся терпением, это достаточно трудоемкий процесс, поскольку нужно правильно назначить вес (англ. weight) для каждой вершинки модели. Чем больше вес, тем больше влияет конкретная кость на конкретную вершину 3D-модели. Помните, чем правильнее топология вашей модели, тем проще и быстрее будет осуществляться скинниг.

image

Заключение

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

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


«Привет, читатель Хабра! Если ты чувствуешь, что ещё мало продвинулся в разработке игр на Unity3D, и мечтаешь о чём-то большем и, главное, динамичном — добро пожаловать под кат. Там мы расскажем о том, как создать своего собственного персонажа, не имея навыков 3D моделирования, импортировать его в Unity-проект и заставить двигаться.

Давайте представим, что в один прекрасный вечер после очередного просмотра фильма «13-ый район» вам вдруг захотелось сделать свою игру о безумных трюках, прыжках через пропасти и чудесах акробатики. В анамнезе у вас есть пара проектов с использованием геометрических примитивов, типа «3 в ряд», так что какие-то навыки программирования уже имеются, пусть и начального уровня. Для реализации этой новой идеи вам понадобятся: модель персонажа, модель окружения и специфичные анимации. Всё просто! Но тут вы осознаёте, что господь не наделил вас навыками трехмерного моделирования. Самое сложное, что вам довелось совершить в этой области — создать модель чайника в пиратской копии 3D Studio Max, купленной за 200 рублей в переходе пару лет назад. Тогда вам пришлось затратить на весь процесс целых 10 секунд времени и несколько калорий, чтобы поднять палец и нажать кнопку «Создать чайник». Да уж, никуда не годится.

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

Для создания харизматичного персонажа мы будем использовать Adobe Fuse, как очень простой инструмент для работы с моделями такого рода. «С помощью этого нового приложения вы сможете с легкостью создавать, изменять и настраивать 3D-модели человеческих персонажей за считаные минуты, сохранять их в Creative Cloud Libraries, а затем добавлять для них позы и анимацию», — гласит описание. Отлично, нам подходит!

Интерфейс среды Fuse не даст вам почувствовать себя инспектором ядерной безопасности на Спрингфилдской АЭС.


Уверяем вас, процесс создания персонажа будет крайне простым и принесет сплошное удовольствие. Самому Господу Богу было бы намного удобнее создавать Адама, если бы он пользовался таким инструментом.


Итак, приступим. Перед вами главное окно программы, где основными для нас являются вкладки, расположенные над основной рабочей областью и представляющие собой этапы построения человеческой 3D модели. Вкладка Assemble даёт нам возможность создать непосредственно тело героя, составляя его из отдельных компонентов: торса, рук, ног и головы. С этого-то и начнём. Раскрыв список Head в правой части экрана, мы увидим перед собой различные исходные варианты. Здесь вы найдете всевозможные головы: мужские и женские, светлокожие и темнокожие, молодые и в возрасте, и даже мультяшные. Вспомнив с улыбкой творение Мэтта Гроунинга, кликаем мышкой и выбираем подходящую.


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


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



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




Теперь, как порядочный отец, вы должны одеть своего отпрыска, не бегать же ему совершенно нагим по будущей локации, привлекая излишнее внимание низкополигональных зевак. Для этого перейдем во вкладку Clothing, где в правой части экрана вы увидите великое множество разделов. В них можно не только разжиться стильной футболкой, но и сделать прическу, отрастить бороду, усы, нацепить перчатки, шляпу, модные кеды и прочее. Вы в полной мере сможете почувствовать себя ведущим заседания модного суда Александром Васильевым, а сама Эвелина Хромченко не сможет вынести ни единого обвинения вашему творению. Останавливаться сейчас на каждом параметре этого раздела не имеет смысла, иначе печатная версия статьи превратится в один из томиков бессмертного произведения писателя Л.Толстого. Поверьте, на этом этапе кастомизация персонажа проста и интуитивно понятна, все названия подвергающихся изменению частей тела подписаны и обозначены. А если вы не знаток английского языка, то вам будет даже интереснее: придётся изучать функционал опытным путем, передвигая бегунки от одной крайней позиции в другую. Ниже представлены поэтапные иллюстрации настройки создаваемой 3D модели.



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


Для продолжения работы с моделью удобнее всего экспортировать её в Mixamo — онлайн-сервис от Adobe, позволяющий анимировать созданного вами героя. Для этого вам нужно в правом верхнем углу нажать на одноименную кнопку «Export to Mixamo». Напоминаю, что вы должны быть подписчиком Creative Cloud и иметь свой Adobe ID, чтобы воспользоваться этой функцией.


Процесс импорта модели закончен, и теперь самое время стать доктором Франкенштейном, то есть повернуть рубильник и запустить адскую машину для оживления вашего создания. Для этого нужно зайти на страницу Mixamo под своим ID, в верхней панели перейти в раздел Store, затем в той же панели выбрать вкладку MyAssets. На загруженной странице в подразделе MyCharacters вас будет ждать свежеиспеченная модель трейсера.


Загруженная модель является статичной, но это временно — только до тех пор, пока мы не внедрим Rig скелет с точками сгиба и привязкой к конечностям. Чем и займёмся! Для этого заставим работать очень удобную функцию Auto-Rigger, которая находится в меню Products. Причем если модель была сделана в редакторе Fuse, как в нашем случае, то процесс автоматического создания скелета становится необычайно простым и не требует дополнительных шагов. В том случае, если модель была сделана в другой среде, то скорее всего придётся указывать на схеме точки сгиба конечностей, но сложностей это вызвать не должно.



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

Чтобы начать процесс анимирования, перейдем в разделе Store главного окна во вкладку Animations. Перед нами откроется библиотека всех анимаций, которые предлагает нам Mixamo. По поиску можно найти интересующие нас тематические движения прыжков и подкатов. Выбираем искомое и сохраняем его в наборе, нажав в правой части экрана на кнопку «Add to my assets».


Оказавшись в пункте меню My Assets, вы увидите 3 вкладки:

  • My Characters — модели персонажей, сохранённые в наборе из библиотеки или загруженные с внешнего ресурса;
  • My Animations — анимации из библиотеки, сохранённые в набор;
  • Downloads — подготовленные для скачивания файлы.


Настало время открыть Unity и загрузить в пустой проект модель персонажа, настроив параметры импорта. После этого, щёлкнув по файлу в иерархии ассетов, в окне Inspector мы увидим панель с тремя вкладками. В панели Rig обязательно нужно указать Animation Type Humanoid. Этим мы дадим понять, что скелет нашей модели имеет человеческое строение: это уточнение позволит без труда работать с анимациями такого типа и оценить все плюсы системы Mecanim. При нажатии Apply будет выполнена автоматическая конфигурация, об успешном завершении которой сообщит маленькая галочка слева от кнопки «Configure». В панели Animations нас интересуют следующие параметры:

  • Loop Time — зацикливание анимации. Для анимации бега цикличность очень важна, персонаж должен повторять одинаковые движения раз за разом.
  • Root Transform Rotation Bake Into Pose — сохранение корневого вектора вращения модели относительно движения костей. Проще говоря, выполняя различные анимации персонаж должен продолжать двигаться в одну сторону, в нашем случае по оси Z. Иначе после очередного прыжка он каждый раз будет поворачиваться на определенный градус по оси Y и спустя какое то время окажется бегущим совсем в другую сторону.
  • Root Transform Rotation Offset — сдвиг вектора вращения для выравнивания. Вручную выравниваем направление бега модели.
  • Root Transform PositionY Bake Into Pose — фиксация позиции по Y корневой точки. Если мы хотим, чтобы модель передвигалась с постоянной Y-координатой, (например, чтобы устранить тряску камеры), то стоит поставить тут флажок.



Следующим шагом будет создание и настройка компонента Animator, чтобы заставить персонажа использовать различные анимации в зависимости от условий. Для этого в любом удобном месте иерархии проекта кликнем правой кнопкой мыши и выберем из списка команд Create → Animator Controller». Выделив новый файл и открыв окно Animator, мы увидим пустой контроллер, содержащий лишь 2 состояния по умолчанию — Entry и AnyState. Состояние Entry является стартовым и должно перетекать в другое, которое мы и создадим, выполнив команду CreateState → Empty при помощи правой кнопки мыши. Нам будет удобно, если по умолчанию, когда игрок не вводит никаких команд, персонаж будет продолжать бег, поэтому назовем его Run. Добавим в созданном состоянии в поле Motion анимацию бега, выбрав её из списка либо перетащив мышкой, а также слегка увеличим скорость воспроизведения в поле Speed. От состояния Entry создадим переход в состояние Run с помощью контекстного меню первого. Пункт Make Transition создаст стрелочку-указатель, который мы вручную присоединим ко новому состоянию.

Теперь создадим ещё 2 состояния для прыжка и подката — Jump и Slide соответственно. Назначим им одноименные анимации, а также переходы с состоянием Run, как прямые, так и обратные. Переходы послужат нам не только полезным инструментом для сглаживания двух перетекающих анимаций, но и укажут условия смены состояний. Чтобы управлять переходами, придётся создать две булевых переменных jump и slide в параметрах аниматора. Для этого необходимо во вкладке Parameters окна Animator кликнуть на символ «+».


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






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

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

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

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