Обновить
1.8

Unreal Engine *

Популярный игровой движок

Сначала показывать
Порог рейтинга
Уровень сложности

FadeObjects — Скрываем объекты между камерой и персонажем

Время на прочтение6 мин
Охват и читатели7.1K
image

Как-то раз, потребовалось написать модуль для скрытия объектов между камерой и персонажем, либо между несколькими персонажами для RTS игры. Хочу поделиться для тех, кто начал свой путь в Unreal Engine. Данный туториал, если его можно так назвать, будет с использованием С++, но в прилагаемом проекте на github будет вариант и на Blueprint, функционал обоих идентичен.

Видео пример


И так, поехали. Разобьем нашу задачу на несколько мелких:

  1. Получить объекты между камерой и персонажем.
  2. Изменить материал этих объектов на нужный.
  3. Изменить материал обратно на тот что был, если объект не мешает обзору нашего персонажа.

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

PsRealVehicle, или Open Source-плагин физики танков в Armored Warfare: Assault

Время на прочтение7 мин
Охват и читатели9.4K


Пару лет назад нашей команде выпала честь заняться созданием мобильной «Арматы». Придерживаясь правила «делаем игру, а не технологию», прототип мы создавали на том, что уже есть в движке. Это был UE 4.9, в основе физической модели — PhysX Vehicles, и много боли (как по поводу, так и без).


В дальнейшем наша команда создала open source-плагин PsRealVehicle, доступный по MIT лицензии. Этот плагин заточен под физику танков и колесных машинок для высоконагруженных сетевых шутеров, и его работу вы в любой момент можете наблюдать в нашем проекте Armored Warfare: Assault.

Как мы создавали физику и как она работает

Динамическое рисование по мешу в Unreal Engine 4

Время на прочтение8 мин
Охват и читатели15K

В этом туториале по Unreal Engine 4 вы научитесь рисовать цветами по мешу любого типа.

Рисование по мешу позволяет игрокам раскрашивать внутриигровые объекты. Примеры рисования по мешу: граффити (goop) в Super Mario Sunshine, гели в Portal 2 и чернила в Splatoon. Рисование может использоваться как геймплейний элемент или быть просто графическим оформлением. Как бы то ни было, рисование по мешу открывает новые возможности для дизайнеров геймплея и художников.

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

В этом туториале вы узнаете, как рисовать на скелетном меше. Для этого мы сделаем следующе:

  • Развернём меш в его UV-форму
  • Используем точку пересечения трассировки линии для создания сферической маски меша
  • Отрендерим развёрнутый меш и сферическую маску в render target с помощью захвата сцены (scene capture)
  • Используем маску для смешивания текстур в материале персонажа

Учтите, что этот туториал не посвящён рисованию вершин. Рисование вершин зависит от разрешения меша и его невозможно изменять в процессе игры. Используемый в этом туториале метод, напротив, работает вне зависимости от разрешения меша и его можно применять во время игры.
Читать дальше →

Набор инструментов инди-разработчика игр

Время на прочтение7 мин
Охват и читатели20K
Доброго времени суток, начинающие игроделы!

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


Внимание: данный пост не рекламный, это лишь список программ, которые помогают мне в моих проектах.
Читать дальше →

Создание интерактивной травы в Unreal Engine

Время на прочтение10 мин
Охват и читатели28K

До недавнего времени трава в играх обычно обозначалась текстурой на земле, а не рендерингом отдельных стеблей. Но с увеличением мощности железа появилась возможность рендерить траву. Замечательные примеры такого рендеринга можно увидеть в играх наподобие Horizon Zero Dawn и The Legend of Zelda: Breath of the Wild. В этих играх игрок может бродить по травяным лугам, и, что более важно, трава реагирует на действия игрока.

К счастью, создать такую систему не очень сложно. На самом деле, статья научит вас именно этому! В этом туториале вы научитесь следующему:

  • Создавать векторное поле с помощью захвата сцены (scene capture) и системы частиц
  • Сгибать траву от игрока на основании векторного поля
Читать дальше →

Рисование с помощью Render Targets в Unreal Engine

Время на прочтение8 мин
Охват и читатели19K

Render target — это, по сути, текстура, в которую можно выполнять запись во время выполнения приложения. С точки зрения движка они хранят такую информацию, как базовый цвет, нормали и ambient occlusion.

С точки зрения пользователя render target в основном используются в качестве своего рода дополнительной камеры. Можно задать захват сцены (scene capture) в какой-то точке и сохранять изображение в render target. Затем можно отобразить render target на меше, например, для симуляции камеры наблюдения.

После выпуска версии движка 4.13 компания Epic добавила возможность отрисовки материалов непосредственно на render target с помощью блюпринтов. Эта функция позволяет создавать сложные эффекты, например, симуляцию жидкости и деформацию снега. Звучит потрясающе, правда? Но прежде чем переходить к таким сложным эффектам, лучше всего освоиться с чем-то простым. Что может быть проще, чем рисование на render target?

В этом туториале вы научитесь следующему:

  • Динамически создавать render target с помощью блюпринтов
  • Отображать render target на меше
  • Рисовать текстуру на render target
  • Менять размер кисти и текстуру во время игрового процесса
Читать дальше →

Создание системы терминалов в UE4

Время на прочтение11 мин
Охват и читатели7.6K
image

Введение


Наша команда состоит из двух участников:

Сертач Оган (Sertaç Ogan)

Меня зовут Сертач, я занимаюсь программированием геймплея. Я разрабатываю проекты на Unreal Engine уже около 3,5 лет. Хотя моя должность называется «программист геймплея», мне нравится и программировать UI. Я работал и продолжаю работать над различными проектами, опубликованными в Steam.

Также я организую митапы по Unreal Engine в Турции. За прошлый год я организовал множество мероприятий и продолжаю заниматься их организацией. Наряду с этими мероприятиями я подумываю об организации семинаров о разработке игр совместно с университетами и старшими школами. В Турции много людей, которые хотят заниматься разработкой игр и мне нравится делиться накопленным опытом, потому что когда информацией делишься, её становится больше!

Создание следов на снегу в Unreal Engine 4

Время на прочтение12 мин
Охват и читатели28K

Если вы играете в современные AAA-игры, то могли заметить тенденцию использования покрытых снегом ландшафтов. Например, они есть в Horizon Zero Dawn, Rise of the Tomb Raider и God of War. Во всех этих играх у снега есть важная особенность: на нём можно оставлять следы!

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

В этом туториале вы научитесь следующему:

  • Создавать следы с помощью захвата сцены для маскировки объектов, близких к земле
  • Использовать маску с материалом ландшафта, чтобы создавать деформируемый снег
  • Для оптимизации отображать следы на снегу только рядом с игроком
Читать дальше →

Туториал по Unreal Engine 4: фильтр Paint

Время на прочтение11 мин
Охват и читатели8.9K
image

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

Нефотореалистичный рендеринг включает в себя множество техник рендеринга. В них входят cel shading, toon-контуры и штриховка. Можно даже сделать так, что игра будет похожа на картину! Одним из способов получения такого эффекта является размытие фильтром Кавахары.

Для реализации фильтрации Кавахары мы научимся следующему:

  • Вычислять среднее и дисперсию для нескольких ядер
  • Выводить среднее значение для ядра с наименьшей дисперсией
  • Использовать оператор Собеля для нахождения локальной ориентации пикселя
  • Поворачивать ядра сэмплирования на основании локальной ориентации пикселя
Читать дальше →

Основа геймплея игры на C++ для Unreal Engine

Время на прочтение13 мин
Охват и читатели63K
image

