Парочка слов о том "Как лучше начать разработку 3D игр"
Добрый денёк броняши! Сегодня я хочу затронуть необычную сферу на нашем табуне, касаемую разработке полноценных и качественных 3D проектов. Перечислю основные термины и сферы которые нужно будет знать начиная работать в геймдеве исходя из личного опыта
Если мы хотим с чего-то начать, то нужно знать хотябы минимум того что будет в обязательном порядке необходимо каждому.
Для начала нужно определится с платформой, на которой вы хотите базировать проект.
В моём случае это PC, Linux, Android, Xbox One. Также нужно было определится с внешним видом. В данный момент наиболее технологически развиваемый движок к тому-же бесплатный и с открытыми исходниками, полноценной документацией, огромным количеством уроков и поддержкой VR(Очков виртуальной реальности) является Unreal Engine 4. Он имеет бесподобный рендер совмещающий в себе практически все достижения человечества в плане визуализации, а также поддержку Linux(что для меня наиболее важно)
Теперь когда вы немного узнали об «Unreal Engine 4», прежде всего нужно понимать из чего состоят игры. А вот состоят они из различного рода контента, который вам надо будет описать подробно в виде дизайнерского документа, а диздок в свою очередь является библиотекой технических заданий имеющих специфическое оформление, а также идею вашей игры которую вы можете изложить и подать команде отдельно от ТЗ в диздоке, вот вам ссылка на форму его составления: vk.com/doc223617746_367141097
Он в свою очередь должен описывать то что нужно будет делать в игре:
1)Скрипты
2)Модели
3)Анимации
4)Аудиотреки
5)Текстуры
Все эти области на деле не такие простые как может показаться по одиноким названиям, потому бежать и пытаться охватить всё сразу не стоит. Успехом это увы не удастся закончить. Надо создать подробную схему, которая будет описывать подробности каждой мелочи которая ежедневно используется разработчиками всего мира.
Начнём пожалуй с программной части.
В нашем случае мы уже изначально имеем доступ к библиотекам движка и то как с ними обходится мы можем узнать из документации движка или используя дословный перевод(предназначение большинства функций можно понять имея базовые навыки английского)
В Unreal Engine 4 мы можем работать в двух средах:
1)Использовать Blueprint — Средство визуального программирования игровых ассетов на упрощённой основе(Идеально для новичков в сфере программирования)
2)Использовать C++ — Письменную среду программирования, которую нельзя назвать простой, но всё облегчает прилегающий к движку API(Дедушкин метод, чуть сложнее)
Если вы сделали свой выбор, то думаю вам самое время записать это себе в список дел! Изучение этой области необходимо(Особенно когда делаешь игру один)!
Теперь когда вы определились с тем каким способом программировать, приступим к Моделированию
Оно нам нужно для того, чтобы игра была наполнена окружением: персонажами, зданиями, обьектами интерьера и т.п.
Данная сфера включает в себя:
1)HardSurface modelling
2)Retopology
3)Sculpt
4)Model Baking
5)Знание тонкостей форматов моделей(3ds, fbx, obj, mdl, max и т.п.)
6)Умение работать с «копланарным» или изометрическим видом для работы с чертежами (Isometry)
7)Знание инструментов своего 3D редактора, в нашем случае Blender 3D
8)Умение работать с точными размерами.
9)UNW mapping)
10)Умение работать с нормалями.
11)Знание горячих клавиш.
12)Умение рендерить и настраивать материалы(Для демонстраций)
13)Знание понятия Pivot(центр модели) и то как его изменять на плактике.
Без этих навыков увы, сделать «грамотный» контент будет в разы сложнее, в качестве памятки предлагаю ссылку на таблицу быстрых клавиш(изображение слишком большое на табун не лезет :D ) и уроки из своего информационного ресурса(Ссылка снизу поста):
Теперь когда вы сделали себе заметки о программировании, моделировании. То самое время приступать к освоению текстурирования.
Ведь вы же хотите видеть всё в красках, а не в пустышном(сером) оформлении :)
По этой части могу заранее сообщить то что желательно иметь при себе:
1)Умение хорошо рисовать или обрабатывать фотографии.
2)Умение работать по развёртке которая предоставляется от модели.
3)Умение работать со слоями и инструментами 2D редатора.
4)Quixel Suite — Професиональный плагин созданный специально для работы с текстурами при разработке своих игр!
В данном случае у нас это Photoshop CC, По сути это обычный 2D редактор, но его понять не так то просто по началу.
Потому чтобы научится в нём ориентироватся и работать нужно знать опять-же:
1)Форматы и их свойства.
2)Растровый и векторный тип изображений.
3)«Горячие клавиши».
4)Инструменты.
5)Свойство гармонии цветов. Аля спасибо Дэши за знание радуги!
Вот видео пособие работы с Quixel Suite:
В наше время многие дизайнеры работающие в этом редакторе стремятся помочь людям освоить Photoshop CC
Потому оставлю ссылку на один хороший ресурс
И пожалуй памятку по быстрым клавишам:
Ну теперь по поводу анимаций.
Они у нас бывают со своим определённым составом:
1)Модели
2)Кости
3)Модификаторы костей
4)Хелперы
и могут использовать различные технологии анимаций:
1)Статичная кинематика(Static Kinemation | SK)
2)Инверсивная кинематика(Inversive Kinemation | IK)
Теперь к списку вещей необходимых познанию перед тем как приступать к анимациям:
1)Умение работать с картой весов, и использовать её для «крепления» костей
2)Заблаговременно делать на модели хорошую ретопологию для более реалестичного вида анимаций на подвижных частях тела.
3)Умение создавать контроллеры для создания реалестичной анимации.
Могу сразу сказать что времена когда использовали статичную кинематику уже давно прошли, потому можно её сразу бросить чтобы не наступать на мои грабли ;) вот по этой причине:
Статичная кинематика позволяла делать анимации двигая каждую кость отдельно, в игре любая анимация могла бы пропихнуть конечности через стены, ступеньки(Пример: Fallout 3).
И вот чтобы этот недуг исправить придумали инверсивную кинематику. Благодоря инверсивной кинематики, теперь не обязательно править каждую кость. Можно потянуть за одну, а за ней потянутся другие, что добавило как-раз таки удобства.
Также не менее важной деталью инверсивной кинематики в геймдеве являются «хелперы»
Они являются координирующими пустышками которые помогают нам после написания IK контроллера цеплятся конечностями за определённые предметы без проникновения внутрь модели, а также прицеплять различное обмундирование нашему персонажу(хотя обмундировку персонажа лучше крепить к костям)
Вот немного вам небольшая линейка уроков по этой части:
И краткая статейка по созданию персонажа для тех кто этого никогда не делал:
habrahabr.ru/post/230081/
Так как я со звуком работаю не очень хорошо, советую об этом спросить наших местных брони исполнителей :)
(Вы же надеюсь знаете их, на табуне много талантов)
Всё сразу вам никто не покажет(Просто невозможно всё показать в пределах даже 2 часов), потому я оставил вам заметки на английском для быстрого поиска пособий по отдельности, на Youtube.
Но так как я в данный момент CG специалист(cо стажем работы в 4 года), веду разработку над грядущим проектами: «StarWars: Republic Comando 2»,«Blow it»,«This Gray World»,«Equestrian Mainline Project»,«Milfin 3.0». Передо-мной возникла такая вот задача, буквально с самого начала. Большая часть людей которых принимали в команды, имели лишь начальный опыт. Для того чтобы им помочь освоить многие сферы в геймдеве, я создал место в которое собрал множество уроков и пособий по:
1)Unreal Engine 4
2)Unreal Engine 4 — Blueprint
3)C++
4)Blender 3D
5)ZBrush
Если мы хотим с чего-то начать, то нужно знать хотябы минимум того что будет в обязательном порядке необходимо каждому.
Для начала нужно определится с платформой, на которой вы хотите базировать проект.
В моём случае это PC, Linux, Android, Xbox One. Также нужно было определится с внешним видом. В данный момент наиболее технологически развиваемый движок к тому-же бесплатный и с открытыми исходниками, полноценной документацией, огромным количеством уроков и поддержкой VR(Очков виртуальной реальности) является Unreal Engine 4. Он имеет бесподобный рендер совмещающий в себе практически все достижения человечества в плане визуализации, а также поддержку Linux(что для меня наиболее важно)
Теперь когда вы немного узнали об «Unreal Engine 4», прежде всего нужно понимать из чего состоят игры. А вот состоят они из различного рода контента, который вам надо будет описать подробно в виде дизайнерского документа, а диздок в свою очередь является библиотекой технических заданий имеющих специфическое оформление, а также идею вашей игры которую вы можете изложить и подать команде отдельно от ТЗ в диздоке, вот вам ссылка на форму его составления: vk.com/doc223617746_367141097
Он в свою очередь должен описывать то что нужно будет делать в игре:
1)Скрипты
2)Модели
3)Анимации
4)Аудиотреки
5)Текстуры
Все эти области на деле не такие простые как может показаться по одиноким названиям, потому бежать и пытаться охватить всё сразу не стоит. Успехом это увы не удастся закончить. Надо создать подробную схему, которая будет описывать подробности каждой мелочи которая ежедневно используется разработчиками всего мира.
Начнём пожалуй с программной части.
В нашем случае мы уже изначально имеем доступ к библиотекам движка и то как с ними обходится мы можем узнать из документации движка или используя дословный перевод(предназначение большинства функций можно понять имея базовые навыки английского)
В Unreal Engine 4 мы можем работать в двух средах:
1)Использовать Blueprint — Средство визуального программирования игровых ассетов на упрощённой основе(Идеально для новичков в сфере программирования)
2)Использовать C++ — Письменную среду программирования, которую нельзя назвать простой, но всё облегчает прилегающий к движку API(Дедушкин метод, чуть сложнее)
Если вы сделали свой выбор, то думаю вам самое время записать это себе в список дел! Изучение этой области необходимо(Особенно когда делаешь игру один)!
Теперь когда вы определились с тем каким способом программировать, приступим к Моделированию
Оно нам нужно для того, чтобы игра была наполнена окружением: персонажами, зданиями, обьектами интерьера и т.п.
Данная сфера включает в себя:
1)HardSurface modelling
2)Retopology
3)Sculpt
4)Model Baking
5)Знание тонкостей форматов моделей(3ds, fbx, obj, mdl, max и т.п.)
6)Умение работать с «копланарным» или изометрическим видом для работы с чертежами (Isometry)
7)Знание инструментов своего 3D редактора, в нашем случае Blender 3D
8)Умение работать с точными размерами.
9)UNW mapping)
10)Умение работать с нормалями.
11)Знание горячих клавиш.
12)Умение рендерить и настраивать материалы(Для демонстраций)
13)Знание понятия Pivot(центр модели) и то как его изменять на плактике.
Без этих навыков увы, сделать «грамотный» контент будет в разы сложнее, в качестве памятки предлагаю ссылку на таблицу быстрых клавиш(изображение слишком большое на табун не лезет :D ) и уроки из своего информационного ресурса(Ссылка снизу поста):
Теперь когда вы сделали себе заметки о программировании, моделировании. То самое время приступать к освоению текстурирования.
Ведь вы же хотите видеть всё в красках, а не в пустышном(сером) оформлении :)
По этой части могу заранее сообщить то что желательно иметь при себе:
1)Умение хорошо рисовать или обрабатывать фотографии.
2)Умение работать по развёртке которая предоставляется от модели.
3)Умение работать со слоями и инструментами 2D редатора.
4)Quixel Suite — Професиональный плагин созданный специально для работы с текстурами при разработке своих игр!
В данном случае у нас это Photoshop CC, По сути это обычный 2D редактор, но его понять не так то просто по началу.
Потому чтобы научится в нём ориентироватся и работать нужно знать опять-же:
1)Форматы и их свойства.
2)Растровый и векторный тип изображений.
3)«Горячие клавиши».
4)Инструменты.
5)Свойство гармонии цветов. Аля спасибо Дэши за знание радуги!
Вот видео пособие работы с Quixel Suite:
В наше время многие дизайнеры работающие в этом редакторе стремятся помочь людям освоить Photoshop CC
Потому оставлю ссылку на один хороший ресурс
И пожалуй памятку по быстрым клавишам:
Ну теперь по поводу анимаций.
Они у нас бывают со своим определённым составом:
1)Модели
2)Кости
3)Модификаторы костей
4)Хелперы
и могут использовать различные технологии анимаций:
1)Статичная кинематика(Static Kinemation | SK)
2)Инверсивная кинематика(Inversive Kinemation | IK)
Теперь к списку вещей необходимых познанию перед тем как приступать к анимациям:
1)Умение работать с картой весов, и использовать её для «крепления» костей
2)Заблаговременно делать на модели хорошую ретопологию для более реалестичного вида анимаций на подвижных частях тела.
3)Умение создавать контроллеры для создания реалестичной анимации.
Могу сразу сказать что времена когда использовали статичную кинематику уже давно прошли, потому можно её сразу бросить чтобы не наступать на мои грабли ;) вот по этой причине:
Статичная кинематика позволяла делать анимации двигая каждую кость отдельно, в игре любая анимация могла бы пропихнуть конечности через стены, ступеньки(Пример: Fallout 3).
И вот чтобы этот недуг исправить придумали инверсивную кинематику. Благодоря инверсивной кинематики, теперь не обязательно править каждую кость. Можно потянуть за одну, а за ней потянутся другие, что добавило как-раз таки удобства.
Также не менее важной деталью инверсивной кинематики в геймдеве являются «хелперы»
Они являются координирующими пустышками которые помогают нам после написания IK контроллера цеплятся конечностями за определённые предметы без проникновения внутрь модели, а также прицеплять различное обмундирование нашему персонажу(хотя обмундировку персонажа лучше крепить к костям)
Вот немного вам небольшая линейка уроков по этой части:
И краткая статейка по созданию персонажа для тех кто этого никогда не делал:
habrahabr.ru/post/230081/
Так как я со звуком работаю не очень хорошо, советую об этом спросить наших местных брони исполнителей :)
(Вы же надеюсь знаете их, на табуне много талантов)
Всё сразу вам никто не покажет(Просто невозможно всё показать в пределах даже 2 часов), потому я оставил вам заметки на английском для быстрого поиска пособий по отдельности, на Youtube.
Но так как я в данный момент CG специалист(cо стажем работы в 4 года), веду разработку над грядущим проектами: «StarWars: Republic Comando 2»,«Blow it»,«This Gray World»,«Equestrian Mainline Project»,«Milfin 3.0». Передо-мной возникла такая вот задача, буквально с самого начала. Большая часть людей которых принимали в команды, имели лишь начальный опыт. Для того чтобы им помочь освоить многие сферы в геймдеве, я создал место в которое собрал множество уроков и пособий по:
1)Unreal Engine 4
2)Unreal Engine 4 — Blueprint
3)C++
4)Blender 3D
5)ZBrush
67 комментариев
Перед первой картинкой, например.
А что за игры то?
Извиняюсь.
+ метки из него на инглише спокойно можно юзать как теги для поиска учебного материала
А почитать комментарии, так мудрец, провидец, новый Платон и Сократ, еще и дополняют.
#суровость
У всех действительно разное восприятие, но здесь зависит также какой рассказ вы прочитали, и какие игры ему противопоставляете. Не всё можно сравнивать. К примеру, Антропология для меня — абсолютный шедевр, но и Dishonored для меня шедевр. Но я даже не могу чётко определить критерии сравнения. Это совсем разные вещи.
Не знаю, как разница в восприятии, но я рекомендую вам такой проект, как Octavia in the underworld cello. Пиксельный двухмерный квест от одного разработчика, но по-моему он вполне может претендовать на звание если не Игра года, то что-то схожее. К сожалению, сейчас доступна только демо-версия 2.0, но разработка идёт.
i.imgur.com/nnc7p33.jpg
Увы я в EquGames человек последний. Хотя по опыту и большинство обгоняю.
Это я к тому веду, что, на мой взгляд, выбор таких сред в качестве инструмента для обучения может показаться новичку сложным и порядочно деморализовать. Было бы неплохо дополнить повествование примерами более простых движков, которые будут пусть и в меньшей степени, но тоже раскрывать перечисленные в статье темы, такие как кодинг, моделирование и.т.п.
Очень слабо верится. Такие колоссальные продукты нереально изучить за один день. Конечно, если ты — не великий гений. Впрочем, не факт, что даже в таком случае.
Это если _действительно_ подумать.
Впрочем, если речь идет о гуишных функциях редактора — я могу допустить, что по аналогии с другими подобными средами, ты действительно схватил все быстро.
Но гайд-то ты делаешь для новичков в этой сфере. Судить их потенциальные успехи по своим собственным — не самое лучшее дело.
Так что я бы все же добавил краткие описания более простых альтернатив.
Хотя, казалось бы, там же тупо проджекшн идёт на геометрию. Почему сразу нельзя было кольцами всё ложить.
буду пытаться сделать кьютимарку игродела! :D
Таки его собираются делать? Серьезно? Было бы здорово.
Группа проекта:
vk.com/swrcommando_2
Группа команды
vk.com/nightlight_games
Сайт команды в разработке (пока не кем не юзается кроме меня xD )
nlg-develop.zz.vc/
Хотя концепцию не понял.
Раньше тоже думал, что создать игру — не сложнее, чем запилить full-cg-сцену. Сейчас понимаю, что чисто технически создать игру гораздо сложнее, чем спецэффекты для фильма. Очень много возни с ригом и анимацией. Очень много скриптовой писанины. Запекание текстур, грамотно порезать UV-шки. Кошмар же. Даром, что сегодня за топологию можно особо не беспокоиться, дижок схавает всё, переварив в треугольники на автомате. Движки-процедурники типа Эйфории и Эндорфина помогают с анимацией, но… Свои «но» тоже есть :)