Как сделать рендер в unreal engine 4

Обновлено: 03.07.2024

Unreal Engine 4 вылетает внезапно или случайно без причины? Вот 8 эффективных методов быстрого устранения сбоев. Это руководство поможет вам решить эту проблему.

Попробуйте эти исправления

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

  1. Обновите свой Unreal Engine 4
  2. Обновите драйверы вашего устройства
  3. Проверить установку
  4. Прекратите разгонять процессор
  5. Измените видеокарту по умолчанию
  6. Измените настройки реестра
  7. Временно отключите антивирус
  8. Выполните переустановку

Исправление 1: обновите свой Unreal Engine 4

Разработчики Unreal Engine продолжайте выпускать новые версии, поэтому проверьте, установлена ​​ли у вас последняя версия, и установите ее, если нет. Это самое простое решение проблемы сбоя.

1) Откройте Пусковая установка нажмите Unreal Engine вкладка, затем перейдите в свой вкладка библиотеки .


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

3) Если доступна новая версия, выберите последнюю версию и нажмите Установить .

Как только он будет установлен, вы увидите, все ли у вас работает нормально. Надеюсь, это так. Но если нет, можно попробовать еще несколько исправлений.

Исправление 2: обновите драйверы вашего устройства

Есть два способа обновить драйвер - вручную и автоматически.

Вариант 1. Вручную

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

Вариант 2: Автоматически

Если у вас нет времени, терпения или компьютерных навыков для обновления драйвера вручную, вы можете сделать это автоматически с помощью Водитель Easy .

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

Вы можете обновить драйвер автоматически с помощью БЕСПЛАТНОЙ или Pro версии Driver Easy. Но с версией Pro это занимает всего 2 клика (и вы получаете полную поддержку и 30-дневную гарантию возврата денег).

2) Запустите Driver Easy и нажмите Сканировать сейчас кнопка. Driver Easy просканирует ваш компьютер и обнаружит проблемы с драйверами.


3) Щелкните значок Обновить рядом с каждым устройством, чтобы загрузить для него последнюю версию и правильный драйвер, а затем вы можете установить его вручную.


4) После обновления драйверов перезагрузите компьютер.

Исправление 3: проверьте установку

1) Откройте Эпическая пусковая установка .

2) Щелкните значок Вкладка библиотеки , затем щелкните маленькая стрелка вниз чтобы раскрыть раскрывающийся список. Нажмите Проверить .


Если Unreal Engine вылетает во время игры, вы можете перейти к игре в своем Библиотека и нажмите на винтик значок> свойства > локальные файлы > проверить .

3) Дождитесь завершения сканирования. После проверки появится опция запуска. Нажмите Запуск .

Посмотрите, решит ли это вашу проблему. Если нет, не волнуйтесь, попробуйте следующее решение, чтобы решить вашу проблему.

Исправление 4: прекратите разгон процессора

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

Поэтому, если вы разгоняете графический процессор, вы можете попытаться вернуть тактовую частоту процессора к значениям по умолчанию. Многие пользователи считают это полезным после этого.

Кроме того, уменьшение всех настроек графики до минимума может помочь вашему Unreal Engine работать бесперебойно.

Если это решит ваши проблемы со сбоями, поздравляю! Но если нет, вы можете попробовать следующее исправление.

Исправление 5. Измените видеокарту по умолчанию.

Есть ли Unreal Engine завершает работу из-за потери устройства D3D предупреждение на вашем экране? В этом случае проблема может быть вызвана вашей встроенной видеокартой из-за ее ограниченной производительности.

1) На экране щелкните правой кнопкой мыши и выберите Панель управления NVIDIA .


2) Нажмите Управление настройками 3D .


3) Под Вкладка 'Глобальные настройки' , Выбрать Высокопроизводительный процессор NVIDIA в раскрывающемся списке. Наконец, нажмите Применять .


4) Перезагрузите компьютер и посмотрите, решена ли проблема. Если нет, попробуйте следующее исправление.

Исправление 6. Измените настройки реестра.

Твой Unreal Engine 4 может произойти сбой из-за настроек уровня восстановления TDR. Попробуйте изменить настройки и посмотрите, работает ли.

TDR (Обнаружение и восстановление тайм-аута) проверяет, правильно ли работают ваша видеокарта и компьютер, и сбрасывает графическую карту и графический процессор, если нет.

1) На клавиатуре нажмите кнопку Windows logo key и р в то же время призвать Бежать коробка.

2) Тип regedit и нажмите Войти открыть Редактор реестра .


3) Нажмите файл , затем щелкните Экспорт .


4) Выберите место, где вы хотите сохранить резервную копию, затем введите имя в Имя файла коробка. Нажмите Сохранить .


5) Вернитесь к Редактор рижистики , затем перейдите к HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control GraphicsDrivers


4) В пустом месте щелкните правой кнопкой мыши, затем наведите указатель мыши на Новый и нажмите QWORD (64-бит) Значение .


5) Назовите новое значение TdrLevel .


6) Дважды щелкните TdrLevel . Убедитесь, что для его данных значения установлено значение 0 , затем щелкните Хорошо .

Исправление 7: Временно отключите антивирус

Unreal Engine 4 Проблема сбоя иногда возникает из-за вмешательства вашего антивирусного программного обеспечения. Чтобы убедиться, что проблема в этом, временно отключите антивирусную программу и проверьте, сохраняется ли проблема. (За инструкциями по отключению обратитесь к документации по антивирусу.)

Если ваша игра работает нормально после отключения антивирусного программного обеспечения, обратитесь к поставщику вашего антивирусного программного обеспечения и попросите его совета или установите другое антивирусное решение.

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

Исправление 8: выполните переустановку

Многие считают, что чистая переустановка может решить проблему. Просто убедитесь, что вы очистили все (включая записи реестра), назначенные Epic Launcher и Unreal Engine 4.

Не забудьте сделать резервную копию своих проектов перед переустановкой.

После завершения установки проверьте, сохраняется ли проблема.

Решили ли указанные выше исправления вашу проблему? Не стесняйтесь оставлять нам комментарии и делиться своим опытом с другими пользователями!

13 августа 2019 г.

3379

OTOY и Epic Games выпускают Octane Render для Unreal Engine 4

Octane Render для Unreal Engine дополняет трассировку лучей UE4, впервые делая беспристрастной производственную трассировку для окончательного рендеринга кадров.

OTOY и Epic Games выпускают Octane Render для Unreal Engine 4

OTOY и Epic Games выпускают Octane Render для Unreal Engine 4

Теперь художники могут импортировать, экспортировать, смешивать и сопоставлять обменные активы ORBX из более чем двух десятков интеграций Octane DCC. Благодаря материалам Octane и графу узлов Octane, полностью доступным в редакторе узлов UE, художники получают возможность кинематографического рендеринга и гибкость игрового движка в одном инструменте.

OTOY и Epic Games выпускают Octane Render для Unreal Engine 4

Ключевые характеристики OctaneRender для Unreal Engine:

Octane Render полностью интегрирован в редактор узлов Unreal Engine 4 с интуитивно понятной навигацией по сцене и легко доступными проходами рендеринга в UE4.

Быстрое автоматическое преобразование сцен и материалов Unreal Engine 4 в Octane и полная интеграция функций OctaneRender 2019, включая: многослойные материалы, векторное смещение OSL, объемные шейдеры OSL, универсальную камеру с картами искажений OSL, совершенно новые световые и геометрические примитивы, быструю спектральную случайность Ходить по подповерхностному рассеянию.

AI Light, AI Scene, AI Спектральный и объемный обесцвечивание, а также геометрия вне ядра, поддержка UDIM и Light Linking для готового окончательного рендеринга.

Octane Vectron и Spectron - полностью процедурная узловая объемная геометрия и освещение для бесконечной детализации и детального управления освещением.

Используя формат сцены OTOY ORBX, текущая интеграция поддерживает более 20 ведущих в отрасли инструментов DCC, включая Cinema4D, Autodesk Maya и 3ds Max, позволяя художникам легко перетаскивать сцены из своих любимых инструментов разработки, смешивать и сопоставлять их с Unreal Engine. содержание в полностью отзывчивом Live Viewport.

