Добро пожаловать в репозиторий Unreal Engine 4 с интеграцией Nvidia Gameworks!
Здесь собраны все возможные технологии Nvidia Gameworks в одном репозитории Unreal Engine 4.
Сборка и запуск
Blast — это библиотека разрушения NVIDIA GameWorks, полностью интегрированная в UE4 как отдельный плагин.
Чтобы попробовать её, скомпилируйте UE4 и откройте проект-образец плагина Blast (BlastPluginSample/README.md).
Для получения дополнительной информации и краткого руководства по началу работы перейдите к руководству по плагину Blast для Unreal (Engine/Plugins/GameWorks/Blast/Documentation/Intro.md).
Flex — это основанная на GPU библиотека моделирования частиц, которая поддерживает жидкости, одежду, твёрдые тела, верёвки и многое другое. Интеграция с UE4 добавляет новых актёров и компоненты в Unreal, которые можно использовать для добавления более продвинутой динамики в вашу игру.
Пример проекта с тестовыми активами и уровнями включён сюда: /FlexProject/.
Документацию и учебные пособия по интеграции с Unreal можно найти здесь: /FlexProject/Documentation/.
Последнюю версию автономного SDK Flex можно загрузить из зоны разработчиков NVIDIA: https://developer.nvidia.com/flex.
Не все функции Flex ещё доступны в Unreal, но мы продолжаем работу над интеграцией и добавим такие функции, как рендеринг поверхности жидкости и моделирование дыма в следующих выпусках.
Flow — это адаптивная разреженная воксельная библиотека симуляции жидкостей для приложений реального времени.
Она включена вместе с двумя примерами проектов. Интеграция в основном изолирована в плагине с минимальным добавлением кода в движок. NvFlowPluginSamples предоставляет базовые образцы для демонстрации различных функций. NvFlowSamplesVR настроен для использования прямого рендерера с MSAA и включает больше образцов огня и дыма с самозатенением.
NVIDIA HairWorks позволяет использовать передовые методы симуляции и рендеринга для более богатого визуального эффекта и обеспечивает глубокое погружение в игровой процесс. HairWorks — это результат более чем 8 лет исследований и разработок, направленных на создание универсального конвейера для разнообразных дизайнов персонажей.
Дополнительную информацию см. в HairWorks_Ue4_ReleaseNotes.md.
WaveWorks — это библиотека для моделирования ветровых волн на больших водоёмах в реальном времени с использованием ускорения GPU.
NVIDIA WaveWorks позволяет разработчикам создавать кинематографическое моделирование океана для интерактивных приложений. Симуляция выполняется в частотной области с использованием спектральной модели дисперсии волн. Затем шаг обратного БПФ преобразует данные в пространственную область, готовую к рендерингу. Интуитивно понятные параметры реального мира, такие как скорость и направление ветра, можно использовать для настройки вида поверхности моря для самых разных условий — от нежных рябей до тяжёлого штормового океана на основе шкалы Бофорта. Смещение поверхности воды, нормали и параметры пены доступны внутри редактора графа шейдеров для создания специфичного для контента внешнего вида воды.
Интеграция WaveWorks с Unreal Engine 4 предлагает вам возможность исследовать WaveWorks при поддержке системы рендеринга и редактора UE4. Библиотека WaveWorks предоставлена в этой ветке. NVIDIA VXGI
Требуется графический процессор с поддержкой CUDA. Для сборок, поддерживающих CPU и Direct Compute, а также для запросов по лицензированию, пожалуйста, свяжитесь с нами по адресу visualfx-licensing@nvidia.com.
VXGI расшифровывается как Voxel Global Illumination и представляет собой продвинутую технику рендеринга для непрямого освещения в реальном времени.
Глобальное освещение (GI) — это способ расчёта освещения сцены, который включает непрямое освещение, то есть моделирование объектов, освещённых другими объектами, а также идеальными источниками света. Добавление GI к сцене значительно повышает реалистичность визуализированных изображений. Современные движки рендеринга в реальном времени моделируют непрямое освещение с использованием различных подходов, которые включают предварительно рассчитанные карты освещения (офлайн GI), локальные источники света, размещённые художниками, и простое окружающее освещение.
Вопрос: Я загрузил карту, но нет непрямого освещения. Ответ: Пожалуйста, убедитесь, что...
Также полезно переключить режим просмотра на «VXGI Opacity Voxels» или «VXGI Emittance Voxels», чтобы убедиться, что нужные объекты представлены в виде вокселей и излучают (или отражают) свет.
Вопрос: Я пытаюсь собрать движок, и возникают некоторые ошибки компоновщика, связанные с NVAPI. Ответ: Это означает, что Setup.bat перезаписал библиотеки NVAPI более старыми версиями. Вам необходимо скопировать правильную версию (из исходного zip-файла или из GitHub) этого файла: Engine\Source\ThirdParty\NVIDIA\nvapi\amd64\nvapi64.lib.
Вопрос: На полупрозрачных объектах нет зеркальных отражений, как их добавить? Ответ: Необходимо изменить полупрозрачный материал и сделать так, чтобы он отслеживал зеркальные конусы. См. этот пост на форуме для примера.
Вопрос: Можно ли сделать зеркальные отражения менее размытыми? Ответ: Обычно да, но есть предел. Качество отражений определяется размером вокселей, представляющих отражённый объект(ы), поэтому вам нужно уменьшить этот размер. Есть несколько способов сделать это:
Вопрос: Возможно ли предварительно рассчитать освещение с помощью VXGI для использования на бюджетных ПК или мобильных устройствах? Ответ: Нет, поскольку VXGI был разработан как полностью динамическое решение. Теоретически можно использовать трассировку конусов VXGI для запекания карт освещения, но такая функция не реализована, и она не добавляет достаточной ценности по сравнению с традиционными решениями для карт освещения, такими как Lightmass: единственное преимущество заключается в том, что запекание будет быстрее.
Вопрос: Поддерживает ли VXGI DirectX 12? Ответ: Да, но ограниченно и пока экспериментально. Переход на DX12 пока не рекомендуется. Он будет работать медленнее, чем на DX11.
Вопрос: Могу ли я использовать VXGI в собственном рендере, без Unreal Engine? Ответ: Да. Пакет SDK доступен на веб-сайте NVIDIA GameWorks Developer.
Интеграция VXGI была перенесена с UE 4.12 на 4.13 в основном пользователями Unreal Engine Forums и GitHub «GalaxyMan2015».
HBAO+ расшифровывается как Horizon-Based Ambient Occlusion Plus и представляет собой быстрое и относительно стабильное решение для экранного пространства окружающего затенения.
Чтобы использовать Git из командной строки, ознакомьтесь со статьями [Настройка Git](https://help.github.com/articles/set-up-git/) и [Копирование репозитория](https://help.github.com/articles/fork-a-repo/).
Если вы предпочитаете не использовать Git, вы можете получить исходный код с помощью кнопки «Скачать ZIP» справа. Встроенная утилита Windows для работы с zip-файлами будет помечать содержимое скачанных из интернета zip-файлов как небезопасное для выполнения, поэтому щёлкните правой кнопкой мыши на zip-файл и выберите «Свойства...» и «Разблокировать» перед распаковкой. Сторонние утилиты для работы с zip обычно этого не делают.
Установите Visual Studio 2017.
Все настольные версии Visual Studio 2017 могут создавать UE4, включая Visual Studio Community 2017, которая бесплатна для небольших команд и индивидуальных разработчиков.
Для установки необходимых компонентов для разработки UE4 проверьте рабочую нагрузку «Разработка игр на C++» и дополнительный компонент «Установщик Unreal Engine».
Откройте исходную папку в Проводнике и запустите Setup.bat.
Это загрузит двоичный контент для движка, а также установит необходимые компоненты и настроит ассоциации файлов Unreal.
На Windows 8 может появиться предупреждение от SmartScreen. Нажмите «Подробнее», затем «Запустить всё равно», чтобы продолжить.
Чистая загрузка бинарных файлов движка в настоящее время составляет 3–4 ГБ, что может занять некоторое время.
Последующие проверки требуют только дополнительных загрузок и будут намного быстрее.
Запустите GenerateProjectFiles.bat, чтобы создать файлы проекта для движка. Это должно занять меньше минуты.
Загрузите проект в Visual Studio, дважды щёлкнув на файле UE4.sln. Установите конфигурацию решения на Development Editor и платформу решения на Win64, затем щёлкните правой кнопкой мыши по цели UE4 и выберите Build. Компиляция может занять от 10 до 40 минут в зависимости от характеристик вашей системы.
После завершения компиляции вы можете загрузить редактор из Visual Studio, установив стартовый проект на UE4 и нажав F5 для отладки.
Установите GitHub for Mac, а затем скопируйте наш репозиторий.
Чтобы использовать Git из терминала, ознакомьтесь со статьями Настройка Git и Копирование репозитория.
Если вы предпочитаете не использовать Git, используйте кнопку «Скачать ZIP» справа, чтобы получить исходный код напрямую.
Установите последнюю версию Xcode.
Откройте свою исходную папку в Finder и дважды щёлкните на Setup.command, чтобы загрузить двоичный контент для движка. После этого вы можете закрыть окно терминала.
Если вы скачали исходный код в виде .zip-файла, вы можете увидеть предупреждение о том, что он от неизвестного разработчика (поскольку .zip-файлы на GitHub не имеют цифровой подписи).
Чтобы обойти это, щёлкните правой кнопкой мыши на Setup.command, выберите «Открыть», а затем нажмите кнопку «Открыть».
В той же папке дважды щёлкните GenerateProjectFiles.command. Это должно занять менее минуты.
Загрузите проект в Xcode, дважды щёлкнув файл UE4.xcworkspace. Выберите ShaderCompileWorker для цели My Mac в строке заголовка, затем выберите пункт меню «Продукт > Сборка». Когда Xcode завершит сборку, сделайте то же самое для UE4 для цели My Mac. Компиляция может занять от 15 до 40 минут, в зависимости от характеристик вашей системы.
После завершения компиляции выберите пункт меню «Продукт > Запуск», чтобы загрузить редактор.
Настройте Git и скопируйте наш репозиторий.
Если вы предпочитаете не использовать Git, воспользуйтесь кнопкой «Скачать ZIP» справа, чтобы получить исходный код. Как скачать Unreal Engine 4
Скачайте архив в формате zip.
Откройте исходную папку и запустите Setup.sh, чтобы загрузить двоичный контент для движка.
Поддерживаются как кросс-компиляция, так и нативные сборки.
Кросс-компиляция удобна, если вы разработчик под Windows (поддержка Mac планируется), который хочет упаковать свою игру для Linux с минимальными усилиями. Для этого требуется установить набор инструментов для кросс-компиляции (см. страницу кросс-компиляции для Linux на вики).
Нативная компиляция обсуждается в отдельном файле README и на странице сообщества на вики.
Поддержка Android будет загружена скриптом установки, если у вас установлен Android NDK. См. руководство по началу работы с Android.
Для программирования iOS требуется Mac. Инструкции приведены в руководстве по началу работы с iOS.
Поддержка HTML5 будет загружена скриптом настройки, если у вас установлен Emscripten. Пожалуйста, см. руководство по началу работы с HTML5.
Разработка для Playstation 4 или XboxOne требует дополнительных файлов, которые могут быть предоставлены только после подтверждения вашего статуса зарегистрированного разработчика Sony или Microsoft. Дополнительную информацию см. в сообщении в блоге о поддержке Playstation 4 и Xbox One.
Этот репозиторий UE4 в основном обсуждается на форумах Unreal Engine: Интеграция NVIDIA GameWorks. В этой ветке форума содержится множество вопросов и ответов, и некоторые инженеры NVIDIA также участвуют в обсуждении. По вопросам, связанным с VXGI, можно оставить комментарий в этой теме, связаться с Alexey.Panteleev на форуме или создать проблему на GitHub.
Пожалуйста, ознакомьтесь с LICENSE.md.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )