В данной статье я бы хотел затронуть чисто теоретические основы 3D-моделирования, так как этот процесс занимает довольно много времени, не всегда проходит у меня гладко, да и слишком долго. Скриншоты к данной статье буду брать иногда из интернета, иногда какие-то свои (если найду что-то)
И так, переходя ближе к теме своей статьи, хотел бы упомянуть сразу, что я рассказываю о 3д-моделировании игрового персонажа и модели оружия одновременно.
P.S. - превью с небольшим фрагментом моей работы.
И так, минутка просвящения. Есть множество способов, алгоритмов создания 3D модели, я буду стараться как-то логично всё расположить разжёвывать все моменты поступательно.
Существует 2 основных метода: векторный и полигональный. Немного нудятины:
- Вершины- точки, что содержат прямую информацию о ориентации составной части модели в 3D пространстве.
- Ребро- отрезок, что соединяет в себе 2 вершины.
- Грани, рабочая поверхность - компановка ребёр, что создают замкнутое пространство.
- Полигоны- основной "кирпичик" камнестроения нашей 3д-модели. Это совокупность граней, он чаще всего выглядит как треугольник или прямоугольник. Полигоны динамичны и могут иметь разные размеры, не пугайтесь деформации, но следите за соблюдением логики.
- Плоскость, поверхность- совокупность полигонов, представляют саму модель. Поверхности привязаны к нашим рабочим осям и выдают нам общий вид с разных ракурсов.
С новыми знаниями едем далее ->
В полигональном методе мы создаём полигоны самостоятельно, путём создания граней, а грани созданием вершин.
Итог: Долго, сложно, но надёжно.
Объектный:
Создание модели путём деформации объектов (примитивов). Условно, набросать на рабочее поле всякие сферы, цилиндры и тому подобное, а потом их деформировать в нужную вам композицию.
Итог: Странно, но своих последователей этот метод всегда находит.
Рисование:
Довольно частый метод, возможно самый частый. Буквально рисуем полигонами необходимые нам формы. Данный способ плох своей низкой точностью работы и малым кол-вом полигонов.
Скульптинг: Лепка из притива, расскажу о нём немного ниже.
А теперь начнём подробнее, пошаговое создание 3D модели с 0.
1. Концепты и дизайн (Наш заготовительный этап)
На данном этапе нужно максимально чётко и грамотно продумать как будет выглядеть ваша игровая модель. Допустим, что вам пришла классная идея, которую вы захотели реализовать. На данном этапе вам нужно реализовать 80-100% вашей идеи на бумаге. Почему так много? Потому что это основная наработка, на которую вы опираетесь в дальнейшем. Допустимы маленькие правки, но не глобальная смена направления, потому заранее продумайте всё и нанесите эскизы. Данный этап создаёт построение грамотного плана, которому вы будете следовать.
2. HighPoly
На данном этапе нужно создать максимально детализированную 3D-модель. Как понять детализированную, если мы ещё не пришли к текстурам? Все рельефные участки сделать максимально плавными и чёткими без сглаживаний, всё элементы и тд. Чем больше полигонов, детализации и плавности - тем лучше. Количество ваших полигонов на этой стадии может исчисляться миллионами и это отлично, когда в финале получатся всего лишь десятки тысяч, но об этом чуть позже.
2 способа для реализации есть - Скульптинг и ХS (hard surface)
Скульптинг - больше напоминает лепку и работу с глиной, вы оперируете сразу группой полигонов как вам угодно. Это метод придания объёма вдавливанием и наращиванием объёма. Из минусов можно отметить высокое сглаживание и низкую точность работы.
Hard Surface (твердотельное моделирование) - это управление каждым полигоном в отдельности, более тонкая работа так сказать, но и более геморойная, требуется для максимальной детализации.
Как выглядит хайполи? Примерно так ->
3. Репотология (lowpoly)
Всё замечательно, но вы и движок не сможете обработать несколько миллионов полигонов, потому вам теперь требуется сжать вашу модель до приемлемых размеров движка и удобных вам. Нужно же ещё анимировать и текстурировать всё это))
Это требуется для построения более грамотной и упрощённой сетки с анимированием и текстурированием. В противном случае, вы ошалеете от масштабов происходящих событий. Нужно вручную всё перестроить так, чтобы оно сжалось, но качество не сильно пострадало. Некоторые моменты рельефа можно убрать полностью или свести к минимуму (например шрамы, неглубокие узоры или что-то подобное), так как мы это сделаем текстурным методом. Каким образом? На это у нас есть текстурные карты, которые я описывал в статье "Как создать скин?".
По сути, можно обойтись и без хайполи. Делать сразу в лоуполи, но карты придётся делать фактически с 0.
А вот так выглядит на lowpoly (это нормально, так всегда выглядит неказисто :D) ->
4. Развёртка
Необходимо нанести все части нашего меша, варфрейма, как угодно назовите на 1 единную плоскость. Когда вы смотрите на свою 3d модель, то вы видите её не полностью, а только под требуемым вам углом, некоторые части скрыты от вашего обзора. Развёртка данный момент исправляет, вы видите разом все части и детали вашей модели. Развёртку можно делить для удобства на несколько файлов, а можно и на один. Необходимо не забывать, что будут образовываться швы, которые нужно прятать грамотным расположением мешей на развёртке и потом текстурно их ещё скрыть.
Развёртка выглядит примерно так (это уже с текстурой)->
5. Запекание карт
Поскольку наша модель неполностью детализирована в виду сжатия, не полностью будет текстурирована в виду оптимизации, то нам нужно будет вводить дополнительные карты.
Я рассказал о них подробно в статье "Как создать скин?". Для 5-го этапа лучше всего подойдёт - Substance Painter или 3D Coat. Добавляем в программу hp и lp, форматируем и экспортируем наши карты.
6. Текстуринг
Я рассказал об этом подробно в статье "Как создать скин?".
Тут же у нас есть целых 2 варианта, как же всё это выполнить.
3д - рисовка, непосредственно по 3д модели (лучше всего в 3D Coat и Substance Painter)
2д - рисовка, поскольку наша развёртка уже готова, то можно создавать 3д проекции или же рисовать прямо по развёртке в фотошопе.
Я лично пользуюсь обоими методами, но преимущественно 3д рисованием. Это более удобно, наглядно и легче в ориентировании. Однако, часто возникают моменты, когда на 3д рисовать под определёнными углами неудобно, тогда перехожу на рисование на самой развёртке с помощью фотошопа. В 3D Coat есть возможность взаимодействия с фотошопом и кооперативной работы 2 программ.
7. Риггинг (танцы на костях)
Создание скелета для вашей модели, привязка скелета к определённой группе полигонов. Допустим, что мы создали скелет для руки, то вершина скелета локтя к группе полигонов локтя, а не предплечья и всё в подобном стиле.
Если это модель персонажа - полностью воссоздать скелет для анимаций.
Если это модель оружия - обозначить вершину, что привязывается к оружию, вершину взгляда, вершину тела, добавить вершины затворов и прочего, а так же добавить сами руки и кости к ним, дабы всё это анимировать.
Покажу нагляднее на примере гуманоидной модели ->
8. Скиннинг (вызов экзоциста, ибо там будут демонические движения)
Это этап взаимосвязи вашей сетки с вершинами, условно, как сильно будет влиять какая-то вершина на участок тела. Можно сказать, что вы немного расширяете вашу привязку к кости, дабы анимации грамотно взаимодействовали. Условно, чтобы повернуть рукой у вас задействуется локоть, то должна далее взаимодействовать вся рука, а не отдельно локоть уедет, а рука останется в прежнем положении.
9. Анимирование
Тут и так понятно, чем мы будем заниматься. Вдыхать жизнь в ваше творение, по сути это финальный этап создания вашей модели. Покадровое воссоздание мельчайших действий вашей модели. Чем больше кадров - тем лучше, вы получите более мягкую, плавную и реалистичную анимацию.
Это можно делать покадрово (для мазохистов), а большая часть людей задаёт промежуточные точки и программа сама дописывает недостающие кадры.
10. Сборка (компиляция)
Процесс компиляции всех составных частей вашей модели (референса, анимаций, физики и всего, что требует в сборку движок)
В рамках CSS, CSGO можно использовать Crowbar или SDK.
Для других игр смотря что требуется движку.
Эпилог:
Вы получили подробный гайд и пояснение как, что и чем работать, когда вам о подобном никто более не рассказывал. Вот вам толчок для движения. Более того, я тут затронул не только темматику КС, но и более сложные движки. По такой системе можно делать и для UE4 и тд.
От вас же требуется написать ваше мнение о гайде в комментариях и поставить + в репутацию. Скоро будет гайд о текстурировании.
Для 1-го этапа подойдёт - обычная бумага и карандаш или же фотошоп, если так удобнее.
Для 2-го этапа подойдёт - я использую 3D Coat и Blender 3D, можно использовать Milkshape 3D, Blender 3D, 3D Max.
Для 3-го этапа подойдёт - 3D Coat, как по мне, то самая удобная программа для данного шага, да и в целом универсальна. Можно использовать как аналог 3D Max или Blender 3D.
Для 4-го этапа подойдёт - 3D Coat, Milkshape 3D, Blender 3D, 3D Max.
Для 5-го этапа лучше всего подойдёт - Substance Painter.
Для 6-го этапа - 3D coat, Photoshop,Substance Painter..
Для 7-го этапа - Blender 3D, 3D Max.
Для 8-го этапа- 3D Max, Blender 3D,Milkshape 3D.
Для 9-го этапа - Blender 3D, Maya, Source Filmmaker, Cinema 4D, 3D Coat.
Для 10-го этапа - Crowbar и SDK.
И так, переходя ближе к теме своей статьи, хотел бы упомянуть сразу, что я рассказываю о 3д-моделировании игрового персонажа и модели оружия одновременно.
P.S. - превью с небольшим фрагментом моей работы.
И так, минутка просвящения. Есть множество способов, алгоритмов создания 3D модели, я буду стараться как-то логично всё расположить разжёвывать все моменты поступательно.
Существует 2 основных метода: векторный и полигональный. Немного нудятины:
- Вершины- точки, что содержат прямую информацию о ориентации составной части модели в 3D пространстве.
- Ребро- отрезок, что соединяет в себе 2 вершины.
- Грани, рабочая поверхность - компановка ребёр, что создают замкнутое пространство.
- Полигоны- основной "кирпичик" камнестроения нашей 3д-модели. Это совокупность граней, он чаще всего выглядит как треугольник или прямоугольник. Полигоны динамичны и могут иметь разные размеры, не пугайтесь деформации, но следите за соблюдением логики.
- Плоскость, поверхность- совокупность полигонов, представляют саму модель. Поверхности привязаны к нашим рабочим осям и выдают нам общий вид с разных ракурсов.
С новыми знаниями едем далее ->
В полигональном методе мы создаём полигоны самостоятельно, путём создания граней, а грани созданием вершин.