OctaneRender для Unreal Engine 4 расширяет многолетнее сотрудничество между OTOY и Epic Games, чтобы сделать высококачественный интерактивный контент доступным для художников по всему миру. Благодаря интеграции Octane для Unreal Engine пользователи также смогут получить доступ к блокчейн-сети OTOY RNDR, первому в отрасли децентрализованному рынку облачных вычислений на GPU.

OTOY и Epic Games выпускают Octane Render для Unreal Engine 4

«Выпуск Octane Render для Unreal Engine, ведущего в мире игрового движка AAA, наступил в очень захватывающее время для индустрии с появлением в этом году оборудования для трассировки лучей.

Всем привет! Меня зовут Александр, я уже более 5 лет работаю с Unreal Engine, и почти все это время — с сетевыми проектами.

Поскольку сетевые проекты отличаются своими требованиями к разработке и производительности, нередко необходимо работать с более простыми объектами, такими как классы UObject, но их функциональность изначально урезана, что может создать сильные рамки. В этой статье я расскажу о том, как активировать различные функции в базовом классе UObject в Unreal Engine 4.


На самом деле, статью я написал скорее как справочник. Большую часть информации крайне сложно найти в документации или сообществе, а тут можно быстро открыть ссылку и скопировать нужный код. Решил заодно поделиться и с вами! Статья ориентирована на тех, кто уже немного знаком с UE4. Будет рассмотрен С++ код, хотя знать его не обязательно. Можете просто следовать инструкциям, если вам нужно то, о чем пойдет речь. Более того, не обязательно копировать все, вы можете вставить код из раздела с нужными свойствами и он должен работать.

Немного о UObject

UObject — базовый класс почти для всего, что есть в Unreal Engine 4. От него наследуется подавляющее большинство объектов, которые создаются у вас в мире или просто в памяти: объекты на сцене (AActor), компоненты (UActorComponent), разные типы для работы с данными и прочие.

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

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

Для чего мне UObject, если AActor уже поддерживает все, что нужно? В общем-то, примеров использования масса. Самый простой — предметы для инвентаря. На сцене, где-то в небе, хранить их нецелесообразно, поэтому можно хранить в памяти, не нагружая рендер и не создавая лишних свойств. Для тех, кто любит технические сравнения, то AActor занимает килобайт (1016 байт), а пустой UObject всего 56 байт.

В чем проблема UObject?

Проблем в целом нет, ну или я просто не сталкивался с ними. Все, чем раздражает UObject, так это отсутствие различных возможностей, которые по умолчанию доступны в AActor или в компонентах. Вот проблемы, которые я выделил за свою практику:

  • UObject’ы не реплицируются по сети;
  • из-за первого пункта мы не можем вызывать RPC события;
  • нельзя использовать обширный набор функций, требующих ссылку на мир в Блупринтах;
  • в них нет стандартных событий вроде BeginPlay и Tick;
  • нельзя добавлять компоненты из UObject’ов в AActor в Блупринтах.

Большую часть вещей можно легко решить. А вот с некоторыми придется повозиться.

Создание UObject

Прежде чем расширять наш класс возможностями, нам нужно его создать. Давайте воспользуемся редактором, чтобы генератор автоматически записал в хедер (.h) все, что нужно для работы.

Создать новый класс мы можем в Content Browser редактора, нажав кнопку New и выбрав там пункт New C++ Class.


Далее нам нужно выбрать сам класс. В общем списке его может не быть, поэтому раскрываем его и выбираем UObject.


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

Новички, обратите внимание, что создается два файла: .h и .ccp. В .h вы будете объявлять переменные и функции, а в .cpp определять их логику. Найдите оба файла в вашем проекте. Если не меняли путь, то они должны быть в Project/Source/Project/.

Пока мы не продолжили, давайте в макросе UCLASS() над объявлением класса пропишем параметр Blueprintable. Должно получиться что-то вроде этого:

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

Репликация UObject

По умолчанию UObject’ы не реплицируются по сети. Как я описал выше, создается ряд ограничений, когда нужно синхронизировать данные или логику между сторонами, но при этом не хранить мусор в мире.

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

Подготовим наш объект к репликации. Пока в хедере нам нужно задать лишь одну функцию:


IsSupportedForNetworking() определит, что объект поддерживает сеть и может быть отреплицирован.

