Вступление
Привет, друзья! В этом цикле статей я максимально подробно буду рассказывать о процессе разработки игры на UE – SuperIndustry. Вы сможете на моем примере познать процесс разработки 3D игры на UE. Вкратце про игру: Представьте гибрид Oxygen not included и Satisfactory, в далеком будущем и на специфичной экзо планете. В игре будет простенький сюжет, который будет повествоваться через своеобразный дневник. Главная цель – улететь с планеты (либо же остаться на ней, и немного поиграв дойти до второй, более загадочной и неоднозначной концовки)
![](https://habrastorage.org/getpro/habr/upload_files/302/0be/268/3020be26820e1fb87df8022c3960e67f.png)
Начало разработки
Эта игра, в отличии от предыдущей на блюпринтах (https://omega-quality.itch.io/overkill), будет написана на c++, который я недавно начал изучать. Во время изучения плюсов я буду реализовывать в игре простенькие фичи, не требующие написания кода.
Первым делом я решил настроить освещение и персонажа. (Конечно же, не без проблем).
![До До](https://habrastorage.org/getpro/habr/upload_files/601/edc/9e7/601edc9e7f5b3a16e767a1d6565b62a2.png)
![](https://habrastorage.org/getpro/habr/upload_files/333/017/cb1/333017cb1d3b496823cbd6731650e140.png)
![После После](https://habrastorage.org/getpro/habr/upload_files/eb3/09e/ffc/eb309effc6fc774cfa05d855168842fd.png)
Освещение меня устраивает, но облака… мягко говоря не очень.
![Новый вариант Новый вариант](https://habrastorage.org/getpro/habr/upload_files/430/953/877/4309538771a72646b08414d185b0cebf.png)
Теперь нужно сделать картинку более сочной.
![](https://habrastorage.org/getpro/habr/upload_files/98c/ac4/35a/98cac435ad9abc5d341a7cca246b9823.png)
С визуалом пока что все.
Далее я решил поменять персонажа с манекена на космонавта. На скетчфабе я нашел вот такую бесплатную модельку космонавта (Еще и с ригом!).
![](https://habrastorage.org/getpro/habr/upload_files/b9c/185/cf5/b9c185cf56a2f7b17328ad70aa1d3237.png)
Джекпот! – подумал я, но приключения только начинаются! Вместе с этой моделькой я отправился на Mixamo за анимациями, но он не захотел загружать модельку с ригом. Пришлось через 3д редактор удалять скелет персонажа. И только после этого, моделька успешно загрузилась на Mixamo.
![](https://habrastorage.org/getpro/habr/upload_files/6f4/1dc/088/6f41dc088c0faae1b2183f22ee873bae.png)
После скачивания самых необходимых анимаций настало время импортировать все это в UE. (Добавление анимаций к персонажу в следующем выпуске)
![](https://habrastorage.org/getpro/habr/upload_files/0c5/f04/0ee/0c5f040eeebf143a363533d0420dafba.png)
![:facepalm: :facepalm:](https://habrastorage.org/getpro/habr/upload_files/039/713/8fb/0397138fb8b286eaefb6e94ace4a10e7.png)
Оказалось, что текстуры нужно было импортировать отраженными по вертикали. А понял я это только после того, как посмотрел автоматически импортированные движком текстуры и сравнил их с исходными. Исправленный вариант:
![](https://habrastorage.org/getpro/habr/upload_files/fdf/026/0d4/fdf0260d458825c596f8dd8528d4c8ce.png)
![Космонавт в оригинальном размере XDDD Космонавт в оригинальном размере XDDD](https://habrastorage.org/getpro/habr/upload_files/467/224/0d6/4672240d6717934c7bc99b0104c598d2.gif)
Из небольших изменений: я решил сделать гравитацию более слабой и подвинуть камеру относительно персонажа.
![](https://habrastorage.org/getpro/habr/upload_files/176/dbe/fff/176dbefff622bc2f64363db1cdfae33e.gif)
На очереди главное меню. Я сгенерировал несколько десятков вариаций фона для меню с помощью MidJourney. Во время создания меню ничего интересного не произошло.
![Итоговый результат Итоговый результат](https://habrastorage.org/getpro/habr/upload_files/ec2/cd2/3cb/ec2cd23cb1a3f201615fbcdadd6b2c55.gif)
На текущий момент этого будет достаточно.
Механизмы
Во время изучения плюсов я делал механизмы и писал сюжет. Вкратце про механизмы.
Базовый (Будет несколько уровней механизмов) фундамент. На него можно разместить простые механизмы/
![](https://habrastorage.org/getpro/habr/upload_files/fa1/638/04f/fa163804fe75a15e9d6a0dd144fba605.png)
![](https://habrastorage.org/getpro/habr/upload_files/c06/30b/cf3/c0630bcf39733520b1c4d0fcea746a3d.png)
Базовый полый фундамент. На него можно разместить простые механизмы, требующие под собой пустое пространство (например, карьер).
![](https://habrastorage.org/getpro/habr/upload_files/94e/0fe/bd3/94e0febd34b644565438859b63d67bee.png)
![](https://habrastorage.org/getpro/habr/upload_files/082/46f/4e0/08246f4e04b53093d4bdfa833001c6da.png)
Базовый защитный купол. Простой купол, защищающий от воздействия радиации и ультрафиолета:
![](https://habrastorage.org/getpro/habr/upload_files/65d/242/bc6/65d242bc67ca346c721391b402e6f33f.png)
Базовый кислородный наполнитель. Заправляет баллоны с кислородом.
![](https://habrastorage.org/getpro/habr/upload_files/2a1/202/cb8/2a1202cb8a55259a57612792218f479d.png)
Базовая солнечная панель. Вырабатывает немного электричества.
![](https://habrastorage.org/getpro/habr/upload_files/57e/790/9ec/57e7909ec69a5a84bca4ff812c9b162e.png)
В следующем выпуске мы начнем превращать простые модельки в интерактивные механизмы.
Итог
Вот и подошел к концу первый выпуск. Мы определились с идеей игры, настроили камеру игрока, небо и освещение, удачно импортировали модельку персонажа, настроили гравитацию, закончили работу над частью моделей и начали делать главное меню.
В следующем выпуске
Страшный C++, реализация HUD, анимирование персонажа, новые механизмы.
![](https://habrastorage.org/getpro/habr/upload_files/7e5/d77/cc9/7e5d77cc90e81e959b33f61254c2e230.png)