Объектный:
Создание модели путём деформации объектов (примитивов). Условно, набросать на рабочее поле всякие сферы, цилиндры и тому подобное, а потом их деформировать в нужную вам композицию.
Итог: Странно, но своих последователей этот метод всегда находит.
Рисование:
Довольно частый метод, возможно самый частый. Буквально рисуем полигонами необходимые нам формы. Данный способ плох своей низкой точностью работы и малым кол-вом полигонов.
Скульптинг: Лепка из притива, расскажу о нём немного ниже.
А теперь начнём подробнее, пошаговое создание 3D модели с 0.
1. Концепты и дизайн (Наш заготовительный этап)
На данном этапе нужно максимально чётко и грамотно продумать как будет выглядеть ваша игровая модель. Допустим, что вам пришла классная идея, которую вы захотели реализовать. На данном этапе вам нужно реализовать 80-100% вашей идеи на бумаге. Почему так много? Потому что это основная наработка, на которую вы опираетесь в дальнейшем. Допустимы маленькие правки, но не глобальная смена направления, потому заранее продумайте всё и нанесите эскизы. Данный этап создаёт построение грамотного плана, которому вы будете следовать.
2. HighPoly
На данном этапе нужно создать максимально детализированную 3D-модель. Как понять детализированную, если мы ещё не пришли к текстурам? Все рельефные участки сделать максимально плавными и чёткими без сглаживаний, всё элементы и тд. Чем больше полигонов, детализации и плавности - тем лучше. Количество ваших полигонов на этой стадии может исчисляться миллионами и это отлично, когда в финале получатся всего лишь десятки тысяч, но об этом чуть позже.
2 способа для реализации есть - Скульптинг и ХS (hard surface)
Скульптинг - больше напоминает лепку и работу с глиной, вы оперируете сразу группой полигонов как вам угодно. Это метод придания объёма вдавливанием и наращиванием объёма. Из минусов можно отметить высокое сглаживание и низкую точность работы.
3. Репотология (lowpoly)
Всё замечательно, но вы и движок не сможете обработать несколько миллионов полигонов, потому вам теперь требуется сжать вашу модель до приемлемых размеров движка и удобных вам. Нужно же ещё анимировать и текстурировать всё это))
Это требуется для построения более грамотной и упрощённой сетки с анимированием и текстурированием. В противном случае, вы ошалеете от масштабов происходящих событий. Нужно вручную всё перестроить так, чтобы оно сжалось, но качество не сильно пострадало. Некоторые моменты рельефа можно убрать полностью или свести к минимуму (например шрамы, неглубокие узоры или что-то подобное), так как мы это сделаем текстурным методом. Каким образом? На это у нас есть текстурные карты, которые я описывал в статье "Как создать скин?".
По сути, можно обойтись и без хайполи. Делать сразу в лоуполи, но карты придётся делать фактически с 0.
А вот так выглядит на lowpoly (это нормально, так всегда выглядит неказисто :D) ->
4. Развёртка
Необходимо нанести все части нашего меша, варфрейма, как угодно назовите на 1 единную плоскость. Когда вы смотрите на свою 3d модель, то вы видите её не полностью, а только под требуемым вам углом, некоторые части скрыты от вашего обзора. Развёртка данный момент исправляет, вы видите разом все части и детали вашей модели. Развёртку можно делить для удобства на несколько файлов, а можно и на один. Необходимо не забывать, что будут образовываться швы, которые нужно прятать грамотным расположением мешей на развёртке и потом текстурно их ещё скрыть.
Развёртка выглядит примерно так (это уже с текстурой)->
5. Запекание карт
Поскольку наша модель неполностью детализирована в виду сжатия, не полностью будет текстурирована в виду оптимизации, то нам нужно будет вводить дополнительные карты.
Я рассказал о них подробно в статье "Как создать скин?". Для 5-го этапа лучше всего подойдёт - Substance Painter или 3D Coat. Добавляем в программу hp и lp, форматируем и экспортируем наши карты.
6. Текстуринг
Я рассказал об этом подробно в статье "Как создать скин?".
Тут же у нас есть целых 2 варианта, как же всё это выполнить.
3д - рисовка, непосредственно по 3д модели (лучше всего в 3D Coat и Substance Painter)
2д - рисовка, поскольку наша развёртка уже готова, то можно создавать 3д проекции или же рисовать прямо по развёртке в фотошопе.
Я лично пользуюсь обоими методами, но преимущественно 3д рисованием. Это более удобно, наглядно и легче в ориентировании. Однако, часто возникают моменты, когда на 3д рисовать под определёнными углами неудобно, тогда перехожу на рисование на самой развёртке с помощью фотошопа. В 3D Coat есть возможность взаимодействия с фотошопом и кооперативной работы 2 программ.
7. Риггинг (танцы на костях)
Создание скелета для вашей модели, привязка скелета к определённой группе полигонов. Допустим, что мы создали скелет для руки, то вершина скелета локтя к группе полигонов локтя, а не предплечья и всё в подобном стиле.
Если это модель персонажа - полностью воссоздать скелет для анимаций.
Если это модель оружия - обозначить вершину, что привязывается к оружию, вершину взгляда, вершину тела, добавить вершины затворов и прочего, а так же добавить сами руки и кости к ним, дабы всё это анимировать.
Покажу нагляднее на примере гуманоидной модели ->
8. Скиннинг (вызов экзоциста, ибо там будут демонические движения)
Это этап взаимосвязи вашей сетки с вершинами, условно, как сильно будет влиять какая-то вершина на участок тела. Можно сказать, что вы немного расширяете вашу привязку к кости, дабы анимации грамотно взаимодействовали. Условно, чтобы повернуть рукой у вас задействуется локоть, то должна далее взаимодействовать вся рука, а не отдельно локоть уедет, а рука останется в прежнем положении.
9. Анимирование
Тут и так понятно, чем мы будем заниматься. Вдыхать жизнь в ваше творение, по сути это финальный этап создания вашей модели. Покадровое воссоздание мельчайших действий вашей модели. Чем больше кадров - тем лучше, вы получите более мягкую, плавную и реалистичную анимацию.
Это можно делать покадрово (для мазохистов), а большая часть людей задаёт промежуточные точки и программа сама дописывает недостающие кадры.
10. Сборка (компиляция)
Процесс компиляции всех составных частей вашей модели (референса, анимаций, физики и всего, что требует в сборку движок)
В рамках CSS, CSGO можно использовать Crowbar или SDK.
Для других игр смотря что требуется движку.
Эпилог:
Вы получили подробный гайд и пояснение как, что и чем работать, когда вам о подобном никто более не рассказывал. Вот вам толчок для движения. Более того, я тут затронул не только темматику КС, но и более сложные движки. По такой системе можно делать и для UE4 и тд.
От вас же требуется написать ваше мнение о гайде в комментариях и поставить + в репутацию. Скоро будет гайд о текстурировании.
Для 1-го этапа подойдёт - обычная бумага и карандаш или же фотошоп, если так удобнее.
Для 2-го этапа подойдёт - я использую 3D Coat и Blender 3D, можно использовать Milkshape 3D, Blender 3D, 3D Max.
Для 3-го этапа подойдёт - 3D Coat, как по мне, то самая удобная программа для данного шага, да и в целом универсальна. Можно использовать как аналог 3D Max или Blender 3D.
Для 4-го этапа подойдёт - 3D Coat, Milkshape 3D, Blender 3D, 3D Max.
Для 5-го этапа лучше всего подойдёт - Substance Painter.
Для 6-го этапа - 3D coat, Photoshop,Substance Painter..
Для 7-го этапа - Blender 3D, 3D Max.
Для 8-го этапа- 3D Max, Blender 3D,Milkshape 3D.
Для 9-го этапа - Blender 3D, Maya, Source Filmmaker, Cinema 4D, 3D Coat.
Для 10-го этапа - Crowbar и SDK.