Однако не все так просто. Как я написал выше, нужен владелец, управляющий передачей объекта. Для чистоты эксперимента создадим AActor, который будет его реплицировать. Сделать это можно точно так же, как и UObject, только родительский класс, естественно, AActor.

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

Внутри нам нужны 3 функции: конструктор, функция репликации подобъектов, функция, определяющая, что внутри этого AActor реплицируется (переменные, ссылки на объекты и прочее) и место, где мы создадим наш объект.

Не забудем создать и переменную, по которой будет храниться наш объект:


Внутри исходного файла мы должны все прописать:

Теперь ваш объект будет реплицироваться вместе с этим Actor’ом. Вы можете вывести его имя на тик, но уже на клиенте. Обратите внимание, что на Begin Play объект до клиента вряд ли успеет прийти, поэтому там смысла писать лог на нем нет.

Репликация переменных в UObject

В большинстве случаях реплицировать объект смысла нет, если в нем не содержится информация, которая так же будет синхронизироваться между сервером и клиентами. Поскольку наш объект уже реплицируется, то и передавать переменные не составит труда. Это делается так же, как и внутри нашего Actor’а:


Добавив переменную и пометив на репликацию, мы сможем ее реплицировать. Тут все просто и так же, как в AActor.

Однако есть небольшой подводный камень, который виден не сразу, но может ввести вас в заблуждение. Это будет особенно заметно, если вы создаете ваш UObject не для работы в C++, а подготавливаете его для наследования и работы в Блупринтах.

Суть в том, что переменные, созданные в наследнике в Блупринтах, реплицироваться не будут. Движок автоматически их не помечает и изменение параметра на сервере в БП ничего не меняет в значении на клиенте. Но и от этого есть лекарство. Для корректной репликации переменных БП вам нужно заранее их пометить. Добавьте пару строчек в GetLifetimeReplicatedProps():

Теперь переменные в дочерних Блупринт классах будут реплицироваться как положено.

RPC события в UObject

RPC (Remote Procedure Call) события — это специальные функции, вызывающиеся на другой стороне сетевого взаимодействия проекта. С помощью них вы можете вызвать функцию с сервера на других клиентах и с клиента на сервере. Очень полезно и часто используется при написании сетевых проектов.

Если вы не знакомы с ними, рекомендую почитать один материал. В нем описывается использование в C++ и в Блупринтах.

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

Взглянув на код компонентов (UActorComponent), мы можем найти несколько функций, которые позволяют передавать вызовы по сети. Так как UActorComponent наследуется от UObject, мы можем просто скопировать необходимые участки кода и вставить в наш объект, чтобы он работал как нужно:


С этими функциями мы сможем вызывать RPC события не только в коде, но и в Блупринтах.

Обратите внимание, что для вызова Client или Server событий необходим владелец, у которого Owner — наш игрок. Например объектом владеет персонаж пользователя или же предмет, у которого Owner — это Player Controller игрока.

Глобальные функции в Блупринтах

Если вы когда-либо создавали Object Блупринт, то могли заметить, что в них нельзя вызвать глобальные функции (статичные, но для понятности назовем так), которые доступны в остальных классах, например, GetGamemode(). Создается ощущение, что вы просто-напросто не можете делать в Object классах, из-за чего вам приходится либо передавать все ссылки при создании, либо же как-то извращаться, а иногда выбор и вовсе падает на класс Actor, который создается на сцене и поддерживает все на свете.

А вот в С++, конечно же, таких проблем нет. Однако гейм-дизайнеру, который играется с настройками и добавляет разные мелочи, не скажешь, что нужно открыть Visual Studio, найти соответствующий класс и в функции doSomething() получить игровой режим, изменив в нем очки. Поэтому крайне важно, чтобы дизайнер мог зайти в Блупринт и двумя щелчками мыши сделать то, в чем заключается его работа. Сэкономите и его время, и ваше. Впрочем, Блупринты для этого и придуманы.

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


Впрочем, и от этого есть лекарство. Даже два.

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


Теперь она определена и редактор будет понимать, что в целом объект способен получить нужный указатель (хоть он не валидный) и использовать глобальные функции в БП.

Обратите внимание, что владелец (GetOuter()) тоже должен иметь выход к миру. Это может быть другой UObject с определенным GetWorld(), компонент или Actor объект на сцене.