Основа геймплея для Unreal Engine 4 предоставляет разработчику мощный набор классов для создания игры. Ваш проект может быть шутером, симулятором фермы, глубокой RPG — это неважно, основа очень универсальна, делает за вас часть тяжёлой работы и задаёт некоторые стандарты. Она довольно сильно интегрирована в движок, поэтому рекомендую вам придерживаться этих классов, а не пытаться изобретать собственную основу игры, как это часто бывает в движках наподобие Unity3D. Понимание этой основы очень важно для успешной и эффективной работы над проектами.

Для кого эта статья?


Для всех, кого интересует создание игр в UE4, а конкретно на C++, и кто хочет больше узнать о основе геймплея Unreal. В этом посте рассматриваются базовые классы, которые вы будете использовать в основе геймплея, и объясняется их применение, процесс создания их экземпляров движком и способ получения доступа к этим классам из других частей кода игры. Бо́льшая часть информации справедлива также и для блюпринтов.
Читать дальше →

Приглашаем 26 Мая на Unreal Engine Meetup #3

Время на прочтение2 мин
Охват и читатели2.7K


26 мая в московском офисе Mail.Ru Group состоится третий официальный митап по игровому движку Unreal Engine 4.

На этот раз встреча будет проводиться в формате конференции в нашем уютном атриуме. Разработчики из разных компаний и городов расскажут об интересных методах и пайплайнах, с которыми им довелось работать, а я сам расскажу о том, как устроена работа над нашим Armored Warfare: Assault. Мы также обязательно оставим время для обсуждения всех выступлений и обмена накопленным опытом.
Программа мероприятия

Откровения аварийного инженера

Время на прочтение27 мин
Охват и читатели45K
image

Или как сэкономить 15% и более от бюджета на разработку


Я профессионально работаю с Unreal Engine уже более 9 лет. За это время я освоил множество специальностей и занимал разные должности в разработке игр: от разработчика-«пехотинца» до менеджера больших команд разработчиков игр и даже консультировал инвесторов игровых компаний.

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

Если у игровой компании в Лос-Анджелесе появляется проблема с Unreal Engine 4, которую никто не может решить, в конце концов звонят мне. Я пишу эту статью, чтобы объяснить, почему мне звонят, как избежать необходимости таких звонков, и что я обычно делаю, получив такой звонок.

Большинство проблем разработки игр хорошо понятно тем, кто находится «в траншеях», но эти проблемы пролетают над головами менеджеров и руководства. Кроме того, похоже, подобные статьи читают только люди из траншей на передовой, а не те, кому они действительно необходимы.
Читать дальше →

Создание главного меню игры

Время на прочтение3 мин
Охват и читатели14K


Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Разрабатывая игры каждый из нас сталкивается с необходимостью создания меню игры, в котором можно осуществлять настройки, а также выбирать режимы игры. В этой статье я покажу каким образом эту проблему решил я. Как обычно все исходники будут представлены в конце статьи.
Читать дальше →

Ближайшие события

Руководство по созданию собственных шейдеров в Unreal Engine

Время на прочтение12 мин
Охват и читатели28K
image

Благодаря системе нодов редактор материалов является отличным инструментом для создания шейдеров. Однако у него есть свои ограничения. Например, там невозможно создавать циклы и конструкции switch.

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

В этом туториале вы научитесь следующему:

  • Создавать нод Custom и настраивать его входы
  • Преобразовывать ноды материалов в HLSL
  • Изменять файлы шейдеров с помощью внешнего текстового редактора
  • Создавать функции HLSL

Чтобы продемонстрировать все эти возможности, мы воспользуемся HLSL для снижения насыщенности изображения сцены, вывода различных текстур сцены и создания гауссова размытия (Gaussian blur).
Читать дальше →

Система процедурной генерации уровня в Unreal Engine

Время на прочтение6 мин
Охват и читатели29K
image

Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня я расскажу как я создал процедурную генерацию уровней для моей игры «The Future City Project». Все исходники будут представлены в конце статьи. И ещё будет сюрприз.
Читать дальше →

HMD + Kinect = Дополненная виртуальность

Время на прочтение5 мин
Охват и читатели10K