Если ввести в поиск в БП GetGamemode, он появится в списке, как и другие подобные функции, и в параметре будет WorldContextObject, в который нужно передавать ссылку на Actor.


К слову, можно просто подавать туда владельца нашего объекта. Я рекомендую создать функцию на Actor’а, это будет всегда полезно для объекта:


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


Если вы во втором варианте так же объявите GetWorld() как и в первом варианте, то сможете подавать в параметр WorldContextObject ссылку на себя (Self или This).


BeginPlay и Tick события

Еще одна проблема, с которыми могут столкнуться разработчики на Блупринтах — в Object классе нет событий BeginPlay и Tick. Безусловно, вы можете их создать сами и вызывать из другого класса. Но согласитесь, что гораздо удобнее, когда это все работает из коробки.

Давайте для начала разберем, как сделать Begin Play. Мы можем создать доступную для перезаписи в БП функцию и вызывать ее в конструкторе класса, но тут есть ряд проблем, так как на момент конструктора ваш объект еще полностью не инициализирован.

Во всех классах существует функция PostInitProperties(), которая вызывается после инициализации большинства параметров и регистрации объекта в различных внутренних системах, например, для сборщика мусора. В ней как раз можно вызвать наше событие, которое будет использоваться в Блупринтах:


Вместо if(GetOuter() && GetOuter()->GetWorld()) можно поставить просто if(GetWorld()) если вы его уже переопределили.

Будьте осторожны! По умолчанию PostInitProperties() вызывается и в редакторе.

Теперь мы можем зайти в наш БП объект и вызвать событие BeginPlay. Оно будет вызываться при создании объекта.

Перейдем к Event Tick. Тут простой функцией нам не обойтись. Tick объектов в движке вызывает специальный менеджер, к которому нужно как-то подцепиться. Однако, тут есть очень удобная хитрость — дополнительное наследование от FTickableGameObject. Это позволит автоматически сделать все, что нужно, и тогда достаточно будет просто подцепить необходимые функции:

Если вы отнаследуетесь от вашего объекта и создадите БП класс, то будет доступно событие EventTick, вызывающее логику каждый кадр.

Добавление компонентов из UObject’ов

В Блупринтах UObject нельзя спавнить компоненты для Actor’ов. Эта же проблема свойственна и Блупринтам ActorComponent. Не очень понятна логика Epic Games, так как в C++ это можно сделать. Более того, вы можете добавить компонент из Actor’а другому Actor объекту просто указав ссылку. Но сделать этого нельзя.

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

Единственный вариант, который я могу предложить на данный момент — это сделать обертку в классе UObject, предоставляющую доступ к простому добавлению компонентов. Таким образом получится добавлять компоненты Actor’ам, но у вас не будет динамически создаваться входные параметры спауна. Зачастую, этим можно пренебречь.

Настройка экземпляра через редактор

Допустим, у вас есть менеджер модификаторов для персонажа и сами модификаторы представлены классами, в которых описываются накладываемые эффекты. Гейм-дизайнер создал пару модификаторов и указывает в менеджере, какие используются.

В обычной ситуации выглядело бы вот так:




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


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

image

Есть в Unreal Engine еще один интересный класс. Это AInfo. Класс, унаследованный от AActor, не имеющий визуального представления в мире. Info используют такие классы, как: игровой режим, GameState, PlayerState и прочие. То есть классы, которые поддерживают разные фишки от AActor, например, репликацию, но при этом не размещены на сцену.

Если вам нужно создать дополнительный, глобальный менеджер, который должен поддерживать сеть и все вытекающие Actor класса, то можно использовать его. Вам не придется манипулировать классом UObject, как описано выше, чтобы заставить его, например, реплицировать данные.

Однако учтите, что хоть и у объекта нет координат, визуальных компонентов и он не рендерится на экране, он все равно является наследником Actor класса, а значит, настолько же тяжелый, как и родитель. Резонно использование в малых количествах и ради удобства.

Заключение

UObject нужен очень часто, и я советую пользоваться им всегда, когда Actor в действительности не нужен. Жаль, что он немного ограничен, но это одновременно и плюс. Иногда приходится повозиться, когда вам нужно использовать нестандартный шаблон, но главное, что все основные ограничения можно снять.

Если вы будете часто работать с объектами из Блупринтов, но не хочется постоянно создавать классы и добавлять в них эти возможности, можно просто создать один класс UObject, с поддержкой всего, что вам может понадобиться в проекте, а дальше создавать дочерние от него Блупринты и работать в них.

Надеюсь, статья будет полезна тем, кто изучает или работает с Unreal Engine 4. Если вдруг какая-то часть не компилируется, то можете сообщить об этом в комментариях или в личку. Также буду очень благодарен, если кто-то знает еще различные полезности, связанные с UObject.

Unreal Engine — универсальный солдат среди игровых движков. Безграничные сферы применения, свобода в творчестве и признание на рынке — всё это о нём. Если UE4 пока нет в вашем списке навыков, то это пора наверстать. 5 минут на прочтение — и мы раскроем ключевые моменты из огромного списка плюсов Unreal Engine.

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

Epic Games, создатель Unreal Engine, отслеживает развитие других компаний, поддерживает их и интегрирует их решения в свой глобальный продукт. Философия Epic Games направлена на преодоление барьеров в творчестве, и это транслируется как в общей политике компании, так и в интуитивности её продуктов.

Порог входа для Unreal Engine 4 достаточно низкий: даже художник без опыта программирования сможет разобраться с ним для своих целей. Навигация и настройки во многом схожи с другим софтом. Например, если вы уже работали с Maya, UE4 не покажется вам чем-то принципиально новым, хоть и назначение у этих инструментов разное.

Blueprint — это система визуального скриптинга. Она позволяет реализовать свои задумки в упрощенном режиме. Например, без знаний программирования можно создать цикл дня и ночи или заставить окружение реагировать на перемещение игрока.

Большая часть Fortnite (знаменитой игры Epic Games) реализована через Blueprint. И это не какой-то рекламный ход для продвижения визуального программирования. Просто это оптимизирует работу.

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

Ценная возможность Unreal Engine — быстрое создание прототипа игры. В прототипе особенно важно сразу передать атмосферность. Для этой цели UE предлагает множество инструментов — от симуляции природных явлений через систему частиц до постпроцессинга.

Так, снег можно быстро добавить через Particle System. Для этого нужно просто создать эммитер (компонент системы, генерирующий частицы) и настроить его под ваши нужды: пустить белые частички и подогнать параметры их пролета.

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

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

Epic Games предоставляют свой движок на бесплатной основе. Только если вы начнете распространять свой продукт, и прибыль превысит 1 миллион долларов, нужно будет заплатить 5% роялти.

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

Также, около года назад Epic Games в сотрудничестве с Quixel расширили библиотеку Megascan и сделали её бесплатной при использовании в связке с UE4. Что это даёт? Это целая библиотека бесплатных высокодетализированных сканов с разрешением от 2 до 8К, интегрированных в движок.

Синематик от Quixel, презентующий новую коллекцию сканов

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

Если же понадобится что-то специфическое — на торговых площадках всегда можно найти элементы кода, блупринты и отдельные ассет-паки.

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

Ближайший вебинар от ArtCraft посвящен этой теме. Лид-разработчик компании Mirowin расскажет о вакансиях в игровых компаниях и категориях специалистов, которые используют Unreal Engine. Регистрируйся заранее и участвуй бесплатно.

Оказывается, Unreal Engine 4 может быть невероятно фотореалистичным, а не только мультяшным

Есть два типа людей. Одни знают и ненавидят Unreal Engine 4 за моду на мультяшных персонажей. Вторые смотрели записи со съемок сериала The Mandalorian и успели восхититься качеством графики одного из самых высокобюджетных сериалов в истории.

Да смилостивится Ситис над первыми. А вот с их противниками мы поговорим. Не кажется ли вам, что Unreal Engine 4 слишком хорош в моделировании пустынных локаций?

Спасибо Epic Games, которая купила Quixel и сделала бесплатным огромное количество ассетов, пригодных для виртуозного создания пустошей.

Я не заявляю, что сериал The Mandalorian полностью сделан из бесплатных ассетов, но пара камушков точно выглядели знакомо любителям реалистичных виртуальных пейзажей.

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

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

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

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