В этой заметке я хочу рассказать об идее и Proof-Of-Concept добавления объектов реального мира в Виртуальную Реальность.

На мой взгляд, описанная идея в ближайшее время будет реализована всеми игроками VR-рынка. ИМХО, единственная причина, по которой это до сих пор не сделано — желание выкатить идеальное решение, а это не так-то просто.

Туториал: toon-контуры в Unreal Engine 4

Время на прочтение11 мин
Охват и читатели11K
image

Когда говорят о «toon-контурах», то имеют в виду любую технику, которая рендерит линии вокруг объектов. Как и cel shading, контуры помогают игре выглядеть более стилизованной. Они могут создавать ощущение того, что объекты нарисованы красками или чернилами. Примеры такого стиля можно увидеть в таких играх, как Okami, Borderlands и Dragon Ball FighterZ.

В этом туториале вы научитесь следующему:

  • Создавать контуры с помощью инвертированного меша
  • Создавать контуры с помощью постобработки и свёрток
  • Создавать и использовать функции материалов
  • Сэмплировать соседние пиксели

Примечание: в этом туториале подразумевается, что вы уже знаете основы Unreal Engine. Если вы новичок в Unreal Engine, то рекомендую изучить мою серию туториалов из десяти частей Unreal Engine для начинающих.

Если вы не знакомы с постобработкой материалов, то вам сначала стоит изучить мой туториал по cel shading. В этой статье мы будем использовать некоторые из концепций, изложенных в туториале по cel shading.
Читать дальше →

Сетевая оптимизация для Unreal Engine 4

Время на прочтение11 мин
Охват и читатели33K


Не так давно в официальной группе UE4 в vk я спрашивал, какие темы были бы интересны сообществу, чтобы о них рассказать :) Одним из популярных запросов стала работа с сетью на движке.


В начале я не планировал как-то раскрывать или упоминать эту тему, но потом подумал, что оформить "Best Practices" было бы неплохо даже для себя и своей команды.


Так что, если вам интересно, как мы делали сеть для нашей Armored Warfare: Assault, добро пожаловать под кат.

Читать дальше →

Туториал по Unreal Engine: Cel Shading

Время на прочтение9 мин
Охват и читатели31K
image

Благодаря физически точному рендерингу в Unreal Engine 4 удобно разрабатывать реалистичные игры. Модель рендеринга имитирует взаимодействие света с материалами, что приводит к созданию реалистичной картинки. Однако если вы хотите разработать игру со стилизованным внешним видом, то вам придётся исследовать другие техники.

Один из способов создания стилизации — использование cel shading (также известного как toon-шейдинг). Эта техника подражает затенению, обычно используемому в мультфильмах и аниме. Примеры её использования можно увидеть в таких играх, как Jet Set Radio, The Legend of Zelda: The Wind Waker и Gravity Rush.

В этом туториале вы научитесь следующему:

  • Создавать и использовать материал постобработки
  • Создавать cel-шейдер
  • Изолировать cel-шейдер для отдельных мешей
  • Управлять цветовыми полосами с помощью таблиц поиска
Читать дальше →

Онлайн шутер на Unreal Engine 4 за 90 часов (видео создания + исходники)

Время на прочтение5 мин
Охват и читатели64K
Привет, харб! Примерно год назад я выкладывал статью о том, как я в прямом эфире создал выживалку за 150 часов. На этот раз хочу представить вам сетевой шутер, который я создал за 25 заходов по 3 — 4 часа. Всего вышло около 90 часов и в итоге мы создали онлайн шутер, в который сыграли вместе со зрителями.

image

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

Несмотря на чистое время, данный проект занял примерно 10 месяцев. Я делал большие перерывы в стримах, но тем не менее, закончил разработку и теперь он доступен всем бесплатно и без смс.
Если вас интересуют подробности, записи стримов, исходники или билд игры с сервером в комплекте, предлагаю прочитать дальше под катом!

Вклад авторов