8a38c982
Содержание скрыть
3 Основные Характеристики
3.2 Unreal engine 4 скачать
4 Примечания К Выпуску

Уроки unreal engine 4 на русском для начинающих

Этот релиз включает в себя сотни обновлений от Epic и 71 улучшений, представленных невероятным сообществом разработчиков Unreal Engine на GitHub! Спасибо каждому из этих участников Unreal Engine 4.14:

Сам курс можно скачать внизу статьи

unreal engine 4 уроки для начинающих

Unreal Engine 4.14 представляет новый рендерер прямого затенения, оптимизированный для VR, позволяющий создавать четкие много сэмплированные сглаживания в ваших играх. Новая функция Contact Shadows отображает красиво детализированные тени для сложных объектов. Мы также внедрили новую функцию автоматической генерации LOD для статических сеток, которая не требует сторонней библиотеки.

Мы оптимизировали анимационные инструменты, чтобы помочь вам быть более продуктивными, и добавили много новых функций в Sequencer (нелинейный кинематографический инструмент UE4), а также улучшили транспортные средства, одежду и анимационные чертежи.

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

На платформе Windows программисты C++ теперь могут использовать Visual Studio » 15 « для разработки. Visual Studio 2015 по-прежнему поддерживается.

Основные Характеристики

Новое: рендерер прямого затенения с MSAA

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

unreal engine 4

unreal engine 4

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

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

Поддерживаемые функции прямого рендеринга включают в себя:

  • Полная поддержка стационарных огней, включая динамические тени от подвижных объектов, которые смешиваются вместе с предварительно вычисленными тенями окружающей среды
  • Множественные захваты отражения смешанные вместе с коррекцией параллакса
  • Плоские отражения частичной сцены, составленные в отражательные захваты
  • D-буферные наклейки
  • Предварительно рассчитанное освещение и мансардные окна
  • Незатененные подвижные фонари
  • Тени капсул
  • Инстанс стерео совместимый

Некоторые функции еще не поддерживаются с помощью прямого затенения:

  • Техника экранного пространства (ССР, ССАО, контактные тени)
  • Отбрасывающие тень подвижные фонари
  • Динамически затененная полупрозрачность
  • Полупрозрачность получения теней окружающей среды от неподвижного света
  • Световые функции и профили IES
  • Альфа к охвату
  • MSAA on D-Buffer decals, motion blur, dynamic shadows и capsule shadows
unreal engine 4 создание

unreal engine 4 создание

Прямой рендерер поддерживает как многопозиционное сглаживание (MSAA), так и временное сглаживание (TAA). В большинстве случаев TAA предпочтительнее, поскольку он удаляет как геометрическое сглаживание, так и зеркальное сглаживание. В VR постоянное субпиксельное движение, вводимое отслеживанием головы, создает нежелательную размытость, что делает MSAA лучшим выбором.

Проекты, решившие использовать MSAA, захотят создавать контент для смягчения зеркального сглаживания. Функция «нормаль к шероховатости» может помочь уменьшить зеркальное сглаживание на детальных картах нормалей. Автоматическая генерация LOD для статических сеток может сгладить объекты на удаленных сетках и помочь уменьшить сглаживание от небольших треугольников.

В наших тестах использование MSAA вместо TAA увеличивает время кадра GPU примерно на 25%. Фактическая стоимость будет зависеть от вашего контента.

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

Консольная переменная ‘r. MSAACount’ управляет количеством отсчетов MSAA, вычисляемых для каждого пикселя. ‘r.MSAACount 1’ имеет особое значение и возвращается к временному AA, что позволяет удобно переключаться между методами сглаживания.

Adobe Air бесплатно

Производительность

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

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

Используя эти опции в новой VR-игре Epic, Robo Recall, форвардный рендерер примерно на 22% быстрее, чем отложенный рендерер на NVIDIA 970 GTX.

Новое: Контактные Тени

Контактные тени позволяют создавать высокодетализированные динамические тени на объектах.

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

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

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

Контактные тени можно использовать, установив свойство Contact Shadow Length для вашего фонаря. Это управляет длиной луча, отбрасываемого в пространстве экрана, где 1 находится на всем протяжении экрана. Большие значения могут ухудшить качество и производительность, поэтому постарайтесь свести длину к минимуму, чтобы достичь желаемого внешнего вида.

Другой пример использования контактных теней — получение самозатенения из параллаксного окклюзионного отображения произвольных огней. Это требует вывода смещения глубины пикселя в материале. Эта анимация показывает параллаксную окклюзионную отображенную поверхность с длиной контактной тени, установленной на 0,1.

движок unreal engine 4

движок unreal engine 4

Новое: автоматическая генерация Лод

Unreal Engine теперь автоматически уменьшает количество полигонов ваших статических сеток для создания LOD!

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

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

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

Этот упрощитель сетки поддерживает UVs, включая сгенерированные UVS световых карт, нормали, касательные и цвета вершин. Поскольку UV поддерживаются, можно использовать одни и те же материалы, а также все LOD могут совместно использовать одну и ту же световую карту.

Высокоуровневые настройки для управления генерируемыми LOD находятся в окне просмотра статической сетки в разделе Настройки LOD.

Настройки LOD

«LOD Group» предоставляет список пресетов. Они могут быть изменены для каждого проекта в файле BaseEngine.ini в разделе [StaticMeshLODSettings]. Мы рекомендуем вам создать хорошие категории для вашего проекта и в основном использовать группы LOD вместо того, чтобы контролировать детали каждого LOD.

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

Если вы хотите повозиться с деталями автоматической генерации для каждого LOD, то их можно найти в разделе Настройки сокращения. Обратите внимание, что эта функция в настоящее время работает только со статическими сетками и что генерация LOD Mesh proxy еще не поддерживается.

unreal engine 4 уроки

unreal engine 4 уроки

 

unreal engine 4 уроки 2

Новое: Предварительно Вычисленные Сценарии Освещения

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

В приведенном выше примере направленный свет, sky light и skybox были помещены в уровень сценария освещения, называемый DayScenario. Уличные фонари были размещены в NightScenario.

Для использования сценариев освещения:

  • Щелкните правой кнопкой мыши на подуровне в окне уровни и измените его на сценарий освещения. Когда уровень сценария освещения становится видимым, его световые карты будут применены к миру.
  • Измените метод потоковой передачи уровня на Blueprint на уровне сценария освещения
  • Поместите сетки и светильники на этот уровень и постройте освещение
  • В начале воспроизведения схемы уровней вашего постоянного уровня выполните уровень потока загрузки на уровне сценария освещения, который вы хотите активировать.

Ограничения:

  • Одновременно в игре должен быть виден только один уровень сценария освещения.
  • При наличии уровня сценария освещения данные световых карт со всех подуровней будут помещены внутрь него, так что в дневное время загружаются только световые карты DayScenario. В результате световые карты больше не будут передаваться по подуровню.
  • Обновление захвата отражения происходит принудительно, когда уровень сценария освещения становится видимым, что может увеличить время загрузки.

Новое: Улучшенное Полупрозрачное Освещение На Пиксель

В отложенном рендерере новая функция прямого затенения теперь может использоваться на полупрозрачных поверхностях для получения зеркальных бликов от нескольких источников света и отражений на основе изображений от отражений с поправкой на параллакс!

Unreal engine 4 скачать

Новое: Полное Разрешение Затенения Кожи

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

визуализированная кожа

Шахматная доска визуализированная кожа (слева), кожа полного разрешения (справа) (Примечание: 3D-модель головы Ли Перри-Смита)

визуализированная кожа 2

Детализация поверхности-шахматная доска (слева), полное разрешение (справа)

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

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

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

Совместимость полное разрешение затенения кожи требует, по крайней мере, 64-битного формата цвета сцены с полным альфа-каналом. Формат цвета сцены FloatRGBA по умолчанию работает нормально, но 32-битные представления, такие как FloatRGB, не поддерживаются.

Если цветовой формат сцены не совместим с кожей полного разрешения, мы возвращаемся к шахматному освещению. Это поведение можно переопределить с помощью консольной переменной r.SSS.Checkerboard. Возможные значения для этого следующие:

0: шахматная доска отключена (полное разрешение)

1: шахматная доска включена (старое поведение)

2: автоматический (по умолчанию) —

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

  • Металлические материалы
  • Эмиссионные материалы

Эти функции будут работать, но вы можете заметить различия в выходных данных по сравнению с шахматной доской из-за упакованного диффузного/зеркального кодирования RGBA. Можно обойти некоторые проблемы при создании материалов, установив непрозрачность на 0 в тех областях, где затенение кожи нежелательно. Пиксели с нулевой непрозрачностью рассматриваются как освещенные по умолчанию для целей затенения.

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

Соображения Производительности

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

Однако если ваш заголовок имеет 32-битный цвет сцены, то выигрыш в производительности от уменьшенной пропускной способности текстуры, скорее всего, перевесит преимущества (хотя это зависит от аппаратного обеспечения).

Новое: Улучшение Качества Захвата Отражения

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

unreal engine 4 курсы

(Со смешиванием световых карт слева, без справа)

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

Смешивание световых карт больше не выполняется на очень гладких поверхностях. Поверхность с шероховатостью .3 получит полное смешивание световых карт, исчезая до отсутствия смешивания световых карт по шероховатости .1 и ниже. Это позволяет захватам отражения и SSR соответствовать гораздо лучше, и труднее обнаружить переходы.

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

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

Новое: Поддержка Visual Studio «15»

Unreal Engine 4.14 теперь грядет Visual Studio «15» из коробки. Visual Studio 2015 также по-прежнему поддерживается. Visual Studio » 15 » в настоящее время доступна в разделе “предварительный просмотр” с веб-сайта Microsoft Visual Studio.

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

Если у вас установлено несколько версий Visual Studio, вы можете выбрать, какие из них использовать, в разделе «исходный код» в разделе «настройки редактора».

настройки редактора

Новое: создание статической сетки из актеров

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

unreal engine 4 создать

Новое: поддержка NVIDIA Ansel

UE4 4.14 добавляет поддержку для Nvidia Ansel Photography! Ansel — это новый инструмент от NVIDIA, который позволяет игрокам делать внутриигровые скриншоты. В то время как в режиме Анселя игра будет приостановлена, и игроки будут иметь управление камерой, чтобы составлять снимки и применять различные экранные эффекты. Он также может захватывать различные скриншоты, от HDR до 360 стерео. Смотрите веб-сайт NVIDIA для получения более подробной информации.

unreal engine 4 требования

unreal engine 4 требования

Поддержка Ansel теперь доступна в виде нового плагина UE4. После включения плагина в вашем проекте вы можете получить доступ к Ansel в отдельной игровой сессии.

(Просмотр захвата Ansel 360 в веб-браузере)

Мы также представили функции в классе Player Camera Manager, чтобы ваши игры могли настроить поведение Ansel capture. Игры могут захотеть ограничить расстояние движения камеры, отключить элементы пользовательского интерфейса, отключить/включить определенные эффекты освещения или постобработки и т. д.

Спасибо Адаму Моссу и NVIDIA за предоставленную реализацию. Чтобы начать использовать эту функцию, ознакомьтесь с ‘Ansel_integration_guide.html-документ в папке плагинов Ansel. Официальная документация UE4 для Ansel скоро появится.

Новое: Улучшенный Кабельный Компонент

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

Кабельный компонент теперь включает в себя эти новые функции:

  • Простое столкновение, включая настройки трения
  • Установка жесткости, которая пытается уменьшить изгиб
  • Розетки на каждом конце кабеля
  • Возможность установить любой конец на » свободный’

Новое: контуры шрифта пользовательского интерфейса

Шрифты для UMG и Slate теперь имеют дополнительный контур, который можно применить к ним.

blueprint unreal engine 4

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

Любой виджет, задающий шрифт

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

Новое: редактируемая карта и набор свойств

Теперь мы поддерживаем редактирование карты и устанавливаем свойства из панели сведений!

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

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

unreal engine 4 системные

Новое: векторный шум в материалах

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

Узел графа шумового

/ Cellnoise / Векторный Шум / Градиент / Завиток / Вороной |

Новый узел векторного шума добавляет еще несколько с 3D или 4D векторными результатами. Из-за затрат времени выполнения этих функций рекомендуется, чтобы после разработки внешнего вида с их помощью все или часть вычислений были запечены в текстуру с использованием Draw Material для визуализации целевой функции Blueprint, введенной в 4.13.

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

  1. Cellnoise: возвращает случайный цвет для каждой ячейки в 3D-сетке (т. е. из математической операции пола, примененной к входному узлу узла). Результаты всегда последовательны для данной позиции, поэтому могут обеспечить надежный способ добавления случайности к материалу. Эта функция векторного шума чрезвычайно дешева в вычислении, поэтому нет необходимости выпекать ее в текстуру для повышения производительности.
  2. Perlin 3D Noise: вычисляет версию Симплексного шума Perlin с 3D-векторным выходом. Каждый выходной компонент находится в диапазоне от -1 до 1. Вычисление трех каналов шумового вывода одновременно дешевле, чем объединение результатов трех скалярных шумовых функций.
  3. градиент Перлина: вычисляет аналитический 3D-градиент скалярного Симплексного шума Перлина. На выходе получается четыре канала, где первые три (RGB) — это градиент, а четвертый (A) — скалярный шум. Это полезно для ударов и для карт потока на поверхности
  4. Perlin Curl: вычисляет аналитический 3D-скручиваемость векторного Симплексного шума Perlin (он же Curl Noise). На выходе получается 3D-подписанный вектор завитков. Это полезно для потока жидкости или частиц.
  5. вороной: вычисляет тот же самый шум Вороного, что и скалярный шум материального узла. Скалярный шум Вороного рассеивает начальные точки в трехмерном пространстве и возвращает расстояние до ближайшей из них. Версия векторного шума возвращает местоположение ближайшей начальной точки в RGB и расстояние до нее в A. особенно в сочетании с Cellnoise это может позволить некоторое рандомизированное поведение для каждой ячейки Вороного.Ниже приведен простой материал каменного ложа, использующий компонент расстояния векторного шума / Вороного для модуляции некоторых поверхностных ударов и смешивания мха в трещинах, а также положение семян вместе с векторным шумом / Cellnoise для изменения цвета и высоты удара по камню.

unreal engine 4 разработка

Perlin Curl и Perlin Gradient могут быть сложены вместе в октавах, так же как и обычный шум Perlin. Для более сложных выражений необходимо вычислить градиент результата выражения. Чтобы помочь в этом, поместите выражение для вычисления в материальную функцию и используйте его с вспомогательными узлами Prepare3DDeriv, Compute3DDerivи GradFrom3DDeriv или CurlFrom3DDeriv

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

unreal engine 4 games

Новое: Обновление PhysX 3.4

Unreal Engine теперь использует последнюю версию NVIDIA PhysX, которая составляет 3.4. это обеспечивает улучшенную производительность и использование памяти для жестких тел и запросов сцен (особенно многоядерной производительности).)

Эта версия PhysX позволяет осуществлять непрерывное обнаружение столкновений (CCD) на кинематических объектах, что позволяет точно определять столкновения между очень быстро движущимися твердыми телами! В анимации ниже с уровня теста Robo Recall игрок проводит пальцем по оружию, чтобы ударить по встречной пуле!

Новые функции, доступные для использования в UE4 сразу же:

  • Поддержка непрерывного обнаружения столкновений (CCD) для кинематических объектов (показано в анимации выше!)
  • Более быстрое обновление кинематических объектов
  • Более быстрое приготовление выпуклой оболочки

В будущих выпусках мы представим больше новых физических функций, доступных в последней версии PhysX.

Новое: Обновление Редактора Анимации

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

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

  • Редактор скелетных сеток претерпел изменения в своей компоновке и в панели сведений об активах, в частности были пересмотрены разделы материалов и LOD.
  • Редактор скелетов изменил свой макет, а само дерево скелетов было отполировано.
  • В Редакторе анимации был изменен макет, а браузер активов получил возможность при необходимости добавлять и удалять свои столбцы.
  • Редактор анимационных чертежей был изменен, чтобы его макет более точно соответствовал стандартному редактору чертежей. Редактор предварительного просмотра Anim теперь может дополнительно применить изменения, внесенные в свойства предварительного просмотра, к классу по умолчанию.

Панель Быстрого Доступа К Активам

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

Запись перенесена в управление транспортом

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

Настройка Сцены Предварительного Просмотра

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

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

Новое: Окно Анимационной Кривой

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

Раньше вы могли настраивать кривые только для самих анимационных ресурсов, но теперь вы будете устанавливать их для скелета.

Новое: Шаблоны Дочерних Актеров

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

Как только вы добавите дочерний компонент актера, вы увидите расширяемый шаблон на панели сведений редактора чертежей актера-владельца. Отсюда вы можете получить доступ ко всем свойствам дочернего субъекта, включая общедоступные переменные. Например, если у вас есть Blueprint_A

  • содержа компонент PointLight с публичной переменной, управляющей его цветом, а затем сделав этот Blueprint дочерним компонентом актора в *Blueprint_B*, теперь вы можете настроить эту цветовую переменную из панели сведений *Blueprint_B!

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

Новое: Схема Анимации По Умолчанию

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

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

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

Новое: ландшафтное редактирование в VR

Теперь вы можете создавать и лепить ландшафт и рисовать ландшафтные материалы, используя контроллеры движения в виртуальной реальности!

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

Новое: улучшена поддержка транспортных средств

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

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

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

Новое: улучшена поддержка Vulkan на Android

Unreal Engine 4.14 готов к отправке игр с поддержкой Vulkan!

  • UE4 поддерживает устройства Android 7 (Nougat) с драйверами Vulkan, а также Samsung Galaxy S7 с недавним обновлением OTA.
  • Многие проблемы рендеринга были исправлены с помощью рендерера UE4 Vulkan на устройствах Android.
  • Рендерер автоматически вернется к OpenGL ES при запуске на устройствах Android,которые не поддерживают Vulkan.
  • Поддержка Vulkan на определенных устройствах и версиях драйверов теперь может быть включена или отключена с помощью профилей устройств, с резервным выходом на ES 3.1 и ES 2. это позволяет играм UE4 отключить поддержку Vulkan и использовать OpenGL ES на телефонах с неполными или сломанными реализациями Vulkan.

Новое: поддержка пользовательской глубины на мобильном телефоне

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

Поскольку он требует постобработки, мобильный HDR должен быть включен, и эта функция в настоящее время не работает, пока включен мобильный MSAA.

Новое: улучшения захвата сцен на мобильных устройствах

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

  • Опция» SceneColor (HDR) in RGB, Inv Opacity in A» может быть использована для визуализации объектов с прозрачностью в текстуру, которая затем может быть альфа-смешана поверх схемы сцены или виджета.
  • Аналогично, значение глубины можно использовать в качестве маски при использовании результирующей текстуры.
  • Генерация данных непрозрачности имеет некоторые затраты, поэтому используйте «SceneColor (HDR) in RGB, 0 in A» для повышения производительности, если вам не нужна непрозрачность
  • Захват сцен теперь корректно работает на устройствах, которые не поддерживают цели с плавающей запятой, таких как Galaxy S6 до Android 6.

Новое: Улучшенная Обшивка Ткани

Мы добавили возможность вычислять наши собственные данные обшивки от сетки к сетке для одежды внутри движка, поэтому вместо использования данных рендеринга, экспортированных в файл .apx или .apb, мы теперь используем данные рендеринга, которые уже есть у UE4. Мы берем сетку моделирования из экспортированного актива APEX и переносим наши данные рендеринга на эту сетку. Это означает, что конечные данные должны выглядеть так же хорошо, как и первоначально импортированные.

Это приносит несколько преимуществ. Нормали ранее могли казаться неправильными (см. изображение ниже), и вы ранее были ограничены одним УФ-каналом. Обе эти проблемы решаются с помощью новой системы снятия шкур.

Новое: Узлы Атрибутов Материала

Работа с атрибутами материалов теперь легче читается и менее подвержена ошибкам в рамках постоянного обновления для улучшения расширяемости свойств материалов.

  • GetMaterialAttributes — этот узел является компактной заменой BreakMaterialAttributes
  • SetMaterialAttributes — этот узел является компактной заменой MakeMaterialAttributes
  • BlendMaterialAttributes-это новый узел, позволяющий упростить смешивание структур атрибутов материала.

Основное улучшение для узлов Get и Set заключается в том, что пины дополнительно добавляются в отличие от узлов Break и Make, которые по умолчанию предоставляют все атрибуты. Это позволяет графикам избежать старого рабочего процесса, который требовал ручного подключения каждого пин-кода атрибута.

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

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

Любой атрибут, явно не указанный на узле, передается с помощью pin-кода основных атрибутов материала, включая те, которые добавляются после создания графика материала. С узлами Make и Break будет добавлен новый pin-код, и все графики будут нуждаться в ручном обновлении.

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

По умолчанию узел Blend выполняет линейную интерполяцию (lerp) для всех атрибутов материала с использованием Альфа-входа. Узел имеет флажки для отказа от смешивания на уровне вершин / пикселей, чтобы облегчить управление при использовании данных маски только для вершин или только для пикселей.

Подобно новым узлам Get и Set выше, узел Blend автоматически обрабатывает новые добавляемые или удаляемые атрибуты и позволяет программистам задавать пользовательское поведение смешивания при регистрации атрибутов.

Новое: предварительно ободранное локальное положение в материалах

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

Новое: Улучшенный Импорт/Экспорт Снимков Секвенсора

Видеозапись с ручками кадров на кадр. Мастер-последовательности теперь можно визуализировать с дополнительными кадрами в начале и конце каждого кадра. Эти дополнительные кадры вырезаются из списка решений редактирования (EDL), который может быть использован во внешнем пакете редактирования видео для регулировки вырезов между кадрами.

Новое: Улучшенный Кран Установки Камеры

Мы изменили поведение крана-манипулятора камеры таким образом, чтобы он имитировал движение физического крана.

  • Крен и рыскание крепления крана камеры равны 0.
  • Добавьте переключатели для блокировки шага/рыскания крепления крана. По умолчанию они не заблокированы, так что камера будет оставаться на одном уровне с землей.

Новое: Запись Звука Секвенсора

Теперь вы можете записывать звук с микрофона во время записи в последовательность.

Новое: Улучшение Драйвера Позы

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

Мы также добавили возможность использовать перевод движущей кости вместо ее ориентации. Отладочный рисунок был улучшен, чтобы показать каждую «целевую» позу и то, насколько близко к ней в данный момент находится кость.

Новое: Виртуальные Кости

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

Например, вы можете добавить сустав, который является дочерним от руки, но ограничен ладонным суставом. В отличие от сокета, тогда это соединение может быть использовано в Animation Blueprint в качестве цели — т. е. IK target или look at target — или вы можете изменить их в AnimBP для последующего использования.

Это помогает улучшить время итерации символов. Ранее, если вы изменили свою целевую иерархию суставов для IK или aim, вам нужно было сделать это в outside of engine, DCC, и импортировать обратно все анимации, чтобы исправить анимационные данные с включенным этим новым суставом, но эта виртуальная кость позволит вам пропустить это и выполнить всю работу в двигателе.

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

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

Новое: Morph Target Debug View Mode

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

Новое: Детские Анимационные Монтажи

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

Новое: плагин MIDI-устройства

Этот релиз содержит новый плагин» MIDI Device » для взаимодействия с музыкальным оборудованием

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

  • Включите плагин «MIDI Device» с помощью пользовательского интерфейса Plugins, а затем перезапустите Unreal Editor.
  • Найдите «MIDI Device Manager»в меню Blueprint RMB.
  • Позвоните в раздел «Поиск MIDI-устройств», чтобы выбрать свое любимое устройство.
  • Разбейте структуру «найденное MIDI-устройство», чтобы увидеть, что доступно.
  • Затем вызовите «Create MIDI Device Controller» для нужного вам устройства. Сохраните это в переменной. (Очень важно хранить ссылку на объект в переменной, иначе она будет собираться мусором и не будет получать события!)
  • На контроллере вашего MIDI-устройства свяжите свое собственное событие с событием» On MIDI Event». Это будет называться каждый игровой тик, когда есть хотя бы одно новое MIDI-событие для получения.
  • Обработайте данные, переданные в событие, чтобы заставить ваш проект делать вещи!

Новое: Инструмент Поворота Ландшафта

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

Новое: Улучшенный Импорт Слота Сетчатого Материала

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

Каждый элемент в списке является слотом материала со следующей информацией

  • Название слота
    • Имя слота используется для сопоставления материала при реимпорте. Когда сетка повторно переносится, она ищет это имя в файле FBX, чтобы определить, какие секции должны соответствовать существующим материалам. Раньше это зависело от упорядочения индексов, которое легко выходило из строя.
    • Сетки, которые были импортированы до этого изменения, будут иметь свой слот материала, установленный в none. Сетки, импортированные после этого изменения, по умолчанию будут иметь свой слот материала, заданный именем импортированного материала.
  • Ссылка на материальные активы
  • Исходное имя импортированного материала (во всплывающей подсказке)

В Blueprints и C++ теперь можно использовать имя слота материала вместо использования жестко закодированного индекса для извлечения слота материала. Вызовите Set Material по имени, чтобы задать динамический материал для скелетной сетки или статического компонента сетки. Использование поиска по имени вместо индекса гарантирует, что игровой код все еще будет работать должным образом, если порядок материалов на сетке изменится.

Новое: обновление платформы SDK

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

  • Xbox One: обновлен до августа 2016 года QFE 2
  • Playstation 4: обновлен до PSR SDK 4.008.061
  • HTML5: обновлен до Emscripten 1.36.13
  • macOS: теперь поддерживает 10.12 Sierra, Xcode 8.1
  • iOS/tvOS: теперь поддерживает iOS10/tvOS10, Xcode 8.1

Новое: библиотека Blueprint для мобильной загрузки/исправления

Новая библиотека Blueprint Mobile Patch Utilities содержит все функциональные возможности, необходимые для того, чтобы мобильная игра могла загружать и устанавливать содержимое игр и патчи с облачного веб-сайта, а не распространяться как часть первоначальной загрузки из App Store.

Существует функциональность для определения наличия обновленного игрового контента, инициирования загрузки, отслеживания прогресса, обработки любых ошибок и, наконец, установки пакетов контента, которые были успешно загружены. Функциональность для проверки достаточного места для хранения и подключения Wi-Fi также доступна, так что схема может предупредить пользователя в таких случаях. Поддерживаются как Android, так и iOS.

Новое: плагин Amazon GameCircle для Kindle Fire

Теперь в комплект входит новая онлайн-подсистема GameCircle plugin!

GameCircle Achievements, Leaderboards, and Friends is supports as well as Amazon In-App Purchases. Включение плагина обеспечит доступ к новой панели настроек проекта Amazon GameCircle в категории Плагины. Изменения в программе AndroidManifest.xml для огня телевизор может быть включен здесь.

Новое: Live GPU Profiler

UE 4.14 включает в себя профилировщик GPU в реальном времени, который предоставляет статистику по каждому кадру для основных категорий рендеринга. Чтобы использовать его, введите консольную команду «stat gpu». Вы также можете вызвать их в редакторе с помощью подменю «Stat» в раскрывающемся списке параметры видового экрана.

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

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

Статистика GPU может быть записана в файл, когда заголовок будет запущен для последующего анализа. Как и в случае с существующей статистикой, вы можете использовать консольные команды «stat startfile» и «stat stopfile» для записи статистики в файл ue4stats, а затем визуализировать их, открыв файл в инструменте Unreal Frontend.

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

Статистика объявляется в коде как плавающие счетчики, например:

DECLARE_FLOAT_COUNTER_STAT (TEXT («Postprocessing»), Stat_GPU_Postprocessing, STATGROUP_GPU);

Блоки кода в потоке рендеринга затем могут быть инструментированы с помощью макросов SCOPED_GPU_STAT, которые ссылаются на эти имена статов. Они работают аналогично SCOPED_DRAW_EVENT. Например:

SCOPED_GPU_STAT(RHICmdList, Stat_GPU_Postprocessing);

Работа GPU, которая явно не инструментирована, будет включена в статистику catch-all [UNCOUNTED]. Если это становится слишком высоким, это указывает на то, что некоторые дополнительные события SCOPED_GPU_STAT необходимы для учета недостающей работы. Стоит отметить, что в отличие от событий розыгрыша, статистика GPU является кумулятивной. Вы можете добавить несколько записей для одной и той же статистики, и они агрегируются по всему фрейму.

В некоторых случаях, связанных с процессором, тайминги GPU могут быть затронуты узкими местами процессора (пузырьками), где GPU ждет, пока процессор догонит его, поэтому, пожалуйста, учтите, что если вы видите неожиданные результаты в случаях, когда время потока рисования велико. На PlayStation 4 мы исправляем эти пузыри, исключая время между отправкой списка команд из тайм-аута. В будущих выпусках мы будем расширять эту функциональность на другие современные API рендеринга.

Новое: улучшенный Атлас текстур слияния актеров (экспериментальный)

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

(Слева: материалы с равным весом. Справа: метод биннинга) Новая функциональность сначала вычисляет важность отдельного материала в соответствии с максимальным размером текстуры, которую он пробует. Эти значения затем используются для вычисления объема пространства, которое должен занимать материал, и для итеративного добавления каждой текстуры в атлас-текстуру.

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

Новое: поддержка Android на Linux

Благодаря pull-запросам от сообщества у нас теперь есть поддержка Android для Linux. CodeWorks для Android от NVIDIA для Linux — это самый простой способ настроить необходимые инструменты NDK и SDK. Кроме того, должен быть установлен OpenJDK 1.8; установите JAVA_HOME, чтобы указать на вашу установку. Обратите внимание, что Android Vulkan на Linux в настоящее время не поддерживается.

Новое: Редактор Медиаплеера

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

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

Новое: поддержка VR Multiview для мобильных устройств

Теперь вы можете использовать Mobile multiview path на поддерживаемых устройствах! Mobile multiview аналогичен instanced stereo на рабочем столе и обеспечивает оптимизированный путь для рендеринга стерео на процессоре.

Чтобы использовать эту функцию, включите ее в настройках Вашего проекта, в разделе VR. Чтобы эта функция работала, настройки сборки Android должны быть установлены на OpenGL ES2, мобильный HDR должен быть отключен, а экземпляр стерео должен быть отключен.

В настоящее время эта функция совместима с современными графическими процессорами на базе Mali. Если вы упаковываете пакет с включенной функцией, но не имеете совместимого графического процессора, он будет отключен во время выполнения.

Эта функция все еще считается экспериментальной, поскольку мы проверяем совместимость с большим количеством функций и устройств.

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

Новое: поддержка слоев для SteamVR и PSVR

Поддержка слоев теперь добавлена как для SteamVR, так и для PSVR! Он работает точно так же, как и для плагина Oculus Rift, используя компонент Stereo Layer.

Новое: VR загрузка фильмов

Теперь движок поддерживает загрузку фильмов на Oculus, GearVR, SteamVR и PSVR. Они работают в потоке рендеринга и могут маскировать сбои частоты кадров при загрузке контента. Чтобы использовать заставку, вы можете установить текстуру с помощью узла» установить заставку «или выбрать автоматическое ее отображение при загрузке карты с помощью узла” включить автоматическую загрузку заставки».

Новое: поддержка PSVR для нескольких целевых показателей частоты кадров

Теперь мы поддерживаем нативную репроекцию от 90 Гц до 90 Гц и репроекцию от 120 Гц до 120 Гц на PSVR! Это означает, что вы можете выбрать работу с более высокой частотой кадров, чтобы минимизировать задержку и артефакты перепроектирования. Движок ограничит вашу частоту кадров выбранным вами вариантом, но вы все равно несете ответственность за то, чтобы постоянно поддерживать эту частоту кадров!

Новое: поддержка мультитач в Windows

Сенсорные события теперь будут создаваться в Windows 7, 8 и 10 при использовании сенсорного экрана. Это позволит включить сенсорные игры и опыт работы на новых планшетах Windows, а также позволяет тестировать сенсорные элементы управления для мобильных игр без необходимости развертывания на целевом устройстве.

Новое: быстрая асинхронная система загрузки (экспериментальная)

Готовые сборки теперь могут использовать совершенно новый Event Driven Loader, который намного эффективнее, чем старый потоковый код. Игры, использующие EDL, должны видеть, что время загрузки падает примерно на 50%, но во многих случаях это может быть значительно быстрее. Event Driven Loader поставляется с унифицированным путем кода для загрузки активов.

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

Новое: упрощенный режим игры и классы состояния игры

Мы добавили новые базовые классы Game Mode и Game State в качестве родителей существующих классов Game Mode и Game State. Основные функции, необходимые для всех игр, теперь находятся в базовых классах, в то время как функции legacy и shooter-specific находятся в игровом режиме/игровом состоянии.

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

Это изменение является частью продолжающихся усилий по обновлению старых классов геймплея, чтобы их было легче понять и подкласс для проектов всех типов. Все образцы, отличные от Shooter Game, были обновлены для использования базовых классов, в то время как Shooter Game показывает, как использовать некоторые из более специфичных для шутера функций в устаревших классах. Режим игры / состояние игры будут по-прежнему поддерживаться, и вы должны подклассировать версию, которая больше подходит для вашей игры.

Новое: Более Быстрая Репликация Сети

Был проведен внутренний ре-фактор того, как мы реплицируем свойства с сервера на подключенные клиенты.

Мы изменили код, чтобы более эффективно использовать репликацию свойств во многих соединениях. До этого изменения мы использовали только общий доступ к работе безусловных свойств (свойства, зарегистрированные в DOREPLIFETIME, а не в DOREPLIFETIME_CONDITION). Теперь мы разделяем работу для всех типов объектов недвижимости. Это означает, что работа, которую мы выполняем, чтобы проверить, когда свойства изменились (и должны быть отправлены), происходит гораздо реже.

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

Примечания К Выпуску

ИИ

  • Новое: добавлен флаг «включить систему искусственного интеллекта» в Настройки мира, который контролирует, будет ли создана система искусственного интеллекта для данной карты.
  • Исправление: Исправлена проблема с нарезкой времени AI Sense Sight, непреднамеренно пропускающей старение очереди, если был достигнут заданный лимит времени.
  • Исправление: Исправлена ошибка, основанная на том, должен ли ИИ поворачиваться или нет, сравнивая текущее желаемое вращение с желаемым вращением последнего обновления. ИИ должен поворачиваться в зависимости от того, отличается ли текущее желаемое вращение от вращения пешки.
  • Улучшения для согласованности использования громкости в слухе AI Sense.
  • Незначительное косметическое исправление предварительного просмотра функции оценки тестов эквалайзеров.
  • Выбор режима трассировки геометрии больше не будет проецироваться на навигационную сетку сначала в генераторах эквалайзеров проецируемых точек.
Дерево Поведения
  • Новое: расширена функция BT Decorator Is At Location с возможностью использования поставщика данных AI.
  • Новое: комментарии с несколькими узлами теперь поддерживаются в Редакторе дерева поведения. Это аналогично функциональности редактора чертежей.
  • Исправление: Исправлена проблема с функцией BT Decorator Compare BB Entries, так что она работает независимо от порядка поставляемых ключей BB.
  • Исправление: механика синхронизации ключей Blackboard правильно обрабатывает больше крайних случаев и сложных сценариев наследования.
  • Исправление: Исправлена проблема распространения постоянных ключей Blackboard, приводящая к отсутствию этих ключей или их удвоению в дочерних активах Blackboard.
  • Исправление: Исправлена ошибка, из-за которой производная доска иногда получала механику после загрузки раньше своих родителей.
Навигация
  • Исправление: прерывание предыдущих запросов движения как часть запроса Нового больше не сбрасывает текущую скорость агента.
  • Исправление: функция Blueprint «AI Move To» больше не использует навигационный фильтр контроллера AI по умолчанию.
  • Исправление: исправлен экспорт навигации для ландшафта, не обрабатывающий зеркальное отображение и асинхронный сбор правильно.
  • Исправление: Исправлена проблема с экспортом навигации для компонента капсулы.
  • Исправление: режим Navlink «привязка к самой дешевой области» теперь корректно работает с динамическими навигационными сетями.
  • Исправление: поколение Navmesh больше не застревает в бесконечном цикле.
  • Исправление: Исправлена ошибка с параметрами избегания RVO транспортного средства.
  • Исправление: Исправлена проблема с компонентом Path Following для “Has Reached“, не использующим радиус цели, когда” Use Nav Agent Goal Location » имеет значение false. Когда “Use Nav Agent Goal Location » установлено в true, мы хотим избежать использования местоположения цели в navmesh, но вместо этого приемлемость радиуса должна основываться на радиусе цели.
  • Компонент Path Following различает частичные и полные пути с точки зрения используемого радиуса принятия. Это заставит частичные пути вести себя так, как ожидалось, с нетривиальными большими радиусами принятия.
  • Был увеличен предел слоя для генерации navmesh.
  • Update Move Focus очистит фокус только в том случае, если следующий за ним компонент находится в режиме ожидания. Это позволяет ИИ вращаться в правильном направлении, когда движения приостанавливаются.

Анимация

  • Новое: добавлена опция «Strip Animation Data On Dedicated Server» в настройках анимации. Это приведет к удалению всех сжатых данных из подготовленных данных сервера. По умолчанию отключено.
  • Новое: добавлен узел «Aim Offset Look At». Узел смещения цели, который автоматически управляет своими входными сигналами из целевого местоположения и исходного сокета.
  • Новое: добавлены настройки преобразования в процесс импорта перегонного куба. Это позволяет сделать следующее:
    • Инвертирование УФ-каналов.
    • Применение матрицы преобразования к файлу перегонного куба.
    • Пресеты для Autodesk Maya и 3DS Max.
  • Новое: добавлен аним-узел «Легик», который поддерживает две или более костей на конечность с минимальным компрессионным вращательным ограничением.
  • Новое: добавлена логика для разделения перекрывающихся уведомлений на отдельные треки. Уведомления больше не могут быть скрыты от пользователя, занимая одно и то же время на одном и том же треке.
  • Новое: добавлена возможность копирования выбранных целевых имен Морфов в буфер обмена.
  • Новое: добавлено время начала монтажа игрового узла и анимация игрового слота в виде динамического монтажа.
  • Новое: добавлена возможность пропускать пустые кадры «преролла» при импорте перегонного файла и улучшена информация о кадрах для пользовательского интерфейса параметров импорта.
  • Новое: свойство анимации «длина последовательности» теперь можно прочитать в чертежах.
  • Новое: добавлена возможность открыть Anim Montage, чтобы открыть актив из контекстного меню сегмента.
  • Новое: добавлена возможность для выбранной цели морфинга просматривать измененные вершины, находясь в персоне.
  • Новое: добавлена возможность теперь вставить текущую позу в актив Pose с помощью Insert Pose.
  • Новое: Добавлено Детерминированное Приготовление Пищи SmartName:
    • SmartName отбрасывает GUID во время приготовления пищи, а DisplayName становится идентификатором во время приготовления пищи.
    • GUID создал недетерминированную кулинарию, в результате чего размер патча стал огромным без каких-либо фактических изменений данных.
  • Исправление: Исправлена ошибка при прикреплении подчиненных компонентов с различным количеством костей.
  • Исправление: Исправлена ошибка с ретаргетингом аддитивного анимационного монтажа.
  • Исправление: Исправлена ошибка при маршрутизации провода через несколько узлов повторного маршрута в схеме анимации.
  • Исправление: Исправлена ошибка в “Get Post Curve » при импорте позы в актив pose.
  • Исправление: Исправлена ошибка, когда был включен ретаргетинг anim Blueprint с “разрешить переназначение на существующие активы».
  • Исправление: Исправлена ошибка при вызове “установить режим анимации » на компоненте без скелетной сетки.
  • Исправление: Исправлена ошибка при повторном создании скелета из-за конфликта слияния он добавит все скелетные сетки обратно в скелет, так что он воссоздаст всю иерархию.
  • Исправление: Исправлена проблема с недопустимым расчетом привязки в Calculate LOD Count.
  • Исправление: убедитесь, что счетчик беглых циклов сбрасывается при обработке параллельной анимации.
  • Исправление: Исправлена проблема с быстрым копированием структуры пути, нарушаемым для векторов.
  • Исправление: Исправлена проблема с предупреждением, вызванным вызовом “Get Bone Transform” до регистрации компонента master pose
  • Исправление: Исправлена проблема, при которой слоистая смесь на кость нечетное/четное соединение считалось попеременно работающим/не работающим
  • Исправление: Исправлена проблема со смещением сетки пола в Persona, когда было включено автоматическое выравнивание.
  • Исправление: Исправлена проблема с мерцанием позы при изменении LOD при использовании узла «слоистая смесь по кости».
  • Исправление: Исправлена проблема с остановкой создания пустых состояний при перетаскивании монтажей в государственные машины.
  • Исправление: Исправлена ошибка с проверкой экземпляра Anim “выполняется параллельная Оценка», чтобы правильно проверить, ссылается ли компонент скелетной сетки на используемый экземпляр Anim.
  • Исправление: Исправлена проблема с” сгенерированной » строкой, появляющейся для скелетной сетки LOD, которая ранее была автоматически сгенерирована, но была повторно перенесена из FBX.
  • Исправление: Исправлена проблема с отображением еще одного кадра для анимации.
    • Например, для 30 кадров он показывал 0-30, что неверно и должно быть 0-29.
    • Чтобы избежать путаницы, теперь он не отображает количество ключей. Он будет отображать последний номер кадра, поэтому он будет выглядеть по-другому, но данные все равно останутся прежними.
  • Исправление: Исправлена проблема с рядом случаев, когда функции экземпляра анимации подэкзамена неправильно передавались через основной экземпляр.
  • Исправление: Исправлена проблема с флажком «авто»на целевой панели Morph.
  • Исправление: Исправлена проблема с функциональностью опции «Показывать несжатую анимацию»в видовых экранах Persona.
  • Исправление: Исправлена проблема с записями на вкладке Anim Curves, теряющими состояние «auto» при скрытии/изменении формы.
  • Исправление: удалены странные звездочки во всплывающих подсказках на узле «множитель вращения».
  • Исправление: исправлены неправильные всплывающие подсказки на узле «ручной IK ретаргетинг».
  • Исправление: Исправлена ошибка в монтажах, когда неправильный раздел обновлялся изменениями с панели сведений при нажатии на другой раздел.
  • Исправление: Исправлена ошибка, когда дублирование последовательности Anim, которая была отредактирована слоем, применяло бы слой дважды.
  • Исправление: Исправлена ошибка, из-за которой объекты кэша геометрии не были видны в автономных (упакованных) сборках.
  • Исправление: Исправлена проблема с сочетаниями клавиш для панели редактора активов Pose.
  • Исправление: Исправлена проблема с сочетаниями клавиш на панели просмотра кривых.
  • Исправление: Исправлена проблема с уведомлением состояний, не заканчивающихся при очистке экземпляра анимации.
  • Исправление: Исправлена проблема с осиротевшими узлами перехода, создаваемыми при их дублировании или вставке без двух действительных контактных ссылок.
  • Исправление: Исправлена проблема с переопределением материалов, висящих вокруг при установке скелетных сеток.
  • Исправление: Исправлена проблема с настройками pin-кода по умолчанию на узлах подэкзамена, перезаписывающими настройки по умолчанию на внутреннем классе.
    • Значения по умолчанию класса теперь будут скопированы в pin-код.
  • Исправление: Исправлена проблема с смешиванием активов pose.
    • Нормализация была удалена для Весов, которые меньше единицы, так что позы не мгновенно ломаются.
  • Исправление: Исправлена ошибка, из-за которой актив Pose оценивал кривую в неправильном фрейме.
  • Исправление: Исправлена ошибка, из-за которой список редактора активов Pose не обновлялся при изменении исходной анимации.
  • Исправление: Исправлена проблема с “удалить линейный ключ » для аддитивной анимации с момента добавления DDC.
  • Исправление: Исправлена проблема с” корневым движением от всего», вычисляющим неправильное корневое движение, когда анимация не тикает.
  • Исправление: Исправлена проблема с частотой дискретизации, не применяемой для частоты дискретизации по умолчанию при импорте анимации.
  • Исправление: исправлены некоторые несоответствия в редактировании ИК в видовых экранах внутри Persona при изменении пространств эффекторов.
  • Исправление: Исправлена проблема с разделением пинов структуры на анимационных узлах, иногда теряющих свои ссылки при перезапуске редактора.
  • Исправление: Исправлена ошибка, из-за которой автоматические свойства подэкзамена появлялись на панели сведений.
  • Исправление: исправлена опечатка в коде накопления » корневое движение от всего”, где мы вычисляли вес корневого движения, используя неправильную переменную.
  • Исправление: Исправлена ошибка, из-за которой отмена и переделка заставляли скелетную сетку принимать Т-образную позу.
  • Исправление: Исправлена ошибка при импорте морфологических целей с фиксированным количеством кадров.
  • Исправление: Исправлена проблема с триангуляцией Blendspace.
  • Улучшена реакция редактора при перетаскивании аддитивного индекса кадра (остановите сжатие анимации, происходящее при каждом движении мыши).
  • Не-POD структуры теперь могут быть скопированы с помощью «быстрого пути»в чертежах анимации.
  • Предотвращено сохранение недопустимых идентификаторов GUID в контейнерах SmartName.
  • Удалено предупреждение сохранения пустых анимаций из ресурсов, содержащих данные кривой.
  • Кэшированный список UID анимационной Кривой теперь был перемещен в контейнер Bone из экземпляра Anim при подготовке поддерживающей кривой, связывающей функцию bone, чтобы вы могли отбраковаться для определенного LOD.
  • Изменено “создать физический актив » в контекстном меню для скелетных сеток, чтобы включить создание физического актива без необходимости назначать его скелетной сетке. Это облегчает создание новых активов для Capsule Shadows.
  • Изменено редактирование встроенного имени кривой, чтобы изменить только имя этой конкретной кривой, а не переименовывать само имя SmartName.
Анимационный Чертеж
  • Исправление: Исправлен сбой при использовании отладки anim с под-экземплярами, которым предшествуют ветвящиеся узлы.
  • Исправление: Исправлен сбой при принудительном ref pose во время инициализации anim Blueprint при использовании экземпляров sub anim.
  • Исправление: Исправлен сбой при использовании суб-экземпляров в состояниях без входа.
Инструменты
  • Новое: добавлен скелетный рефактор рабочего процесса LOD.
    • Теперь мы отслеживаем исходные файлы для LODs, чтобы сэкономить время при частой реимпортации LODs.

Аудио

  • Новое: добавлена команда отладки для соло конкретных звуковых волн, звуковых сигналов и звуковых классов.
  • Новое: аудиопоток теперь включен по умолчанию.
  • Новое: статика геймплея “Create Sound 2D” и «Spawn Sound 2D» теперь имеют логический параметр, который указывает, что звук должен сохраняться на всех переходах уровней.
    • Обратите внимание, что возвращаемый компонент должен продолжать ссылаться на что-то (Экземпляр игры-хороший вариант), иначе он будет собран мусором, и звук остановится.
  • Новое: циклические звуки теперь доступны для поиска по реестру активов.
  • Новое: создание возможности подавлять субтитры A UPROPERTY.
  • Новое: добавлена поддержка синтаксического анализа файлов. wav с помощью блока формата WAVE_FORMAT_EXTENSIBLE.
  • Новое: добавлена поддержка приостановки отдельных аудиокомпонентов.
  • Исправление: Исправлена ошибка, которая могла возникнуть при копировании и вставке неопределенного пользовательского звукового узла из одного проекта в проект, в котором нет пользовательского узла.
  • Исправление: Исправлена ошибка для однократных экземпляров звуковой волны, непреднамеренно запускающихся из активных звуков, когда громкость микширования равна 0.
  • Исправление: Исправлена проблема с задержкой звукового сигнала, которая не потребляла стартовое время правильно.
  • Исправление: Исправлена проблема с затуханием на 2D-многоканальных источниках звука.
  • Исправление: Исправлена проблема с правилом разрешения параллелизма stop quietest с циклическими звуковыми волнами.
  • Исправление: Исправлена проблема с перекрестным затуханием расстояния между звуковыми узлами в случае циклических звуков.
  • Исправление: Исправлена ошибка, из-за которой отмена в Редакторе звуковых сигналов не отменяла циклические изменения.
  • Исправление: исправлены различные проблемы безопасности потока с окклюзией на аудиопотоке.
  • Подключил настройки качества сжатия к файлам AT9.
  • Предотвратите остановку процедурных звуковых волн, если они генерируют 0 байт данных.
  • Чтение сжатой информации вычисляет длительность звука ADPCM.

Автоматизация

  • Новое: добавлена генерация файла сводного отчета json как часть всех автоматических сводок тестов.
  • Новое: функциональные тесты теперь поддерживают предупреждения как ошибки на основе каждого теста.
  • Новое: включены файлы. tps в установленную сборку, чтобы облегчить пользователям идентификацию используемого стороннего программного обеспечения. Также включен источник для дополнительных программ к установленной сборке.
  • Новое: добавлена документация/дополнительные услуги в установленной сборке.
  • Исправление: Исправлена ошибка с равным тестом добавить сообщение об ошибке в базе тестов автоматизации
  • Исправление: Исправлены проблемы с интерфейсом мобильного устройства в установленных сборках.
  • Исправление: Исправлена ошибка, из-за которой сеансы Android не появлялись в интерфейсе сеанса.
  • Исправление: исправлена поддержка PS4 в установленных сборках.
  • Исправление: исправлены различные проблемы надежности соединения с транспортом сообщений TCP, используемым для автоматизации тестирования на мобильных устройствах.
  • Исправление: исправлены различные проблемы при развертывании PS4.
  • Исправление: исправлена поддержка Xbox для установленных сборок, созданных с помощью скрипта Build Graph.
  • Автоматизация — пресеты теперь хранятся в файлах json, хранящихся в конфигурации, так что они могут быть общими и удобочитаемыми для человека. Работа над автоматизацией скриншотов, получение ее там, где она должна быть, чтобы позволить нам иметь повторяемые тесты для сравнения.
  • Каждый сеанс, запущенный с вкладки запуска фронтенда сеанса, теперь имеет уникальный GUID, и они правильно будут отображаться как отдельные сеансы на вкладке автоматизация.
  • Исключено еще несколько промежуточных звеньев из установленной сборки.
  • Функциональные тесты теперь корректно выполняются в сборке без редактора.
  • Функциональные тесты больше не будут перемещать камеру, если пользователь использует отладочную камеру.

Чертежи

  • New: добавлен новый узел” is Standalone», который возвращает true, если игра работает в автономном режиме.
  • Новое: добавлена возможность изменять кривые, используемые временной шкалой во время выполнения.
  • Новое: добавлена опция в разделе настройки редактора Blueprint для “отображения уникальных имен узлов Blueprint», а не типа узла.
  • Новое: Blueprint Nativization: уменьшен размер исполняемого файла.
  • Новое: добавлена возможность помечать компоненты, добавленные через Blueprints только в качестве редактора.
  • New: Exposed “Get Component By Class” to Blueprints.
  • Новое: подвергли методу «бодрствует ли любое твердое тело» для примитивных компонентов чертежей. Это позволяет чертежу определить, выполняется ли на объекте физическое моделирование, и выполняет запрос на определение того, является ли объект «бодрствующим» или «спящим».
  • Новое: флаги свойств условий репликации теперь доступны для чертежей. Это можно задать на панели сведений о свойствах.
  • Новое: один макет чертежа больше не является экспериментальной функцией. Возможность отключить его была удалена.
  • Новое: виджет и анимация rich diff tool больше не являются экспериментальными.
    • Некоторые изменения не обнаруживаются инструментом diff, но они упоминаются в предупреждении пользователю.
  • Новое: включено перемещение экземпляров иерархических Инстанцированных компонентов сетки с помощью виджета transform в Редакторе Blueprint, так же как и Инстанцированных компонентов сетки!
  • Исправление: Исправлена ошибка в Профилировщике Blueprint при компиляции или профилировании, которая имела следующее:
    • Содержит петлю.
    • Вложенные Макросы.
    • Свернутые Узлы.
    • Вызываются родительские функции или события.
  • Исправление: Исправлена ошибка, вызванная компиляцией чертежа после горячей перезагрузки его базового класса.
  • Исправление: Исправлена ошибка при компиляции особенно кросс-зависимых чертежей.
  • Исправление: Исправлена ошибка при попытке выбрать отладочный мир для отладчика Blueprint.
  • Исправление: Исправлена ошибка при реализации интерфейса к дочерней схеме элементов, а затем реализации его с родительской схемой элементов.
  • Исправление: Исправлена ошибка, которая могла возникнуть при повторном создании дочернего класса Blueprint, унаследовавшего корневой компонент сцены по умолчанию от родительского класса.
  • Исправление: Исправлена ошибка, которая возникала при щелчке правой кнопкой мыши в дереве компонентов редактора Blueprint после копирования одного или нескольких актеров BSP в буфер обмена.
  • Исправление: Исправлена ошибка, которая могла произойти при вставке скопированного узла “Select”.
  • Исправление: Исправлена ошибка при загрузке в разделе «удалить узел и продвинуть детей» при удалении поврежденного узла SCS, если он не имеет родительской ссылки (вместо этого дети перемещаются в корневой узел).
  • Исправление: исправлена редкая ошибка в “получить видимость значения по умолчанию»после удаления pin-кода из узла схемы элементов.
  • Исправление: Исправлена ошибка при попытке создать абстрактный класс из чертежа.
  • Исправление: Исправлен сбой в FCDODiffControl, когда сравниваемые CDO имели разное количество свойств.
  • Исправление: Исправлена ошибка, которая могла возникнуть при вставке узлов графа с осиротевшими соединениями в другой график.
  • Исправление: Исправлена ошибка при удалении многих ресурсов Blueprint.
  • Исправление: Исправлена ошибка, из-за которой функция, созданная из свернутых узлов, не может иметь параметр типа слабого указателя.
  • Исправление: Исправлена проблема с активами, на которые ссылаются локальные переменные функции, не будет собираться мусор.
  • Исправление: Исправлена ошибка, из-за которой видовой экран редактора Blueprint теперь корректно отображает результат действия отмены, изменяющего преобразование по умолчанию субъекта Blueprint.
  • Исправление: Исправлена ошибка, из-за которой изменения в пользовательской структуре будут правильно применяться в локальных переменных без сброса значений.
  • Исправление: исправлены циклические зависимости, введенные значениями по умолчанию для пользовательских структур, которые теперь загружаются правильно. Это исправляет причину сброса данных по умолчанию при загрузке.
  • Исправление: Исправлена ошибка, из-за которой компиляция чертежа иногда приводила к отключению World Outliner.
  • Исправление: Исправлена ошибка, из-за которой ввод “foreach” в контекстном меню редактора чертежей не приводил к тому, что “для каждого цикла” был первым выбором.
  • Исправление: Исправлена ошибка, из-за которой перемещение переменной из дочернего класса в родительский приводило к разрыву узлов схемы элементов переменных.
  • Исправление: Исправлена ошибка в контекстном меню Blueprint, когда параметры были недоступны при скрытии подуровня.
  • Исправление: Исправлена ошибка, из-за которой узел” Create Save Game Object » теперь будет изменять свой тип вывода в соответствии с выбранным классом.
  • Исправление: Исправлена ошибка, из-за которой пузыри комментариев отображались неправильно при использовании Play-In-Editor.
  • Исправление: Исправлена проблема, из-за которой функции могли терять входные данные после принятия их из интерфейса.
  • Исправление: Исправлена проблема, из-за которой сплит-контакты на скрытых узлах “игровой задачи” теряли соединение.
  • Исправление: Исправлена ошибка, из-за которой редактор мог зависать на неопределенный срок во время компиляции Blueprint.
  • Исправление: Исправлена ошибка, из-за которой опция разделения пин-кода структуры не появлялась на узле “Get Variable”.
  • Исправление: Исправлена ошибка, из-за которой вы не могли перетаскивать пин-ссылки ctrl из макроузлов.
  • Исправление: Исправлена ошибка, из-за которой последующие скрытые узлы не выполнялись после запуска одного из них.
  • Исправление: Исправлена ошибка, которая препятствовала сохранению чертежа после компиляции используемого им компонента.
  • Исправление: Исправлена ошибка, из-за которой чертежи неправильно наследовали связанный с ними конфигурационный файл.
  • Исправление: Исправлена проблема с входными контактами rotation struct, где разделение их приводило бы к смещению каждого из значений на неправильную ось.
  • Исправление: Исправлена ошибка, при которой потеря данных могла произойти при переопределении унаследованных значений компонентов по умолчанию в дочернем классе Blueprint после перекомпиляции класса компонентов Blueprinted.
  • Исправление: Исправлена ошибка, которая могла привести к потере данных во время выполнения при выборе пути создания экземпляра оптимизированного компонента Blueprint для подготовленной сборки.
  • Исправление: Исправлена ошибка, которая могла привести к потере данных для каждого экземпляра в компонентах, построенных на основе схемы элементов, после переименования переменных компонентов в представлении дерева компонентов.
  • Исправление: Исправлена ошибка, которая приводила к ошибкам компиляции класса Blueprint, вызванным отсутствием ссылочных свойств класса компонентов только для клиента в необработанном контексте только для сервера (например UE4Editor.exe -сервер)
  • Исправление: Исправлена ошибка, из-за которой “Пользовательское событие” больше не было главным параметром при поиске меню Blueprint для “custom.”
  • Исправление: исправлены направления параметров в таких функциях, как » Get Overlap Infos.”
  • Исправление: Исправлена ошибка, когда выходные ссылки на параметры собственного события Blueprint не находятся в определенном порядке.
  • Исправление: Исправлена ошибка «гарантирует» при вставке связанных узлов anim Blueprint.
  • Исправление: Исправлены проблемы, которые могли привести к потере данных каждого экземпляра компонента после восстановления класса Blueprint, содержащего один или несколько узлов “добавить компонент” в сценарии построения.
  • Исправление: Исправлены проблемы с библиотекой объектов. Теперь он хранит объект «Blueprint Generated Graph “вместо объекта” Blueprint».
  • Исправление: Исправлена проблема с регистрацией не по порядку с нативными и / или несценными компонентами и компонентами, построенными на основе чертежей.
  • Исправление: Исправлена ошибка с форматом” Time Seconds to String», чтобы он соответствовал комментарию.
  • Исправление: исправлена проверка несовместимых проблем с соснами. Теперь он будет генерировать ошибку.
  • Графики в схеме элементов могут быть должным образом удалены, даже если они когда-то были частью интерфейса на схеме элементов.
  • Унаследованные компоненты в дочернем классе схемы элементов больше не будут вызывать предупреждающее сообщение, когда исходный компонент будет удален из родительского класса.
  • Перемещение дочернего компонента в дочерней схеме элементов больше не приводит к загрязнению родительского элемента.
  • Вложенные подобъекты по умолчанию больше не вызывают сбоя утверждения в “Static Allocate Object” при использовании типа схемы элементов.
  • Значительно сокращается время запуска PIE при автоматической перекомпиляции класса Blueprint с несколькими зависимостями.
  • Удалено предупреждение, которое будет жаловаться на узлы «Make Struct», которые не имеют никаких открытых свойств, позволяя пользователям Blueprint возвращать данные структуры по умолчанию.
  • Разметка «Show World Context Object» теперь полностью унаследована. Ранее наследуется только для одного уровня иерархии.
  • Устаревшие точки останова, сохраненные в активах Blueprint, больше не вызывают предупреждения о загрузке. Сообщение переместилось в канал «дисплей».
  • Контакты struct Ref в узле «Set Fields In Struct» больше не могут быть разделены при использовании дополнительных контактов, так как это создает неоднозначное поведение.
  • Функция Blueprint «Get Direction Vector “была переименована в” Get Direction Unit Vector», чтобы отразить детали ее результата.
  • Больше нельзя перетаскивать дочерний актер из World Outliner в схему уровня и создавать недопустимую ссылку на актора.
  • Узлы событий по умолчанию в дочерних схемах элементов теперь подключают входы родительских вызовов, чтобы вы могли использовать их как есть, не нарушая функциональность.
  • Дублирование уровней, имеющих чертежи с узлами «узел», прикрепленными к событиям, больше не будет завершаться ошибкой» Граф связан с внешним частным объектом».
  • Описания EaseIn / EaseOut скорректированы в соответствии с фактическим поведением.

Ядро

  • Новое: добавлена система на основе конфигурации для указания того, какие классы должны быть разделены на выделенных серверных и клиентских сборках.
    • Имена классов можно указать в настройках приготовления проекта в Редакторе
    • Все классы движка, которые полагались на “Needs Load For Server” или “Needs Load For Client”, были перенесены в систему на основе конфигурации.
    • “Needs Load For Server “и” Needs Load For Client » по-прежнему функционируют так же, как и раньше.
  • New: добавлен новый файл в иерархию ini, чтобы начать исправлять путаницу Engine/Base > Project/Default >> Engine/Platform >>> Project/Platform.
    • Теперь у нас есть Engine/Base -> Engine/BasePlatform ->> Project/Default ->>> Engine/Platform ->>>> Project/Platform. Однако движок / платформа скоро устареют, поскольку мы перемещаем вещи на движок / базовую платформу, которые безопасны для перемещения.
  • Новое: добавлена возможность для массивов структур указывать свойство, которое будет ключом.
    • Таким образом, с LODGroups ключ имени внутри структуры может быть уникальным ключом, поэтому, когда у вас есть несколько файлов .ini в иерархии, переопределяющих одну и ту же LODGroup по имени, он заменит первую на вторую, вместо того чтобы добавлять две записи с одинаковым именем. Set by @ArrayName=KeyPropertyName. Для каждого раздела конфигурации объекта требуется немного другая обработка, которая использует * (см. базу
  • Новое: добавлены новые типы модулей: «ClientOnly «и»ServerOnly», позволяющие лучше контролировать время компиляции и загрузки модулей.
    • Может использоваться для уменьшения количества сборок сервера / клиента.
  • New: добавлена некоторая дополнительная информация к утверждению, когда “Cpp Structs Ops » не был инициализирован.
  • Новое: добавлена возможность для плагинов находиться вне каталога Engine/Plugins и Game/Plugins.
    • Это полезно для плагинов, которые разделяются между игровыми командами, но не хотят быть помещены в движок/Плагины.
  • Новое: принятие запятой в миллисекундном разделителе при разборе временного интервала.
  • Новое: незначительные изменения в делегате безопасности файлов pak. Теперь все файлы, которые не существуют в файле pak, будут передаваться через делегат безопасности, независимо от того, существуют ли они на диске или нет.
  • Новое: принимайте только » log=»и» abslog=»значения командной строки, если имя файла имеет расширение». log» или». txt».
  • Новое: Рефактурированная обработка некоторого пользовательского интерфейса и кода рендеринга при работе без головы (т. е. с переключателем-nullrhi).
  • Новое: обновление существующего свойства UProperty с FVector на FVector4 теперь происходит плавно и сохраняет данные должным образом.
  • Исправление: исправлен редкий сбой при асинхронной загрузке объектов, вызванный слишком ранним отсоединением компоновщика, прежде чем импорт другого пакета был полностью обработан.
  • Исправление: Исправлена ошибка при выходе из плиты из-за непредсказуемого порядка уничтожения статических тикаемых объектов и их сбора.
  • Исправление: Исправлена ошибка с потенциальным повреждением памяти при загрузке таблиц данных. Иногда он выделял меньше памяти, чем требовалось.
  • Исправление: Исправлен сбой в очистке PhysX, если во время завершения работы возникало исключение.
  • Исправление: Исправлена проблема безопасности потоков в коде модуля загрузки, которая могла привести к сбою, если несколько потоков пытались загрузить один и тот же модуль одновременно.
  • Исправление: Исправлена ошибка, из-за которой “Get All Assets” не возвращал данные о живых объектах при передаче bIncludeOnlyOnDiskAssets=false.
  • Исправление: Исправлена проблема с утечкой памяти графика задач.
  • Исправление: Исправлена проблема с десериализацией TMap в сериализаторе struct и обновлены модульные тесты.
  • Исправление: Исправлена ошибка отображения значимой ошибки и чистого завершения работы, если основные модули не загружаются при запуске двигателя.
  • Исправление: Исправлена ошибка, из-за которой динамические делегаты больше не могут получать двойную привязку при копировании актера.
  • Исправление: исправлено потенциальное состояние гонки и незначительная утечка памяти в FMonitoredProcess. Это может привести к зависанию редактора при запуске.
  • Исправлена ошибка: исправлена проблема, из-за которой” принудительная сборка мусора » не могла немедленно принудить GC к запуску на сервере без подключенных клиентов.
  • Исправление: исправлено повреждение памяти при создании экземпляров подобъектов свойства TArray.
    • Исправлено переполнение памяти при чтении SSL-сертификата.
    • Исправлен недопустимый доступ к памяти при выключении FInputBindingEditorModule.
  • Исправление: Исправлена ошибка, из-за которой повторяющиеся строки журнала появлялись при установке командлета “Log to Console”.
  • Исправление: Исправлена проблема с проблемами переназначения FAssetPtr для дублированных пакетов, которая была связана с такими операциями, как Level Save As и Level Duplicate.
  • Исправление: Исправлена проблема с привязкой Malloc «Get Allocation Size» для выровненных распределений, которая приводила к сбоям с ядовитым прокси-сервером.
  • Исправление: Исправлена проблема с синтаксическим анализом «Value», когда между командой и аргументом есть пробел.
  • Исправление: Исправлена проблема с условием гонки «Is A» во время асинхронной загрузки.
  • Исправление: Исправлена ошибка, из-за которой инструмент Unreal Build Tool отказывал при попытке удалить файл манифеста модуля в несуществующем каталоге.
  • Исправление: Исправлена ошибка, из-за которой escape-последовательность новой строки не была записана в канал.
  • FScopedCreateImportCounter теперь всегда будет хранить текущий компоновщик и восстанавливать предыдущий при выходе из него.
    • Это должно исправить некоторые предупреждающие сообщения компоновщика, сообщающие о неправильном имени пакета.
  • Аннулировать строковые теги ссылок на активы после завершения загрузки асинхронного пакета.
    • Исправлены некоторые проблемы с неправильным обновлением ссылок активов после асинхронной загрузки пакета
  • Строки выходного текста из FMonitoredProcess больше не усекаются при размере буфера канала по умолчанию и больше не возвращаются с конечными символами CR в Windows.
  • Убедитесь, что скелетные активы загружаются до того, как на них будет вызвана функция” PostLoad», чтобы избежать сбоев при асинхронной загрузке анимации.
  • Молчаливо пропустите создание экспорта из пакета, где внешний также является экспортом и был отфильтрован во время выполнения во время загрузки.
  • Исправления потокобезопасности для async log writer + заставили async log writer чаще очищать свой архив.
  • Исправления потокобезопасности при использовании асинхронного загрузочного потока.
  • Теперь мы прерываем наблюдение за каталогом, если теряем доступ к рассматриваемому каталогу, чтобы предотвратить бесконечный цикл.

Редактор и инструменты

  • Новое: добавлено предупреждающее сообщение, указывающее, что кластеры HLOD не имеют допустимой прокси-сетки, аналогично сообщению “lighting unbuilt”.
  • Новое: добавлен командлет для включения импорта из командной строки любого типа активов, который поддерживает движок.
  • Новое: добавлена возможность vsync редактора. По умолчанию эта функция отключена. Установите “r. VSyncEditor » равным 1, чтобы включить его.
  • Новое: добавлена опция в импортере FBX для автоматического преобразования единицы измерения в файле FBX в нереальные единицы измерения.
  • Новое: добавлена длина пути приготовления активов в их всплывающих подсказках, так что вы можете обнаружить проблему пути приготовления пищи до того, как вы готовите.
  • Новый добавленный флажок для переменной конфигурации «показать все расширенные сведения», чтобы она автоматически расширяла все расширенные категории свойств.
  • Новая добавленная опция командной строки для включения записи фильма Burning.Используйте командную строку-UseBurnIn=yes.
  • Новый добавленный выбор плагина упрощения сетки в настройки проекта в разделе редактор > упрощение сетки. Меню выбора плагинов упрощения также содержит ссылку на поиск других плагинов в Epic Games Launcher Marketplace.
  • Новое: добавлены метаданные для удаления кнопки «Сброс к умолчанию» для определенных свойств.
  • Новое: добавлен новый ярлык «Ctrl + Shift + B» для построения текущей геометрии уровня.
  • В Редакторе добавлена возможность импорта файлов оттенков серого Targa (.tga).
  • Новая добавлена возможность поиска по всем настройкам редактора и настройкам проекта сразу. Используйте выделение в этих окнах вверху для “всех настроек».”
  • Новое: добавлена возможность предварительного просмотра звука волны в браузере контента с миниатюры.
  • Новое: добавлена функция отмены/повтора в окнах настроек редактора и параметров проекта.
  • Новое: измененные и унифицированные сохраненные ярлыки во всех редакторах.
    • Сохранить как есть Ctrl + Alt + S.
    • Сохранить все теперь можно Ctrl + Shift + S.
    • Сохранить текущий теперь можно Ctrl + S.
  • Новое: добавлено сочетание клавиш Ctrl + Shift+пробел для быстрого поворота по различным видовым экранам (слева, вверх, спереди, сзади и т. д.).
  • Новое: изменен рабочий процесс пакетного импорта FBX, чтобы пользователь мог исправить все отсутствующие исходные файлы перед запуском процесса пакетного импорта FBX.
  • Новое: браузер контента теперь поддерживает скрытие / переключение определенных столбцов сведений об активах.
  • Новое: добавлена возможность для Ctrl + Middle Mouse drag даст возможность переключаться на разные видовые экраны.
    • Перетаскивание влево, вправо, вверх и вниз будет интуитивно соответствовать видовому экрану.
    • Перетащите вверх-слева-спереди, вверх-справа-сзади, снизу-слева и снизу-справа-оба для перспективных видовых экранов.
    • Перетаскивание, превышающее определенное расстояние, приведет непосредственно к этому видовому экрану, в то время как перетаскивание немного вызовет всплывающее меню, показывающее, на какой видовой экран он собирается переключиться.
  • Новое: добавлена новая опция просмотра для “показать классы C++ » в браузере контента, чтобы вы могли скрыть классы C++, которые вы, возможно, не захотите видеть.
  • Новое: версия движка, включая название филиала, теперь будет отображаться в строке заголовка по умолчанию.
  • Новое: расширенная функция «выбрать все входные узлы»для общего редактора чертежей.
  • Новое: экспортер FBX теперь экспортирует все LODs.
  • Новое: поля даты и времени в Редакторе теперь отображаются и вводятся в часовой пояс локального пользователя.
    • Введенное время сохраняется в активах с использованием значения, преобразованного в часовой пояс UTC.
    • Используемый часовой пояс настраивается в настройках редактора в разделе Region & Language for Internationalization settings.
  • Новое: теперь появилась поддержка создания плагина “только для контента” с помощью мастера создания плагинов.
  • Новое: добавлены флаги показа для компонентов виджета.
  • Новое: программа просмотра ссылок теперь предоставляет опции для отображения / скрытия мягких и жестких ссылок и зависимостей с различным цветом линий.
  • Новое: добавлена поддержка выбора активов в свойствах интерфейса скрипта.
  • Новое: добавлены уникальные значки активов для звуковых активов параллелизма.
  • Новое: отражатель виджетов теперь имеет настраиваемую задержку между щелчком мыши для создания моментального снимка и созданием моментального снимка, что полезно для отражения виджетов в состоянии, включающем курсор или другие временные факторы.
  • Новое: добавлена возможность для пользователей указывать базовый материал для создания экземпляров материала вместо простого создания материалов при импорте FBX.
  • Новое: добавлен файл проекта в систему управления версиями при создании нового проекта.
  • Исправление: Исправлена ошибка при перемещении экземпляра статического компонента сетки в Редакторе, когда он не имел набора сетки, но имел экземпляры.
  • Исправление: Исправлена ошибка при отмене удаления сетки в режиме рисования сетки в Редакторе VR.
  • Исправление: исправлена случайная ошибка при выключении редактора из-за состояния гонки в FTcpMessageTransportConnection.
  • Исправление: Исправлено несколько сбоев в интерфейсе сеанса при просмотре профилей.
  • Исправление: Исправлена ошибка сбоя при внесении изменений в компоненты в Редакторе чертежей, когда в визуализаторе компонентов есть активный компонент.
  • Исправление: Исправлена ошибка, при которой пакетирование оптимизировалось для перетаскивания компонентов на чертежи. Добавление тысяч статических компонентов сетки теперь занимает секунды, а не до часа.
  • Исправление: Исправлена ошибка, из-за которой комментарии теперь будут сохраняться на узлах “параметр” при преобразовании их в узлы “Константа” в редакторе материалов.
  • Исправление: Исправлена ошибка, из-за которой материал не сохранялся при копировании узла комментариев из функции Material в материал.
  • Исправление: Исправлена ошибка, из-за которой клиент отчета о сбое теперь может правильно перезапускать сеансы редактора, запущенные из пусковой установки.
  • Исправление: Исправлена ошибка, из-за которой курсор оставался скрытым после щелчка левой кнопкой мыши в Ортогональном представлении.
  • Исправление: Исправлена ошибка, из-за которой пользовательские сочетания клавиш больше не переключались между клавишами управления и управления на Mac при перезапуске редактора.
  • Исправление: Исправлена ошибка, из-за которой отладочные линии теперь будут правильно отображаться в ортогональных видах, если была указана их толщина.
  • Исправление: Исправлена ошибка, из-за которой файлы FBX и OBJ, содержащие УФ-канал без имени, неправильно импортировались в Редактор.
  • Исправление: Исправлена ошибка, из-за которой импортер FBX корректно повторно импортировал сетку, когда флажок комбинированная сетка был установлен в true.
  • Исправление: Исправлена проблема с “On mouse Button Up“, не сбрасывающим состояние кисти SButton с” Pressed “на «Hovered».”
  • Исправление: исправлены некоторые проблемы с рабочим процессом LODGroup:
    • Во время импорта FBX LOD теперь пересчитываются с правильными настройками.
    • В Редакторе статической сетки дополнительные LOD удаляются при изменении группы LOD.
  • Исправление: исправлены различные сбои при манипулировании геометрией BSP в Редакторе.
  • Исправление: Исправлена ошибка при импорте сцен FBX, если объекты содержат процедурные текстуры, что не поддерживается.
  • Исправление: Исправлена ошибка при установке замкнутого контура на компоненте сплайна, который не имеет определенных точек сплайна.
  • Исправление: Исправлена ошибка, из-за которой диалог “актеры ссылаются, вы уверены, что хотите удалить?” не появлялся при копировании большого количества актеров на другой уровень.
  • Исправление: исправлено предупреждение, которое спамило бы журнал при открытии меню чертежей редактора.
  • Исправление: Исправлена ошибка, из-за которой удаление актера в режиме Mesh Paint не было бы отменено.
  • Исправление: Исправлена проблема, из-за которой все столкновения были бы отключены, если бы вы не создавали автоматически простой корпус при импорте FBX.
  • Исправление: Исправлена ошибка, из-за которой импорт текстурного актива при открытом окне редактора для этого актива приводил к исчезновению панели сведений.
  • Исправление: Исправлена ошибка, из-за которой время от времени меняющиеся вкладки в Редакторе заставляли пользовательский интерфейс ненадолго зависать и отстыковывать выбранную вкладку.
  • Исправление: Исправлена ошибка, из-за которой рисование переопределенных цветов вершин на сетке SpeedTree приводило к тому, что анимация ветра прекращалась или выглядела неправильной.
  • Исправление: Исправлена ошибка, из-за которой структуры, содержащие значения перечисления с пробелами, не могли правильно сериализоваться при копировании с панели сведений.
  • Исправление: Исправлена ошибка, из-за которой Unreal Frontend и другие автономные инструменты не отображали всплывающие подсказки в выпадающих меню.
  • Исправление: Исправлена проблема с назначением материалов на компонентах, которая не будет работать, если вы многократно выберете несколько компонентов схемы элементов и назначите материал.
  • Исправление: Исправлена ошибка, когда выбор “Да всем » не работал должным образом, когда его просили удалить многих актеров.
  • Исправление: Исправлена проблема с отображением параметров команды в игровой консоли, чтобы включить все параметры.
  • Исправление: Исправлена проблема с предупреждениями, связанными с локтекстом, при открытии подменю чертежи на панели инструментов редактора уровней.
  • Исправление: Исправлена проблема с отсутствующими виджетами при использовании мобильного режима предварительного просмотра с мобильным проектом HDR disabled.
  • Исправление: Исправлена проблема с однопользовательским пирогом, так что положение окна правильно выбирается и сохраняется при запуске выделенного сервера. Это проводится отдельно для сохраненных позиций для нескольких клиентских пирогов.
  • Исправление: Исправлена ошибка в фильтре выходного журнала, не обновлявшемся при фиксации текста.
  • Исправление: Исправлена ошибка, из-за которой мастер мобильной упаковки не находил никаких карт проекта, если UE4 и проект были установлены на разных дисках.
  • Текст кнопки устройства в окне” журнал вывода устройства » теперь должен быть более читабельным.
  • Исправление: Исправлена ошибка, из-за которой значок.exe был правильно установлен для упакованных игр Windows.
  • Исправление: Исправлена ошибка, из-за которой строковые свойства ссылок на активы теперь будут открывать только средство выбора активов (а не средство выбора акторов), поскольку цель состоит в том, чтобы ссылаться на актив.
  • Исправление: Исправлена ошибка, из-за которой диалог “найти виновника” не соответствовал выбору пользователя.
  • Исправление: Исправлена проблема с Unreal Game Sync, когда события базы данных возвращались не по порядку, что могло привести к тому, что сборки показывались как никогда не завершенные.
  • Исправление: Исправлена проблема с Unreal Game Sync, показывающая диалоговое окно build failure / warning сразу же, если вы отправляете, пока сборка желтая/красная. Теперь это игнорирует сборки до вашего последнего представленного CL.
  • Исправление: “играть в Автономную игру»не предполагает -window В качестве параметра запуска, поэтому теперь вы можете указать-window или-fullscreen.
  • «Select all input nodes» теперь имеет соответствующий «Select all output nodes» для узлов, которые являются выходными узлами.
  • Удаление сразу нескольких активов теперь будет паковать их в виде одной команды управления версиями вместо одной для каждого актива.
  • Значок направленного света в видовом окне изменился (две стрелки внутри значка были удалены), так как сам актив предоставляет другую стрелку, указывающую направление света.
  • Консольная команда «HighResShot» теперь поддерживает ту же функциональность, что и версия пользовательского интерфейса редактора, и улучшила справку с примерами использования.
  • Улучшено сцепление редактора при использовании launch on путем задержки сохранения пакета до тех пор, пока все данные не будут кэшированы.
  • Незначительное обновление макета пользовательского редактора структур.
  • Были внесены улучшения на странице прогресса запуска Unreal Frontend Project Launcher:
    • Имя пользовательского профиля теперь отображается над индикатором выполнения при запуске профиля.
    • Теперь можно изменять размеры представлений задач и состояний.
    • Столбцы «ошибки” и «предупреждения» были добавлены в Представление задач, чтобы показать, какие задачи имеют проблемы.
    • Ранее выполненные задачи больше не очищаются при отмене запуска.
    • Журнал сообщений теперь будет прокручиваться только до самого последнего сообщения, когда журнал прокручивается до самого низа.
  • Удалена экспериментальная функция » Live Editor” из UE4
    • Live Editor был ранней попыткой автоматизации функций редактора с использованием внешнего оборудования, такого как MIDI.
    • Эта функция так и не была полностью завершена, и мы не планируем продолжать работу над ней.
    • Если вы хотите использовать MIDI-устройства в своих плагинах редактора или играх, пожалуйста, ознакомьтесь с новым плагином “MIDI-устройство”, доступным в этом выпуске!
  • Unreal Game Sync: улучшения в диалоге «очистить рабочее пространство».
    • Пустые папки теперь будут удалены по умолчанию.
    • Добавлено контекстное меню для выбора all/none/empty / default для поддерева, а также для открытия проводника Windows в этом месте.
  • Теперь мы экспортируем сетку столкновений при экспорте в FBX. По умолчанию отключено.
    • Добавлена опция предпочтений редактора для включения или отключения экспорта коллизий. Настройки редактора > общие > > FBX Export Collision Mesh.
  • Фокусировка актера, имеющего 0 границ размера, теперь работает.
  • Игра в Редакторе больше не будет автоматически возобновлять игру по полученному фокусу, если она была ранее приостановлена.
  • Командлет Rebuild lightmaps теперь не применяет преобразования мира дважды.
  • Удалены дубликаты платформ из списка развертывания в Unreal Frontend.
  • Параметры масштабируемости больше не будут автоматически применяться, если предупреждение о низкой производительности будет проигнорировано.
  • Пути к исходным файлам теперь нормализуются при кэшировании их состояния.
  • Значение ошибки автоматического расстояния для статических ячеек сетки теперь можно установить на значение меньше 1.
  • Значение оттенка, отображаемое во всплывающих подсказках для цветов в панели тем, теперь будет соответствовать значению оттенка, отображаемому для этого цвета в палитре цветов.
  • Орбитальная камера больше не должна менять направление Зума при увеличении с помощью колесика мыши.
  • Производительность при выборе тысяч актеров увеличилась и больше не должна делать редактор непригодным для использования, Когда выбрано много актеров.
  • Фильтр pin-типа теперь фильтрует как локализованные, так и исходные описания типов.
  • Режим размещения теперь фильтрует как локализованные, так и исходные описания элементов.
  • Отмена / повтор изменений мобильности также отменит / повтор изменений мобильности на предках / потомках, которые были изменены вместе с ним.
  • Обновлен значок визуального регистратора.
  • При импорте файла FBX, содержащего несколько анимаций, пользователь может повторно импортировать любую анимацию, не переопределяя ее первой анимацией в файле FBX.
  • Обновлена карта и установлены свойства, так что теперь их можно редактировать из панели сведений. Наборы гарантируют, что все его элементы уникальны, а карты гарантируют, что все его ключи уникальны.
Браузер Контента
  • Новое: удаление папок в браузере содержимого теперь удаляет папку с диска.
  • Исправление: исправлено аварийное переименование коллекции с несколькими выбранными коллекциями.
  • Исправление: Исправлена ошибка при принудительном удалении схемы элементов с дочерним компонентом-актером из браузера содержимого.
  • Исправление: Исправлена проблема с динамическими коллекциями, которые ничего не возвращали.
  • Добавлено ~ в список недопустимых символов для имен объектов / пакетов.
Пейзаж
  • Новое: добавлена поддержка поворота на 180° к инструменту ландшафтного зеркала.
  • Новое: режим визуализации Landscape LOD теперь отображает тесселяцию материала, в то время как в видовом окне находится в режиме каркаса.
  • Исправление: Исправлена ошибка входа в ландшафтный режим, когда есть ландшафт на подуровне, который загружен, но скрыт.
  • Исправление: Исправлена ошибка редактирования ландшафтов с включенной консольной переменной “r.LightPropagationVolume”.
  • Исправление: Исправлена ошибка при применении материала с включенной тесселяцией к ландшафту или при рисовании материала с тесселяцией на недавно добавленном компоненте.
  • Исправление: Исправлена ошибка при дублировании уровня, содержащего ландшафт, через браузер контента.
  • Исправление: Исправлена ошибка при загрузке дублированных ландшафтных уровней.
  • Исправление: Исправлена ошибка при слиянии уровней, содержащих ландшафт.
  • Исправление: Исправлена ошибка с ландшафтами, вызванная использованием отмены после использования инструмента перемещения на уровень, а затем выбора ландшафтного прокси-сервера на подуровне.
  • Исправление: Исправлен сбой, Если информационный объект ландшафтного слоя принудительно удаляется во время его использования.
  • Исправление: исправлена невозможность импорта карт веса ландшафтного слоя при создании ландшафта.
  • Исправление: Исправлена ошибка, из-за которой компоненты ландшафта были невидимы при использовании тесселяции на ландшафте.
  • Исправление: Исправлена проблема с ошибками ландшафтного рендеринга после использования инструмента «изменить размер компонента».
    • Также влияет на первоначальный импорт ландшафта с весовыми картами.
  • Исправление: исправлена регрессия с производительностью при импорте ландшафтных карт высот.
  • Исправление: исправлены некоторые небольшие опечатки в ландшафтном учебнике.
  • Исправление: уменьшен спам журнала обновления материалов при создании и редактировании ландшафтов. Некоторые останутся, так как ландшафт фундаментально манипулирует множеством материальных экземпляров.
  • Удален спам лог-файла «Cmd: UpdateLandscapeSetup» во время редактирования настроек мира на картах с ландшафтом.
Редактор Материалов
  • Новое: добавлена возможность очистки сетки предварительного просмотра на экземпляре материала.
  • Новое: добавлена возможность выделения всех узлов, подключенных к входу.
  • New: добавлены всплывающие подсказки для входных данных узла Material Final Result.
  • Исправление: Исправлена ошибка при загрузке приготовленных материалов в Редактор.
  • Исправление: Исправлена ошибка, из-за которой функция» выбрать все связанные узлы » не отображалась в редакторе материалов для выходных узлов.
Утренник
  • Исправление: Исправлена проблема с неправильным временем субтитров и рендерингом при очистке.
Персона
  • Новое: добавлена улучшенная отчетность о массовом импорте, чтобы можно было видеть текущий прогресс через массовый импорт анимации, а не только показывать прогресс через текущую анимацию.
  • Исправление: Исправлена ошибка при изменении настроек сцены и нажатии кнопки Отменить в Persona с активной сложной тканью.
  • Исправление: исправлены вычисления границ в Persona, которые включают кости для уважения LOD (и другие необходимые кости).
Мировой Очерк
  • Новое: добавлена возможность сворачивать и разворачивать папки в World Outliner.
Статический Редактор Сетки
  • Новое: добавлена консольная команда «FORCELODGROUP», которая будет применять статическую сетку LODGroup к выбранным безгрупповым сеткам в Редакторе. Это может пакетная сетка-уменьшить (т. е. Simplygon) все сетки на уровне.
Управление Версиями
  • Исправление: Исправлена проблема, когда история и слияние не работают, если пользователь имеет параметр «format. pretty» в своем gitconfig.
  • Заглушил некоторые избыточные ошибки P4, которые могли быть сгенерированы при запуске “обновления статистики” для файла. Некоторые из опций приводили к ошибкам при работе с вновь добавленными файлами. Эти ошибки теперь понижены до уровня infos, как и для основной команды stat.
Мировой Браузер
  • Исправление: Исправлена ошибка при изменении видимости подуровня при определенных условиях.
  • Отключено использование композиции мира с многопользовательским пирогом с использованием отдельной опции процесса, так как она сейчас должным образом не поддерживается.
Листва
  • Новое: добавлены консольные переменные для удаления данных о траве и / или масштабируемой листве при загрузке.
    • Если он установлен в настройках масштабируемости, то это снижает требования к памяти настройки «выкл.» за счет необходимости перезагрузки уровня при изменении настройки с «выкл.» на более высокий уровень.
  • Новое: реализован фильтр, позволяющий рисовать листву на другой листве (например, виноградные лозы на деревьях).
  • Исправление: Исправлена ошибка, из-за которой рисование листвы на блокирующих актерах «запроса» не работало. Актеры, которые сами не двигаются, должны быть настроены только на» запрос», чтобы быть заблокированными, но инструмент листвы проверял как «запрос, так и физику».»
  • Исправление: Исправлена проблема, при которой отключение опции «использовать ландшафтную световую карту»искажало процедурные экземпляры листвы.
  • Предотвратите дублирование ландшафтной травы, сгенерированной в видовом окне редактора, для воспроизведения в сеансах редактора (PIE).
Плита
  • Новое: добавлена опция командной строки mallocbinned, чтобы использовать ее во время приготовления пищи. Binned allocator в некоторых случаях быстрее готовится.
  • Новое: добавлена экспериментальная функция частичной сборки мусора для плиты. Добавлена опция командной строки «- partialgc » для кухонной плиты. Вместо того, чтобы очищать все пакеты при GC, это очищает пакеты, которые не понадобятся для приготовления пищи позже.
  • Новое: Исправлена проблема с детерминированным приготовлением пищи для распределений выпечки.
  • Новое: улучшено пиковое использование памяти плитой за счет разрешения только строковых ссылок на активы для текущего сохраняемого пакета.
  • Новое: теперь плита обрабатывает асинхронную компиляцию шейдеров, в то время как блокируется выполнение другой работы. Это дает незначительное улучшение времени приготовления пищи.
  • Исправление: Исправлена проблема с частичным детерминированным приготовлением пищи на уровне Лод. Модуль Spawn теперь имеет свою постзагрузку, вызываемую перед использованием.
  • Cooker принудительно сбрасывает компиляцию шейдера, когда обнаруживает, что он прошел максимальный бюджет памяти. Это помогает избежать проблем с нехваткой памяти при приготовлении больших проектов.
  • «Каталоги всегда будут работать как UFS» теперь фильтруют файлы .uasset и. umap. Приготовленные активы больше не будут заменены их сырой версией во время постановки UFS.
  • Запуск on в Редакторе сохранит необходимые пакеты перед приготовлением пищи, чтобы изменения были правильно отражены.
Секвенсор
  • Новое: добавлена возможность отображения движения преобразования скелетной сетки в корневую кость при экспорте FBX. Этот параметр находится в разделе Общие настройки в разделе Разное.
  • Новое: добавлена функция «получить компонент Cine Camera» от актера Cine Camera.
  • Новое: добавлена возможность конвертировать нерестящийся трек в принадлежащий трек.
  • Новое: добавлена возможность создавать суб-последовательности для каждого снимка мастер-последовательности.
  • Новое: добавлена возможность кэшировать свойства актера геометрии ключевого кадра, чтобы использовать его в секвенсоре.
  • Новое: включите функцию «актер для отслеживания» на актере кинокамеры в качестве ключевого свойства.
  • Новое: включены субтитры для звуковых дорожек.
  • Новое: заставьте крен и рыскание крепления крана камеры быть равными 0, чтобы камера оставалась на одном уровне с землей. Рыскание контролируется управлением рысканием крана.
  • Новое: секвенсор теперь может воспроизводить анимированные монтажи.
  • Новое: установите скелетные сетки, чтобы всегда отмечать позу и обновлять кости, когда в секвенсоре есть анимационная дорожка.
  • Новое: измененные цвета секвенсора по умолчанию.
    • Звуковая дорожка стала ярче.
    • Transform, bool, event треки менее насыщены.
    • Подраздел записи более насыщен.
    • Fade track теперь показывает градиент.
  • Новое: добавлены иконки для кинокамеры, рельса буровой установки камеры и актеров крана буровой установки камеры.
  • Исправление: Исправлена ошибка при использовании регистратора последовательностей с игрой. Добавлена проверка GEditor.
  • Исправление: Исправлена ошибка, из-за которой невозможно было анимировать один компонент свойства структуры, но при этом исходное значение для не анимированных компонентов устанавливалось извне.
  • Исправление: Исправлена ошибка, из-за которой значения в ключевых редакторах Sequencer не синхронизировались со значениями свойств.
  • Исправление: Исправлена проблема с треком Fade, так что это влияет только на текущего игрока, а не на все миры.
  • Исправление: Исправлена проблема с опцией переопределения режима игры в movie capture, чтобы она работала при захвате редактора.
  • Исправление: Исправлены проблемы, когда свойства не привязывались при преобразовании из дневного спектакля в треки последовательности уровней.
  • Исправлена ошибка: исправлена проблема с уведомлениями Anim, не работающими при воспроизведении анимации на скелетных сетках, управляемых чертежами.
  • Исправление: Исправлена проблема с анимацией Anim Trails, которая не воспроизводилась полностью с помощью анимации, управляемой секвенсором.
  • Исправление: Исправлена проблема с байтовыми и целочисленными свойствами, которые не могли быть представлены кинематике на чертежах.
  • Исправление: Исправлена ошибка, из-за которой курсор непоследовательно прыгал при завершении перетаскивания.
  • Изменена видимость редактора кривых, так что он больше не является переключаемой сохраненной конфигурацией.
    • Теперь это просто переключаемое состояние, потому что было неожиданно перезапустить секвенсор с видимым редактором кривых.
  • Изменен FMovieScene3DTransformTrackInstance «Update», чтобы правильно обновить «скорость компонента».”
  • Отключен автоматический обладатель игрока для записанных пешек.
    • Это исправляет ошибку, когда при записи символа шаблона от третьего лица при открытии последовательности записанный символ будет обладать видовым окном.
  • Восстановите состояние при остановке игрока последовательности уровней, чтобы объекты, управляемые секвенсором, вернулись на свои позиции.
  • Нерест теперь использует отложенный нерест.
VR редактор
  • Новое: теперь вы можете мгновенно сбросить масштаб мира по умолчанию, нажав на кнопку сенсорной панели во время захвата мира. Это позволяет легко вернуться к вашему” размеру игрока » во время редактирования.
  • Новое: теперь вы можете отключить учебник VR Editor в настройках редактора > экспериментальный > > VR.

  • Исправление: Исправлена проблема с размытым значком панели инструментов, когда в настройках редактора была включена функция “использовать маленькие значки панели инструментов».
  • Исправление: исправлены различные проблемы и регрессии с сетчатой краской в VR:
    • Предварительный просмотр кисти не визуализируется для лазеров / мыши, когда она не активно рисует.
    • “Полная пресса » над актерами, которая мешала пользовательскому интерфейсу быть кликабельным.
    • Курсор кисти отображается при наведении на пользовательский интерфейс (включая панель выбора/кнопку закрытия).
    • VR transform gizmo становится на пути всего во время рисования, теперь он скрыт в режиме Mesh Paint.
    • Не будучи в состоянии полностью взаимодействовать с UIs после возни с сетчатой краской

Игровой Фреймворк

  • Новое: добавлен cvar “t.Фпшарт.OpenFolderOnDump » для управления тем, будут ли диаграммы FPS автоматически открывать папку профилирования при выполнении stopfpschart.
    • Это может быть полезно, чтобы избежать кучи открытых окон при выполнении автоматического тестирования.
  • Новое: добавлен флаг «подавлять сигналы укладки» для параметров эффекта геймплея, чтобы избежать отправки RPC-сигнала геймплея для каждого экземпляра эффекта укладки геймплея.
  • Новое: добавлены классы” GameModeBase” и “GameStateBase” в качестве родителей существующих классов “GameMode » и «GameState».” Основная функциональность, необходимая для всех игр, находится в базовых классах, а унаследованные и специфические для соответствия функции-в дочерних классах.
    • Доступ к Blueprint был добавлен в базу состояния игры для “has Begun Play”, “has Match Started”, “Get Player Start Time”, “Get Player Respawn Delay”, “Game Mode Class » и «Spectator Class».”
    • Игровые режимы базы «Must Spectate” и» On Change Name » теперь называются корректно.
    • Добавлено “перезапустить игрока при запуске игрока “и” перезапустить игрока при преобразовании», чтобы вручную контролировать, где появляются пешки игрока.
    • Обновлена документация по игровому режиму, чтобы отразить эти изменения и добавить дополнительный контекст.
  • Новое: добавлен доступ как к игре «Unpaused Time Seconds”, так и к «Time Seconds» из чертежей.
  • Новое: добавлена возможность устанавливать положение мыши из чертежей с помощью контроллера плеера.
  • Новое: теперь компоненты могут указывать, будут ли они реплицироваться из редактора свойств Blueprint.
  • Новое: компоненты, на которые ссылается свойство «редактировать в любом месте», но которые не создаются как часть конструкции объекта, теперь можно редактировать с помощью панели редактирования компонентов in-world.
  • Новое: отбракованные Тома расстояния больше не обновляются глобально при каждом изменении свойств актора. Это должно уменьшить заминки после изменения свойств, совершенно не связанных с расстоянием отбраковки на уровнях с большим количеством актеров.
  • Новое: дополнительные функции Cheat Manager стали доступны для вызова и переопределения из чертежей.
  • Новое: добавлено свойство «использовать потоковую передачу на стороне клиента», добавленное в Настройки мира.
    • Если этот параметр включен, сервер не оценивает объемы потоковой передачи. Вместо этого каждый клиент самостоятельно решает, какие объемы передавать в/из, в зависимости от камер своих игроков.
  • Новое: система частиц и аудиокомпоненты теперь направляют события” активировать” и «деактивировать» в чертежи.
  • «Дельта-секунды“, передаваемые тиковым функциям при использовании” тикового интервала», теперь будут представлять собой количество мирового времени, прошедшего с момента последнего тика функции.
  • Уровни мира теперь подразделяются на различные коллекции: динамические, статические или дублированные. Уровни по умолчанию динамические, и это сохраняет существующее поведение.
    • Уровни потоковой передачи могут быть помечены как статические на панели сведений об уровнях. Это различие никак не влияет на то, как отображаются уровни, но оно приведет к тому, что уровни будут помещены в соответствующую коллекцию.
    • Игры могут выбрать дублирование динамических уровней, когда мир загружен, и они будут поддерживаться отдельно от исходных уровней. Игра может использовать эти дублированные уровни во время выполнения, если это необходимо.
  • Новое: логика выбора режима игры для создания URL-адреса теперь может быть переопределена в классе “Экземпляр игры”, реализованном в классах “предварительная загрузка контента для URL-адреса”, “создание режима игры для URL-адреса” и “переопределение режима игры”.
    • Правила выбора режима игры на основе префикса карты или псевдонима теперь можно изменить в настройках проекта > карты и режимы в разделе Дополнительные параметры.
  • Исправление: Исправлена ошибка отмены «заменить актера на» при замене объектных конструкций дочерними актерами.
  • Исправление: Исправлена проблема, когда после дублирования уровня у вас было бы два экземпляра дочернего актера.
  • Исправление: Исправлена ошибка, из-за которой дочерние актеры иногда создавались в неправильном месте.
  • Исправление: только на стороне клиента компоненты, присоединенные к реплицированному компоненту, больше не будут удаляться из массива “присоединить дочерние элементы”, когда на сервере будет произведено изменение вложения.
  • Исправление: исправлена проверка в движении персонажа «шаг вверх», чтобы правильно учитывать расстояние, на котором компонент находится над полом.
  • Исправление: исправлено устаревание параметров запроса объекта столкновения компонента Radial Force, добавив обратный вызов события «Begin Play».
  • Исправление: Исправлена проблема с “Spawn Emitter Attached » статистики геймплея, использующей неправильный масштаб, когда используется опция” привязать к цели (сохранить мировой масштаб)”. Он использовался как относительная шкала. Кроме того, улучшены комментарии к “Spawn Emitter прилагается.”
  • Исправление: Исправлена проблема с вычислением границ для локальной анимации камеры.
    • Правильно рассчитанные границы как локальные для начального преобразования в треке.
  • Исправление: Исправлены проблемы с несоответствиями «Can Jump» с предыдущими версиями.
  • Исправление: Исправлена ошибка во время сборки мусора после удаления громкости звука.
  • Исправление: Исправлена ошибка в GetPredictionData_Server (), когда игрок уничтожается и контроллер игрока сервера проверяет, нужно ли ему принудительно обновить сеть. Это также исправляет подобные сбои при вызове “Set Replicate Movement” персонажа, когда он не находится на сервере.
  • Исправление: исправлен значок ошибки, указывающий на то, что проблемы с освещением не исчезают после решения проблемы на свету, который был создан путем копирования/вставки света, у которого была проблема с освещением.
  • Исправление: исправлены некоторые опечатки в “только трассировка при восходе » и «Депроекция экрана в мир».”
  • Исправление: исправлено UK2Node_GetInputAxisValue, использующее флаг по умолчанию для” переопределения родительского » значения в созданной привязке, в результате чего предыдущие привязки будут раздавлены.
  • Исправление: Исправлена проблема с сетевой репликацией для актеров на подуровнях «всегда загруженных», не работающих после бесшовного перемещения.
  • Исправление: Исправлена проблема с мирами на основе FPreviewScene, так что теперь они правильно отображаются в игре.
    • Добавлены новые типы миров” предварительный просмотр редактора” и “предварительный просмотр игры”, а также устаревший старый тип мира «предварительный просмотр».
  • Исправление: Исправлена ошибка, из-за которой аниматоры камеры без трека “поле зрения” не могли вносить какие-либо изменения в FOV камеры.
  • Исправление: исправлено “Установить игру на паузу » теперь правильно возвращает, было ли изменено состояние паузы при установке его на false.
  • Функции компонента «активировать “теперь срабатывают для компонентов” автоактивировать», если компонент принадлежит актеру, помещенному на уровень.
  • Компоненты теперь правильно удалены из списка обновления конца кадра их мировых потребностей. Это исправляет редкий сбой, когда компонент перемещается между мирами как часть бесшовного путешествия.
  • Консолидированные настройки вращения (скорость вращения, использовать контроллер желаемого флага вращения, ориентировать вращение на движение флага) в новой категории «настройки вращения». Флаг компонента перемещения символов для «использовать контроллер желаемого вращения» больше не является расширенным свойством. Это делает его более легко обнаруживаемым.
  • Прямой доступ к статической сетке в разделе «компонент статической сетки» устарел. Пожалуйста, используйте методы доступа” Get Static Mesh” и «Set Static Mesh».
  • Отключил некоторые проверки NaN в сборках доставки.
  • Улучшена логика для того, когда преобразование статического компонента сцены может быть изменено.
  • Загрузка игры из слота больше не будет иногда терпеть неудачу, если использовать определенный Blueprint класс.
  • Сглаживание мыши теперь основано на времени фрейма приложения, а не на расширенном мировом времени.
  • Собственные классы теперь будут правильно запускать сценарий построения на PostEditMove.
  • Собственные компоненты, созданные с помощью” Create Default Subobject», которые были удалены, больше не будут существовать в существующих экземплярах этого класса.
  • Дочерние элементы Scene Component Attach больше не будут периодически получать повторяющиеся записи на клиенте для некоторых реплицированных компонентов.
  • Теперь FOV сбрасывается на актере камеры менеджера плеера при его инициализации.
    • Это исправляет случаи устаревших значений FOV после воспроизведения анимаций камеры, которые не заканчиваются FOV на его базовом значении.
    • Базовый FOV теперь можно редактировать в свойствах Camera Anim. Это позволяет указать, к чему относятся ключи FOV. Раньше он всегда использовал основание FOV 90 градусов.
  • Теперь положение (нулевого) ограничивающего объема пустого компонента рендеринга текста является правильным.
  • Компоненты источника ветра теперь правильно «активируются» и «деактивируются».”

Локализация

  • Новое: добавлен способ отмечать текст в свойствах текста как инвариант культуры.
    • Это позволяет помечать свойства, содержащие текст, который не нужно собирать.
  • Новое: добавлены переопределения” As Time“,” As Date Time “и” As Date » для чертежей, позволяющие форматировать время UTC в данном часовом поясе. Это значение по умолчанию соответствует вашему местному часовому поясу. Ранее вы могли форматировать время только с помощью «инвариантного» часового пояса, который предполагал, что время уже указано в правильном часовом поясе для отображения.
  • New: свойства FText / pins теперь будут сохранять свою существующую идентичность (пространство имен + ключ) там, где это возможно при изменении исходного текста.
  • Новое: переводы теперь экспортируются / импортируются по идентификатору, а не сворачиваются идентичные строки в пределах одного пространства имен.
    • Это позволяет переводчикам переводить каждый экземпляр фрагмента текста на основе его контекста, а не требовать от производителя контента вернуться назад и предоставить записи уникальное пространство имен.
    • Это также позволяет нам опционально компилировать устаревшие переводы, поскольку теперь они сопоставляются с их исходным идентификатором (пространство имен + ключ), а не с исходным текстом.
    • Это изменение также добавляет FLocTextHelper в качестве высокоуровневого API для работы с некомпилированным локализованным текстом. Это должно быть предпочтительнее для всего нового кода, а не иметь дело непосредственно с манифестами/архивами.
  • Исправление: Исправлена ошибка при работе с кодовыми точками вне базовой многоязычной плоскости на платформах с UTF-32 FStrings.
  • Исправление: Исправлена ошибка, которая могла произойти в сборщике исходного кода, где он иногда пропускал массив.
  • Исправление: Исправлена ошибка, из-за которой локализованные активы не работали с “запуском ВКЛ” в Редакторе.
  • Исправление: Исправлена ошибка, из-за которой экспортер PO выписывал недопустимые escape-последовательности.
  • FText теперь может правильно форматировать даты до Григорианской эпохи.
  • Удалена проверка валидности исходных культур при переназначении, так как платформы могут использовать недопустимые культуры, которые необходимо переназначить.
  • Теперь система интернационализации правильно определяет, находится ли локальная машина в часовом поясе с активным переходом на летнее время
  • Теперь мы предпочитаем традиционный китайский для Гонконга и Макао.

Сетевой

  • New: World Origin rebasing был добавлен в качестве экспериментальной функции!
    • Это означает, что Происхождение мира может быть различным как на клиенте, так и на сервере.
    • Эта функция будет продолжать совершенствоваться в течение следующих выпусков.
  • Исправление: Исправлена ошибка, которая могла произойти с “отладочным обратным вызовом”FCurlHttpRequest.
  • Исправление: исправлено утверждение, которое могло возникнуть при воспроизведении воспроизведения, записанного на клиенте, использующем оторванных актеров.
  • Исправлена ошибка: исправлено утверждение в коде очистки канала, которое могло произойти, если соединение было очищено и в полете все еще была “продолжайте обрабатывать карту сгустков каналов актера”.
  • Исправление: Исправлена ошибка, из-за которой теги геймплея будут лучше работать с обратной совместимостью в повторах.
  • Исправление: исправлены различные проблемы с переназначением объектов, которые теряют / приобретают релевантность.
  • Исправление: Исправлена проблема с повторами, которая могла привести к тому, что очистка до определенного времени будет идти не в то время.
  • Исправление: Исправлена проблема, которая могла привести к тому, что платформы с ограниченным объемом памяти (например, консоли) будут работать без памяти при быстрой очистке повторов.
  • Исправление: Исправлена проблема, когда реплицированные ссылки, которые оставались бы нулевыми неопределенно долго из-за того, что становились не релевантными, а затем снова становились релевантными
  • Отключите горячую перезагрузку при использовании одного процесса MP PIE. Это устраняет некоторые конфликты, которые могут возникнуть в противном случае.
  • Не удаляйте имя карты / пакета из командной строки при настройке доставки на выделенном сервере в разделе “запустить игровой экземпляр”экземпляра игры. Никогда не анализируйте “ — replay » на выделенных серверах. Это позволяет указать имя карты на серверах с помощью командной строки.
  • Мы больше не записываем спящих актеров в повторах для лучшей производительности

Физика

  • Новое: добавлен компонент «простое движение колесного транспортного средства», который позволяет использовать n колес без моделирования двигателя.
    • Выставляется “компонент движения колесного транспортного средства 4W», так что его можно добавить к любому чертежу.
  • Новое: добавлены функции” получить костную массу” и «получить скелетный центр массы» для скелетных сеток.
  • Новое: добавлена дополнительная статистика транспортных средств для профилировщика.
  • Новое: BSP теперь поддерживает возврат текстурных координат из линейных трасс.
  • Новое: выставлено «вращение захвата» для компонента ручки физики. Также представьте жесткую и мягкую физическую ручку.
  • Новое: раскрыта возможность раздельного реверса и торможения на транспортных средствах.
  • Новое: улучшено время приготовления Для столкновения компонентов «процедурной сетки». Исправлена ошибка, из-за которой “обновление раздела сетки” на процедурной сетке может обновить неправильные коллизионные вертикали из-за очистки сетки при приготовлении пищи.
  • Новое: улучшено предупреждение при попытке создать ограничение между различными сценами.
  • Новое: улучшено кэширование данных для разрушаемых сеток при сохранении. Это дает 8X-10x улучшение времени загрузки для более сложных сеток.
  • Исправление: Исправлена ошибка, когда сетка физического компонента анимации изменялась из-под него.
  • Исправление: Исправлена ошибка в PhAT, так что несколько ограничений могут быть выбраны и отредактированы должным образом одновременно.
  • Исправление: Исправлена проблема, при которой компонент ограничения не использовал корневое тело, когда не было указано имя кости.
  • Исправление: Исправлена ошибка, из-за которой индекс ограничений присваивался неправильно. Кроме того, выставлено “найти имя кости ограничения” для чертежей.
  • Исправление: Исправлена проблема с зажимом “контактного расстояния » FConstraintingBaseParam.
  • Исправление: Исправлена проблема с PhAT » Snap Constraint To Bone.”
  • Исправление: Исправлена проблема с компонентом физической ручки, не учитывающим вращение/смещение кости.
  • Исправление: Исправлена проблема с «Set Root Body Index», так что он использует преобразование мирового пространства вместо ссылочного скелета.
    • Исправлены некоторые проблемы при использовании тряпичных кукол на скелетных сетчатых активах, импортированных со смещением/вращением.
    • Кроме того, Исправлена ошибка при открытии старого физического актива и изменении его сетки.
  • Исправление: Исправлена проблема со смещением силы подвески автомобиля для работы от расположения пружины (по оси z) вместо COM автомобиля.
  • Исправление: Исправлена ошибка, вызванная изменением параметров реакции на столкновение разрушаемой сетки после ее разрыва.
  • Исправление: Исправлена ошибка, порождающая сложные разрушаемые сетки в многопользовательских играх.
  • Исправление: Исправлена ошибка при создании разрушаемой сетки из статической сетки, использующей материалы SpeedTree.
    • Добавлено предупреждающее сообщение при попытке сделать это сейчас.
  • Исправление: Исправлена проблема с исчезновением ткани APEX, если актер, содержащий компонент с одеждой, имел свое пользовательское замедление времени, установленное на 0.0.
  • Исправление: Исправлена проблема с неправильным масштабированием фигур коллизий коробок после использования инструмента Merge Actor.
  • Исправлена ошибка: исправлена ошибка с разрушаемым импортом активов, если одна из подрешеток в файле активов не имела геометрии.
  • Исправление: исправлены неправильные всплывающие подсказки для каналов столкновений.
  • Исправление: Исправлена проблема с трассировкой линий против компонента, не возвращающего индекс лица, где это уместно.
  • Исправление: Исправлена проблема с трассировкой линий против конкретного компонента, не возвращающего самое близкое попадание в случае треугольной сетки.
  • Исправление: Исправлена проблема, когда повреждение сетки в активах одежды произойдет при импорте новой сетки, которая требует буфера индекса uint32 над активом одежды, который ранее требовал индексов uint16.
  • Исправление: Исправлена проблема, когда весы, такие как (1,0,1) не будучи зажат к чему-то действительному в коде физики.
  • Исправление ошибки: Исправлена ошибка, из-за которой “Support UV From Hit Results” не информировала пользователя о необходимости перезапуска редактора.
  • Измененные вычисления границ скелетной сетки игнорируют актеров одежды, если они не имитируют текущий активный LOD.
  • Изменил некоторые открытые свойства разрушаемых сеток, чтобы они были скрыты, так как они поддерживаются только для неразрушаемых скелетных сеток. Это решает проблему, когда физические теневые активы были свойствами, которые были видны.
  • Принудительный размер блока 16K для скретч-памяти PhysX при моделировании.
  • Убедитесь, что физическая ручка автоматически пробуждает любой объект, который она захватывает при освобождении.
  • Улучшены комментарии для обратных вызовов хитов.

Платформы

  • Новое: добавьте поддержку HarfBuzz для правильного формирования текста на языках, которые этого требуют, таких как арабский.
  • Новое: добавьте поддержку Windows и Linux для замены распределителей на-ansimalloc, — binnedmalloc и -binnedmalloc2, чтобы обеспечить простое сравнение во время выполнения.
  • Новое: добавлен «is Gamepad Attached» для Android, чтобы пользователи могли определить, когда геймпад прикреплен к устройству.
  • Новое: добавлена поддержка локальных уведомлений Android с использованием существующих механизмов построения схемы локальных уведомлений. Использование этих узлов Blueprint теперь будет работать как на Android, так и на iOS.
  • Новое: добавлена поддержка для создания окна игры без границ (без системных границ или строки заголовка) на настольных платформах. По умолчанию отключено.
    • Включение требует добавления “UseBorderlessWindow=True » в [/Script/EngineSettings.GeneralProjectSettings] в DefaultGame.ini.
    • Игра, использующая это, отвечает за добавление виджета “область заголовка окна” в свой пользовательский интерфейс, а также кнопок сворачивания/разворачивания/закрытия окна.
  • Новое: добавление поддержки интерстициальной рекламы для Android с помощью AdMob, включая функции Blueprint.
    • Были добавлены четыре функции:” загрузить интерстициальное объявление“,” доступно ли интерстициальное объявление“,” запрашивается ли интерстициальное объявление “и «показать интерстициальное объявление».”
  • Новое: AndroidManifest.xml теперь будет включен текстурный формат, используемый в упаковке. Соответствующие теги «supports-gl-texture» будут добавлены для формата текстуры, выбранного при упаковке.
  • Новое: движок выберет первую шейдерную платформу в [/Script / WindowsTargetPlatform.WindowsTargetSettings] в качестве текущего RHI.
  • Новое: поддержка компиляции металлических шейдеров при кросс-компиляции в Windows.
    • Это должно быть включено на странице настроек сборки IOS, так как это может значительно увеличить время сборки.
  • Новое: включите возможность изменять порты для брандмауэра, чтобы передать их через rsync. Это адрес UE-24679.
  • Новое: обновите цепочку инструментов emsdk до версии 1.36.11-emscripten.
  • Новое: при запуске приложения на iOS в Редакторе журналы консоли устройства передаются по конвейеру в окно журнала консоли редактора.
  • Исправление: Исправлена проблема с приготовлением сжатого содержимого, когда битовое окно, используемое для сжатия, было потреблено неправильным параметром.
  • Исправление: исправлена пара проблем с пакетами приложений Mac, изменяющими их содержимое, что делало их несовместимыми с Mac App Store.
  • Исправление: Исправлена ошибка, из-за которой звуковые миксы не заканчивались должным образом в конце определенных звуковых эффектов при воспроизведении на устройстве. Так вот, их поведение теперь соответствует пирогу.
  • Исправление: Исправлена ошибка, из-за которой модуль Android_ASTCTargetPlatform не загружался на Mac.
  • Исправление: Исправлена ошибка, из-за которой установка нового сенсорного интерфейса в none приводила к тому, что любой ввод, присутствующий на виртуальных джойстиках, продолжался бесконечно. Вход теперь очищается перед установкой нового сенсорного интерфейса.
  • Исправление: Исправлена ошибка, при которой сжатие шейдеров использовало платформу хоста кулинарии вместо целевой платформы при выборе параметров сжатия шейдеров.
  • Исправление: исправлено условие гонки в потоковом коде, которое влияло на платформы на основе pthread, такие как Linux, Mac, Android, iOS и т. д. Потоки теперь правильно соединены, а не заняты ожиданием.
  • Исправление: Исправлена проблема, из-за которой iOS Movie Player не может обрабатывать видео с разрешением, не кратным 16. Теперь assert выбрасывается при попытке воспроизвести не-мощность разрешения 16.
  • Исправление: Исправлена ошибка, из-за которой иногда фильм не воспроизводился на iOS.
  • Дайте более дружественное сообщение об ошибке, когда UHT терпит неудачу с недопустимым кодом ошибки. Это поможет при попытке сборки без установленных предварительных условий.
  • Сделайте «бег». на «Тосты остаются активными при запуске игры на устройстве Android до тех пор, пока игра не завершит работу на устройстве. Раньше тост закрывался преждевременно.
  • Передайте все дополнительные функции, используемые для запуска SplashActivity, в GameActivity. Это позволяет коду, который полагается на данные намерения (например, GCM), функционировать должным образом. GameActivity будет получать информацию, а не только SplashActivity.
  • Процесс приготовления теперь уважает конфигурацию манифеста фрагментации для каждой платформы в игровом файле ini. Если вы укажете -манифесты, он заставит все платформы создать манифест.
  • Улучшено сообщение об ошибке, которое отображается как неизвестная ошибка при невозможности предоставить сервер Remove Build server для iOS в Windows.
  • Изменил “пул резервной памяти OOM», чтобы позволить каждой платформе устанавливать, сколько памяти выделять. См. функцию «вернуть размер пула памяти “в разделе» Память платформы.” По умолчанию установлено значение 0, что было предыдущим поведением с теперь удаленной функцией “поддержка резервного пула памяти” в “памяти платформы”, которая была верна только в Windows и PS4.
Android
  • Новое: Обновлено libpng до 1.5.27 для Android, чтобы исправить уведомления безопасности Google
  • Новое: обновлено до CodeWorks для Android 1R5.
  • Новое: включены типы Windows в vulkan.h из более поздних SDK.
  • Новое: обнаружение ES 3.1 теперь обрабатывает 3.2 в строке версии с более новых устройств.
  • Исправление: Исправлена ошибка, которая могла произойти на Kindle Fire при попытке загрузить проект, включивший Плагины Oculus.
  • Исправление: Исправлена ошибка на устройствах, таких как Huawei Honor G750, которые не поддерживают расширения EXT_debug_lable и EXT_debug_marker.
  • Исправление: Исправлена ошибка, которая могла произойти, когда проект на базе вулкана возобновляется после потери фокуса.
  • Исправление: Исправлена ошибка, из-за которой некоторые приложения Android выходили из строя, если ориентация устройства изменялась при активном экране заставки запуска.
  • Исправление: Исправлена ошибка, из-за которой обнаружение OpenGL ES 3.1 не удавалось на устройствах, поддерживающих OpenGL ES 3.2.
  • Исправление: Исправлена проблема с операциями out of spec GLSL.
  • Исправление: исправлен путь включения Vulkan в проверке NDK.
  • Отключены игры Google Play для ARM64, так как собственная библиотека вызывает сбой при запуске.
  • Скрытие виртуальной клавиатуры на Android правильно закрывает диалоговое окно ввода.
  • Используйте альтернативный поток событий только для упакованных приложений Daydream.
  • Пройдите через действие намерения от всплеска активности к игровой активности.
  • Теперь мы правильно обрабатываем поиск в Android Media Player, который раньше не работал после 999 МС.
  • Считывание переменных окружения Android из файла. bashrc в Linux.
  • Восстановите режим фильтрации текстур должным образом, когда фильм воспроизводится на Android.
  • Обновите длину кэша при записи файла на Android.
  • Используйте расширение .sh для установки скриптов на Android в Linux.
iOS
  • Исправление: Исправлена ошибка с захватом отражения в металле.
  • Исправление: Исправлена проблема с Metal Dynamic RHI “RHIReadSurfaceData » для общих текстур на iOS.
  • Больше не позволяйте шейдерам ES2 компилироваться для tvOS.
  • Работал вокруг некоторых плохих заголовков Xcode, чтобы включить компиляцию с Xcode8 / iOS10.
Линукс
  • Новое: обновлены сценарии установки для запуска на Ubuntu 16.10.
  • Новое: добавлен» закадровый » видеодрайвер в SDL, так что движок теперь может создавать контекст GL на безголовых машинах, не работающих на каких-либо дисплейных серверах (EGL достаточно).
  • Новое: добавлена поддержка создания установленных сборок Linux.
  • Новое: в комплекте libc++ с движком для защиты от проблем несовместимости STL.
    • Сторонний код, использующий STL, должен быть скомпилирован против встроенной библиотеки, чтобы извлечь из этого выгоду.
  • Новое: пакет SDL обновлен до транка в конце сентября 2016 года.
  • Новое: выберите версию OpenGL на основе первого целевого RHI, который позволяет установить версию через файл .ini.
  • Новое: сообщение об ошибке аварии выведет более подробную информацию об ошибочном доступе к памяти в Linux.
  • Новое: последняя страница стека alt обработчика сигналов сделана только для чтения, чтобы защитить ее от случайного разбивания.
  • Новое: добавлены предварительно скомпилированные библиотеки WebRTC (xmpp).
  • Новое: упакованные некодовые проекты теперь включают в себя сценарий оболочки «bootstrap» для удобства.
  • Новое: движок будет профилировать и выбирать самый быстрый доступный источник синхронизации, который также исправляет работу подсистемы Windows 10 Linux.
  • Новое: обновлена кросс-цепочка инструментов для таргетинга CentOS7 и нескольких архитектур.
  • Новое: включено использование xgConsole в Unreal Automation Tool.
  • Исправление: Исправлена ошибка при редактировании чертежей виджетов.
  • Исправление: Исправлена проблема с зависанием клиента и сервера при декодировании голосового чата.
  • Исправление: Исправлена проблема с компиляцией ARM (32-битных) серверных сборок.
  • Исправление: Исправлена ошибка с ошибкой копирования / вставки в Linux, когда буфер обмена был пуст.
  • Исправление: Исправлена ошибка, из-за которой поток heartbeat не останавливался во время обработки сбоя.
  • Исправление: Исправлена проблема с генераторами QtCreator и Makefile, которые пропускали некоторые пути включения и дублировали другие.
  • Исправление: Исправлена проблема с привязкой SDL EGL API.
  • Исправление: Исправлена проблема с зависанием UBT после Ctrl + C, когда создание моно-потока завершается неудачей.
  • Исправление: исправлено ненужное выполнение некоторых шагов привязки, даже если ничего не изменилось.
  • Исправление: рассматривайте abort () / SIGABRT как сбой.
    • Это исправляет некоторые ненормальные выходы, о которых не сообщается.
  • Отключено перестроение hlslcc во время установки, учитывая, что теперь он построен против встроенной библиотеки C++ и всегда будет соответствовать движку.
  • Символ равенства теперь включен как часть значения параметра командной строки.
  • Незначительное улучшение надежности в обработчике сбоев Linux.
  • Более надежная проверка установленных пакетов на Ubuntu в установочных скриптах.
  • Уменьшите объем протоколирования при запуске внешних процессов.
  • ShaderCompileWorker будет сказано сбросить ядро при сбое в сборках редактора отладки, чтобы помочь отладке.
  • Время запуска модульных сборок (например, редактора) в 10 раз быстрее за счет исключения ненужных символов.
Mac
  • Новое: поддержка OpenGL теперь устарела, и Metal SM4 был заменен SM5 в версии 4.13.
    • Мы больше не компилируем шейдеры OpenGL и Metal SM4 по умолчанию, чтобы сэкономить время приготовления и уменьшить размер приготовленных данных.
    • При запуске под управлением OpenGL теперь будет отображаться диалоговое окно с предупреждением о том, что Mac OpenGL больше не поддерживается и может работать неправильно.
  • Новое: добавлен переключатель командной строки для Mac «- RedirectNSLog», который будет захватывать выходные данные NSLog с помощью NSPipe и записывать их в наш журнал вместо этого, когда он не работает под отладчиком.
    • Это позволит захватить выходные данные из базовых библиотек, которые в противном случае были бы потеряны вне отладчика.
  • Новое: добавлен cvar с именем «r. Mac. OpenGLDisabled», чтобы отключить поддержку OpenGL на Mac.
    • Если Mac, который не поддерживает Metal, запускается, а этот cvar установлен в 1, то они получат диалоговое окно с описанием того, что они не поддерживают Metal, и процесс закроется.
  • Новое: добавлена дополнительная статистика для металла, чтобы отслеживать, сколько текстур выделяется кадру и сколько буферной памяти выделяется на кадр.
  • Новое: добавлена поддержка компиляции шейдеров Vulkan для Android на Mac.
  • Новое: добавлен дополнительный кэш внутри Metal RHI для удаленных текстурных объектов, чтобы мы могли повторно использовать их. Это управляется консольной переменной » rhi. Metal.TextureCacheMode».
    • 0 = выкл.
    • 1 (по умолчанию) = попытается повторно использовать частные объекты текстуры памяти в пределах кадра, который они освобождают, в противном случае они удаляются, как и раньше.
    • 2 = расширяет кэширование на все текстуры — хотя управляемые / общие текстуры не могут быть повторно использованы до тех пор, пока кадр, в котором они были выпущены, не будет обработан на GPU. В этом режиме id объекты никогда не возвращаются в ОС, поэтому для сохранения VRAM выполняются вызовы setPurgeableState, чтобы драйвер мог при необходимости восстановить неиспользуемую память.
    • Этот параметр не может быть изменен во время выполнения.
  • Новое: в MacOS, tvOS и iOS платформа RHI и шейдеров, инициализированная при запуске, теперь будет определяться параметрами, указанными в целевых настройках проекта, а не предполагаемыми в коде.
    • Когда начальный выбор в целевых настройках недоступен на текущем устройстве, код будет изящно отступать, если это возможно, или предупреждать пользователя, если нет.
    • На Mac: порядок инициализации — это порядок, указанный в спецификации TargetedRHIs.
    • На iOS/tvOS: порядок явен: Metal MRT > Metal ES 3.1 >> OpenGL ES 2.
  • Исправление: Исправлена ошибка под слоем проверки и драйверами Nvidia El Capitan (10.11), когда столкновения частиц поля расстояния используются без каких-либо доступных полей расстояния сцены. Теперь мы связываем текстуру Черного Тома, когда это происходит, чтобы избежать плохого доступа на GPU.
  • Исправление: Исправлена ошибка, вызванная попыткой восстановить пункт меню справки на Mac, Если MenuBlock не содержал его.
  • Исправление: Исправлена ошибка, вызванная выпуском содержимого Metal context в некоторых случаях на MacOS 10.12.1.
  • Исправление: Исправлена ошибка в CoreAudio при отключении паузы.
  • Исправление: Исправлена ошибка в редакторе при отображении нового окна на MacOS 10.12+.
  • Исправление: Исправлена ошибка, из-за которой буферы всегда привязывались ко всем входам шейдера частиц, чтобы избежать ошибки проверки в металле.
  • Исправление: Исправлена проблема с воспроизведением видео AV Foundation, вызывающая ошибки проверки в отладочных инструментах Apple, так как текстуры, которые он возвращает нам, не могут быть использованы в качестве целей рендеринга и хранятся в доступной процессору памяти.
  • Исправлена ошибка: исправлена ошибка с плагином AVFMedia, когда у фильма есть подписи.
  • Исправление: Исправлена ошибка в MetalRHI, из-за которой первый результат запроса рендеринга возвращал неправильный результат, который проявлялся в виде приостановленной анимации частиц.
  • Исправление: Исправлена проблема фокусировки в средстве выбора активов, которая заставляла пользователей нажимать на текстовое поле поиска,чтобы иметь возможность вводить текст.
  • Исправление: Исправлена проблема с игровым окном, не отображающим его содержимое в некоторых случаях на macOS 10.12.1.
  • Исправление: Исправлена проблема с преобразованием HLSL — >Metal для вызовов asuint/asfloat, где тип ввода совпадает с типом вывода.
  • Исправление: Исправлена проблема обработки MetalRHI вызова «Set Render Targets Info» без каких-либо целей рендеринга.
  • Исправление: Исправлена ошибка с TBasePassVertexShaderPolicyParamtype не устанавливая значения для всех параметров шейдера, которые затем вызывали бы ошибку в слое проверки металла.
  • Исправление: Исправлена проблема с переводом металлического шейдера, сохраняющая большую точность для плавающих констант -1.0 f >>
    • Это предотвращает, в частности, сброс константы Хаммерсли до 0.
  • Исправление: Исправлена проблема с Fmac Metal, изначально не поддерживающей PF_G8 + sRGB, поскольку Apple утверждает, что не все графические процессоры Mac имеют одноканальные форматы sRGB.
  • Изменил шейдерный кэш, чтобы не кэшировать привязки ресурсов в состояниях рисования для платформ шейдеров, которые их не используют.
  • Отключил конструкцию ленивого кодера в металле для AMD. Существует ситуация, которая заставляет ленивую конструкцию выполнять ясное, что не требуется.
  • Теперь, когда они не потребляют такого чрезмерного объема памяти, на Mac включено больше параллельных экземпляров ShaderCompileWorker.
  • Убедитесь, что сбой командного буфера в Metal всегда фатален, поскольку нет способа восстановить и сделать количество командных буферов по умолчанию достаточно большим для обработки потоковой передачи текстур в играх Mac.
  • Rework Metal обрабатывает исходные вызовы Rhi Set Stream, которые переопределяют шаг объявлений вершин, чтобы быть гораздо более эффективными.
  • Обновите идентификационный код графического процессора в металле, чтобы обработать изменения, внесенные в macOS Sierra.
  • Используйте мьютекс чтения / записи для защиты доступа к внутренним кэшам конвейера шейдеров Metal, чтобы параллельные потоки могли развиваться в обычном случае, когда новые шейдеры не компилируются.
  • Используйте внутренний API setBytes Metal для загрузки буферных данных, которые меньше одной страницы процессора, так как это намного быстрее и позволяет избежать фрагментации внутренних куч металла. На графических процессорах Nvidia это всегда используется, но для версий iOS без этой функции или Mac, работающих под управлением El Capitan на графических процессорах Intel, вместо этого используется дополнительный кольцевой буфер.
  • Используйте частную память для обходного пути Metal stencil SRV, необходимого в OS X El Capitan для небольшого повышения производительности.
PlayStation 4
  • Новое: добавлен профиль устройства PS4 при подключении к телевизору 4K.
  • Новое:” Get Num of Tracking Sensors “и” Get Tracking Sensor Properties » теперь поддерживаются PSVR. Это вернет свойства для камеры слежения PS4.
  • Новое: когда игра, поддерживающая PlayStation Pro, подключена к телевизору 4K, игра может выбрать автоматическое создание 4K backbuffers или продолжить работу с 1080p backbuffers.
    • Этот выбор должен быть сделан на основе каждой игры с учетом стоимости памяти и производительности.
    • Используйте “r. PS4Allow4kOutput » для включения. По умолчанию отключено.
  • Исправлена ошибка: Исправлен сбой, который мог произойти с аудио потоком, когда ядро захватило ядро 7 и голодало аудио поток.
  • Исправление: исправлено возможное зависание графического процессора на PS4 при использовании DrawIndirect или DispatchIndirect. Это зависание можно увидеть в проектах, использующих DistanceField AO или Distancefield Shadowing.
  • Исправление: Исправлена проблема с ошибками выравнивания цели рендеринга на PS4 Pro.
  • Исправление: исправлены некоторые падения звука при воспроизведении мультимедиа PS4.
  • PS4 Time” SystemTime » теперь возвращает локальное машинное время вместо UTC.
  • Остановил PS4 от того, чтобы всегда размещать все файлы данных ICU.
  • Обновляемые приложения теперь будут иметь поле app_type в файлах проекта Sony (. gp4), сгенерированное с орфографией «upgradable», что соответствует ожиданиям Sony.
  • Удалено отображение для кнопки Play controller «Select», так как она зарезервирована системой.
Xbox One
  • Новое: по умолчанию Xbox One XDK теперь является августом 2016 года QFE 2.
  • Новое: добавлена поддержка нескольких двоичных файлов в развертываниях Xbox One. Устранена необходимость в двоичном переименовании во время развертывания.
  • Новое: добавлена поддержка использования виртуальной клавиатуры на Xbox One.
  • Новое: d3d12 Movie player обновлен до быстрой реализации SIMD. Это будет заменено в будущем SDK, когда аппаратный декодер будет поддерживаться.
  • Новое: улучшена производительность развертывания Xbox One и время итерации.
    • Исправлена ошибка, из-за которой этапирование можно было выполнять дважды за сборку из Visual Studio.
    • Гарантированные файлы, которые не изменились, не копируются повторно для промежуточной обработки или развертывания.
    • Измененная генерация манифеста позволяет избежать написания нового манифеста, если его содержимое не изменилось.
  • Новое: переработано управление контроллером Xbox One для уменьшения межосевых вызовов, повышения производительности и сокращения использования памяти.
  • Новое: добавлена поддержка проигрывателя media foundation player для Xbox One.
  • Новое: добавлен лучший размер буфера сжатия во время создания пакета, что приведет к большему количеству файлов, сжимаемых для использования с аппаратной декомпрессией.
  • Новое: добавлена поддержка staging era.xvd из XDK, которая требуется более новым XDKs для запуска приложений.
  • Исправление: исправлено утверждение при сохранении / загрузке игр.
  • Исправление: исправлена утечка памяти ESRAM, вызванная объемными текстурами.
  • Исправление: Исправлена ошибка, из-за которой ведущий персонаж в сложных настройках AppxManifest игнорировался.
  • Исправление: Исправлена ошибка, из-за которой клавиша shift на физической клавиатуре, подключенной к комплекту Xbox One, могла игнорироваться.
  • Исправление: Исправлена проблема с поврежденными скриншотами.
  • Исправление: Исправлена ошибка, из-за которой поддержка DirectX 12 не была отмечена как экспериментальная для Xbox One.
  • Исправление: Исправлена проблема с аппаратным сжатием и декомпрессией, чтобы всегда возвращаться к программной реализации, если аппаратная реализация терпит неудачу.
    • Это может произойти, если данные, построенные до добавления аппаратной поддержки сжатия, будут распакованы через путь аппаратной декомпрессии или если сжатие или декомпрессия произошли до инициализации RHI.
  • Отключена аналитика движка на Xbox One shipping games.
HTML5
  • Новое: обновление цепочки инструментов emsdk до версии 1.36.11
    • Двоичные файлы OSX: лязг.
    • Перестроенные библиотеки ThirdPartySoftware для HTML5.
    • Двоичные файлы Windows: лязг.
Windows
  • Новое: добавьте поддержку мультитач в Windows 7-10!
  • Новое: при загрузке библиотеки DLL модуля UE4 движок теперь вручную сканирует двоичные файлы проекта и плагина и предварительно загружает зависимые библиотеки DLL. Это устраняет ограничения, вызванные максимальной длиной переменной окружения PATH.
  • Исправление: Исправлена ошибка, из-за которой максимизированные окна игр без границ отображали свое содержимое смещенным на 8 пикселей с верхней и левой сторон.
Все Мобильные
  • Новое: обеспечен доступ к каталогу проекта на UPL (Unreal Plugin Language) с помощью $S(ProjectDir).

Программирование

  • Новое: созданные файлы проекта теперь включают определения intellisense и включают пути для всех модулей UE4, а не только для тех, которые находятся в стандартном целевом редакторе UE4.
  • Новое: Unreal Build Tool теперь поддерживает компилятор Intel C++ в Windows.
  • Новое: добавлена опция командной строки a-nolink для Unreal Build Tool, которая позволяет компилировать цель без привязки к ней. Это полезно для автоматизированных тестов сборки, таких как компиляции без unity.
  • Исправление: Makefile теперь недействителен, если какие-либо сгенерированные заголовки удаляются, что устраняет проблему, когда файлы перемещаются из одного модуля в другой, и исходный модуль больше не содержит сгенерированных заголовков; его путь включения должен быть удален из среды компиляции.
  • Инструмент Unreal Build Tool теперь удаляет все библиотеки DLL в выходных папках, которые имеют общие имена с продуктами сборки. Загрузчик Windows считывает библиотеки DLL из первого места, где он находит файл с соответствующим именем, поэтому нам нужно убедиться, что он не загружает устаревшие библиотеки DLL при изменении выходных каталогов (например, перемещении модуля в плагин).
  • Обновлен инструмент Unreal Build Tool, так что теперь программы можно создавать как часть конфигураций решений редактора/клиента/сервера.
  • Обновлено UnrealVS, так что открытые документы теперь сохраняются перед запуском компиляции одного файла.
  • Инструменты сборки GUBP были удалены. Скрипты для создания бинарных дистрибутивов UE4 теперь реализованы в Build Graph.

Визуализация

  • Новое: добавлен новый” кинематографический » уровень масштабируемости в систему масштабируемости.
    • Этот уровень предназначен только для автономного рендеринга кинематографии.
  • Новое: размер пула дефрагментации PS4 теперь управляется новой переменной » r. PS4DefragPoolSize «и больше не привязан к «R.Streaming».Размер бассейна.» Он должен быть сконфигурирован в соответствии с потребностями проекта, с точки зрения графических ресурсов.
  • Новое: добавлена опция вывода HDR 1000 нит.
  • Новое: добавлен cvar «r. DumpSCWQueuedJobs», чтобы помочь отслеживать сбои ShaderCompileWorker.
  • New: Added — параметр командной строки emitdrawevents для включения событий рисования при запуске. Это может быть полезно при захвате с помощью сторонних графических отладчиков.
  • Новое: добавлены узлы материалов «атмосферный туман направление солнца» и” атмосферный туман цвет Солнца», так что материалы могут очень легко получить доступ к направлению и цвету направленного света, который был помечен как атмосферный туман свет. Это может уменьшить необходимость использования MIDs или MPCs.
  • Новое: добавлены данные о плотности УФ-излучения для каждого материала для статических сеток и скелетных сеток для улучшения показателей потоковой передачи текстур.
  • Новое: добавлен цвет pre-Tonemapper HDR для буферной визуализации и захвата кадров.
  • Новое: Добавлена настройка проекта для включения перестановок шейдеров Skincache
  • Новое: добавлено сжатие ресурсов шейдеров. Это приведет к сжатию ресурсов шейдера в памяти. Он включен по умолчанию для всех платформ, кроме Xbox One.
  • Новое: реализации DirectX 12 RHI для ПК и Xbox One теперь в основном объединены.
    • Некоторые специфические для платформы реализации остаются, но оптимизация и исправления теперь будут влиять на обе платформы одновременно.
  • Новое: иерархические расстояния перехода LOD теперь можно регулировать на основе настроек масштабируемости. Используйте “r. HLOD. DistanceScale.”
    • По умолчанию используется значение 1, но более высокие значения приведут к тому, что переход произойдет дальше.
  • Новое: сделайте отбраковку радиуса тени с учетом поля зрения.
    • Обратите внимание, что это может положительно или отрицательно повлиять на производительность рендеринга глубины тени, в зависимости от FOV камеры.
  • New: новая настройка масштабируемости » R.Streaming.LimitPoolSizeToVRAM», чтобы ограничить пул потоковой передачи текстур тем, сколько видеопамяти доступно.
    • Улучшено поведение при использовании адаптивного смещения mip («r. Streaming.Useptexturebias»), так что смещение масштабируемости используется только для генерации предупреждений о превышении бюджета.
  • New: новый статус потоковой сборки текстур доступен через «r. Streaming.CheckBuildStatus.» Это используется для предупреждения пользователя, когда требуется потоковая сборка текстуры.
  • Новое: оптимизация выреза частиц больше не требует анимации SubUV.
    • Теперь он находится в модуле “требуется», и теперь есть настройка проекта в разделе рендеринг > оптимизация >> вырезы частиц по умолчанию, которая автоматически настроит оптимизацию вырезов при изменении материалов на эмиттере.
  • Новое: консольная переменная «r. SSR. MaxRoughness» теперь может использоваться в сборке доставки, а не только в качестве функции разработки.
  • Новое: добавлена поддержка “highresshot » на Vulkan.
  • Новое: потоковая передача текстур MipBias из настроек масштабируемости больше не влияет на требуемое вычисление mips, чтобы предотвратить низкое качество текстур на символах.
  • Новое: Команда «ListTextures» теперь выводит статистику в терминах «в памяти» и «на диске» для улучшения читабельности. Теперь результаты также более последовательны между приготовленными сборками и не приготовленными сборками.
  • Новое: шейдеры Vulkan теперь используют glslang из SDK 1.0.24.0.
  • Новое: при запуске с D3D11 RHI в Windows в разделе RenderDoc события рисования теперь включены по умолчанию.
  • Новое: при запуске с OpenGL RHI в Windows в разделе RenderDoc события рисования теперь включены по умолчанию.
  • Новое: добавлено исправление для драйверов Vulkan, возвращающих бесконечное количество swapchains.
  • Исправление: Исправлена ошибка выхода из VR Preview при использовании OpenGL 4 в Windows.
  • Исправление: Исправлена ошибка при использовании высококачественных ламп частиц.
  • Исправление: исправлена потенциальная ошибка при рисовании в ландшафтном редакторе.
  • Исправление: Исправлена ошибка при обновлении иерархических инстанцированных статических сеток на лету.
  • Исправление: Исправлена ошибка при процедурном нарезании сетки, когда не генерируются верты.
  • Исправлена ошибка: исправлена ошибка при использовании мозаичных материалов с узлами Blueprint «Draw Material To Render Target».
  • Исправление: Исправлена ошибка с громкостью Постпроцесса при использовании плоских отражений с Инстансированным стерео.
  • Исправление: Исправлена ошибка, из-за которой всегда привязывалось значение “is Stereo Parameter” в параметрах шейдера плоского отражения, чтобы избежать недопустимого доступа GPU к металлу в шейдерах, выполняющих if-тест для этой переменной.
  • Исправление: движок больше не пытается освободить статические ресурсы сетки, если сетка никогда не была визуализирована и, следовательно, никогда не инициализировала ресурсы. Это также исправляет некоторые неправильные статистические данные, связанные со статическим использованием памяти сетки.
  • Исправление: Исправлена проблема с большими проблемами отбраковки spotlight.
  • Исправление: Исправлена проблема с опцией «автоматическое вычисление расстояний LOD» в настройках статической сетки LOD. Ранее расчет был неверным и давал несколько произвольные расстояния.
  • Исправление: Исправлена ошибка, из-за которой оттенок окклюзии мансардного окна не мог правильно применить диффузный цвет материала.
  • Исправление: Исправлена ошибка ограждения с асинхронным вычислением прозрачности освещения громкости clear. Это может привести к мерцанию или редкому зависанию графического процессора на PS4.
  • Исправление: Исправлена проблема с делением на ноль в некоторых случаях в процессе записи размытия движения. В некоторых случаях это приводило к появлению артефактов.
  • Исправление: Исправлена проблема с листвой, где освещение всегда должно быть восстановлено.
  • Исправление: Исправлена ошибка, из-за которой изменение режима детализации не распространялось на компоненты.
  • Исправление: исправлен крайний случай при замене ссылок на текстуры в материале, который приводил к сбою обновления типа сэмплера.
  • Исправление: Исправлена ошибка, из-за которой гамма неправильно применялась к цветам вершин процедурных сеток. Фиксированная шкала границ не применяется к процедурному компоненту сетки.
  • Исправление: Исправлена проблема с “Get Capsule Mesh», которая не работала правильно при ориентации.
  • Исправление: Исправлена проблема с нормалями на секции крышки при нарезке процедурных компонентов сетки.
  • Исправление: Исправлена проблема с возможными текстурами низкого разрешения, когда они использовались в UMG.
  • Исправление: исправлен примитивный фильтр в окне статистики редактора.
  • Исправление: масштабированные экземпляры статических сеток теперь будут правильно вычислять мировые нормали.
  • Исправление: для FRCPassPostProcessVelocityScatter используйте пустое объявление вершины, а не объявление вершины фильтра, так как атрибуты вершины не читаются в шейдере, что исправило ошибку проверки металла.
  • Удалена консольная переменная » r. Vulkan.UseGLSL”, теперь мы используем SPIR-V везде.
  • Не создавайте материальные ресурсы, если мы находимся в сборке, которая никогда не может визуализироваться-экономит несколько МБ памяти
  • Сделал отбраковку радиуса тени с учетом поля зрения. Обратите внимание, что это может положительно или отрицательно повлиять на производительность рендеринга глубины тени, в зависимости от FOV камеры.
  • При использовании экспериментальной функции GPU skin cache теперь требуется меньше перестановок шейдеров.
  • В XboxOne вершинные и индексные буферы теперь выделяются правильным набором nextwriteoffset, чтобы предотвратить топтание старых данных при будущих записях.
FX
  • Исправлена ошибка:исправлен редкий сбой в экземплярах излучателей следов частиц.
Освещение
  • Новое: добавлена “Capsule Indirect Shadow Min Visibility” к скелетным сеткам, так что художники могут контролировать непрямую темноту Capsule Shadow без изменения cvars.
  • Новое: добавлен флаг «видимый в отражении захватов» для примитивного компонента, который полезен для скрытия объектов слишком близко к точке захвата
  • Новое: добавлено «смещение поля расстояния» в Настройки статической сборки сетки для полей расстояния сетки, что полезно для уменьшения самозатенения на сетках с окружающей анимацией.
  • Новое: изменено стандартное плоское отражение «расстояние от конца затухания плоскости» с 600 до 100, что уменьшает артефакты и является более интуитивной начальной настройкой.
  • Новое: зажмите качество косвенного освещения до 1 в сборках предварительного просмотра, чтобы сохранить предварительные просмотры полезными даже при высоком качестве косвенного освещения до 10.
  • Новое: окружающая окклюзия поля расстояния и тени поля расстояния трассировки Луча теперь включены в настройках высокой и эпической масштабируемости по умолчанию.
  • Новое: теперь можно редактировать флаги шоу актера плоского отражения.
  • Новое: статические формы источников света больше не будут рисовать черный цвет в отражающих захватах. Теперь они просто исчезнут.
  • Новое: статические огни с минимальной шероховатостью = 1,0 не получают своих исходных форм, нарисованных в отражающих захватах, так как они используются в качестве виртуальных огней области.
  • Исправление: Исправлена ошибка, из-за которой световые карты не применялись из-за того, как вычислялись преобразования компонентов.
  • Исправление: Исправлена проблема с двойным освещением прозрачных моделей пальто, ткани и затенения глаз.
  • Исправление: Исправлена ошибка, из-за которой поле глобального расстояния не загрязняло предыдущую позицию объекта при обновлении преобразования. Это оставило после себя призрачную тень на телепортах.
  • Исправление: Исправлена проблема с экземплярами статических сеток, которые не были построены после сборки освещения, Если вы когда-либо отменяли предыдущую сборку освещения.
  • Исправление: Исправлена проблема с артефактами предварительной тени с несколькими сценами, такими как персонаж, получающий стационарные светлые тени из статической среды.
  • Исправление: Исправлена проблема с тенями поля расстояния трассировки лучей на PS4.
  • Исправление: исправлена буква «Р».Флаг AllowStaticLighting” в инспекторе пикселей.
  • Исправление: Исправлена ошибка, из-за которой отражения пространства экрана исчезали, когда направление камеры было почти перпендикулярно нормали пикселя.
  • Исправление: устранены взаимодействия HLOD с самозатенением в Lightmass.
  • Исправление: захват сцен и плоские отражения заставляют использовать альфа-канал цвета сцены при их захвате. Это фиксирует плоские отражения с помощью “r. SceneColorFormat=3″, что происходит из-за масштабируемости.
  • Каналы освещения теперь можно редактировать на компонентах со статической подвижностью, так как динамическое освещение все еще может влиять на них.
  • Тени области Lightmass только отмечают тексели как нанесенные на карту внутри влияния света, который фиксирует несколько неподвижных огней с флагом
    ” Используйте тени зоны для неподвижного света » мешая.
  • Теперь зажмите легкую минимальную шероховатость до 0,04, чтобы избежать NaNs от Vis_SmithJointApprox на материалах с шероховатостью 0
  • Укороченные имена файлов экспорта lightmass для предотвращения проблем с длиной пути.
Материалы
  • Новое: добавлен узел графа материала» предварительно очищенная локальная позиция». Доступно только в вершинном шейдере, но может быть передано через пользовательские УФ-интерполяторы.
  • Новое: добавлены новые функции материала в движок\контент:
    • Внутренние кубические карты: сопоставляет указанные кубические карты с виртуальным ящиком. Полезно для отображения внутренних частей зданий без использования полигонов.
    • Ray March Heightmap: выполняет марш лучей через heightmap, как если бы это был объем. Обеспечивает более объемное освещение для высотных карт и флипбуков.
    • Функция High Pass: выполняет операцию high pass для указанной функции. Требуется подключить несколько смещенных выборок функции.
    • High Pass Texture: выполняет высокочастотную операцию над объектом текстуры.
    • Функция Unsharp Mask: выполняет операцию unsharp mask для указанной функции. Требуется подключить несколько смещенных выборок функции.
    • Unsharp Mask Texture: выполняет операцию unsharp mask для объекта текстуры.
    • Box Intersection: возвращает позиции входа и выхода луча и расстояние, пройденное внутри коробки.Коробка выровнена по оси. Для поддержки произвольных вращений преобразуйте видовой Луч в локальное пространство новых координат.
    • Пересечение цилиндра: возвращает позиции входа и выхода луча и расстояние, пройденное внутри цилиндра.
    • Квадратичная формула: простая вспомогательная функция, предоставляющая булавки для решения квадратичной формулы, обеспечивающей T0 и T1.
    • Гладкий Ceil: как обычный ceil, но с переменным мягким пандусом перед каждым целочисленным отсечением.
    • Выровненный по оси Френель: выполняет Френель, ограниченный одной осью. Это полезно, чтобы ограничить свет обода только краями объекта, даже при взгляде под углом.
  • Новое: все функции шумового материала, кроме «быстрого градиентного шума», теперь работают на мобильных устройствах.
  • Новое: функции шумового материала были сделаны немного быстрее (до 1.7 x), изменив используемые генераторы случайных чисел GPU.
  • Новое: поддержка Стереопланарного отражения.
  • Исправление: исправлен случай, когда материальные функции неправильно помечались бы как выражение повторного входа.
  • Исправление: исправлен случай, когда узлы материала, содержащие точечное произведение или расчет длины, могли оптимизировать и игнорировать фактические размеры вектора.
  • Исправление: исправлен ряд проблем с моделью затенения подповерхностного профиля.
    • Эмиссионное освещение применялось дважды при рендеринге шахматной кожи.
    • Эмиссионное освещение модулировалось базовым цветом в рекомбинации при рендеринге шахматной кожи.
    • Металлические материалы вносили свой вклад в зеркальное освещение диффузного канала при рендеринге шахматной кожи.
    • Оптимизация: вернитесь к освещению по умолчанию для пикселей, где непрозрачность равна 0.
  • Исправление: Исправлена ошибка бесконечного цикла при соединении нескольких функций атрибутов материала вместе.
  • Исправление: исправлена потоковая передача текстур для инстанцированных компонентов, таких как листва.
  • Исправление: исправлена мировая позиция в пониженной дискретизации отдельной полупрозрачности.
  • Исправление: исправлены случаи, когда цепные вызовы одной и той же функции перезаписывают входные соединения при предыдущих вызовах в цепочке, связывая входы функций в график вызывающего абонента перед повторным вводом после компиляции входных данных.
  • Обновлен узел позиции актера, чтобы теперь он был установлен в положение актера, к которому вы привязаны, а не вашего собственного актера.
Постобработка
  • Новое: добавлена поддержка Альфа-вывода для постпроцессных материалов (необязательно как свойство материала).
  • Метод сглаживания был удален из настроек Тома после обработки и теперь может быть установлен только из настроек проекта в разделе рендеринг.
Оптимизация
  • Новое: добавлена четкая оптимизация теневого трафарета-позволяет избежать очистки трафарета для каждой проецируемой тени путем обнуления буфера трафарета во время тестирования.
    • Это может дать значительный прирост производительности в случаях с большим количеством теней для каждого объекта (например, много символов с одним неподвижным светом).
    • Примечание: запись в трафарет во время тестирования сводит на нет использование высокого трафарета на многих графических процессорах, но это изменение все еще является явным выигрышем во всех случаях, которые мы тестировали.
  • Обновленные материальные ресурсы не будут создаваться, если мы находимся в сборке, которая никогда не сможет визуализироваться — это экономит несколько МБ памяти.
Мобильный Рендеринг
  • Новое: улучшенные возможности мобильной масштабируемости. Каждый уровень качества мобильного материала теперь может указывать качество теневой фильтрации CSM, а расчет тумана теперь можно включать и отключать как для мобильных игр HDR, так и для игр без HDR.
  • Новое: добавлено предупреждение на экране для недопустимых отражений захватов. Это можно увидеть только в игре, работающей с мобильным рендерером.
  • Новое: добавлена опция в настройках мобильного уровня качества для контроля качества фильтрации, применяемой при рендеринге с помощью CSM-шейдеров.
  • Новое: профили устройств Android теперь могут отключить поддержку Vulkan и вернуться к OpenGLES.
    • Используйте консольную команду r. Android.DisableVulkanSupport для отключения поддержки Vulkan.
  • Новое: мобильный vertex fog теперь является вариантом проекта.
    • Теперь он может быть включен или отключен независимо от настроек мобильного HDR-проекта.
  • Новое: добавлена базовая мобильная поддержка для настройки проекта global clip plane.
    • Это устраняет проблемы рендеринга с плоскими отражениями на мобильных устройствах.
  • Новое: добавлены более строгие проверки совместимости Android ES3.1.
    • Устройства Android ES3.1 также должны поддерживать цели рендеринга с плавающей запятой и блоки ввода-вывода шейдеров.
    • Улучшено ведение журнала при сбое поддержки ES3.1.
  • Исправление: Исправлена ошибка при запуске при использовании Vulkan на устройствах Android с графическими процессорами на базе Mali.
  • Исправление: исправлено свойство средней яркости, применяемое к отражениям в гамма-пространстве в проходе мобильной базы. Это привело бы к тому, что отражения ES2 были бы слишком яркими.
  • Исправление: исправлен случай, когда небесный свет мог быть отображен в зеленом цвете на некоторых устройствах Android.
  • Исправление: Исправлена ошибка, из-за которой редактор ES2 Feature Level Preview и Mobile Preview PIE modes неправильно ограничивали материалы только 8 текстурами, доступными на ES2.
  • Исправление: Исправлены проблемы с модулированными тенями и надписями на некоторых устройствах Android на базе PowerVR54x (например, Galaxy S4).
  • Исправление: Исправлены проблемы с прозрачными материалами для чтения глубины чтения недопустимых глубин на некоторых устройствах android.
  • Исправление: исправлены плоские отражения при запуске Vulkan на устройствах Android с графическими процессорами на базе Adreno.
  • Исправление: исправлены возможные проблемы с рендерингом при скининге gpu на платформах OpenGL ES 3.1.
  • Исправление: исправлено использование Android одноканальной текстуры для теневых карт вместо 4-канальной.
  • Исправление: исправлены черные HDR-сжатые текстуры на устройствах с графическими процессорами Mali.
  • Исправление: исправлены черные артефакты рендеринга на планшетном устройстве Nvidia Shield, когда проект строится с отложенной поддержкой рендеринга OpenGL ES.
  • Исправление: исправлены устройства ES3+ для правильного обнаружения поддержки форматов вершин HALF_FLOAT и UNSIGNED_INT_2_10_10_10_REV.
  • Исправление: исправлен текст справки для консольной переменной SortBasePass, чтобы теперь правильно описывать каждый параметр.
  • Исправление: исправлено устройство iPad Mini 4, которое теперь правильно отображает эффект преломления.
  • Исправление: исправлены сбои вырезания частиц на некоторых устройствах (Samsung Galaxy Note 2).
  • Исправление: исправлены ошибки компиляции шейдеров на устройствах NVIDIA Shield, когда проект использует динамические точечные светильники.
  • Обновленные плоские отражения на мобильных устройствах больше не заставляют частицы GPU обновляться дважды за кадр.
  • Обновленные снимки сцен теперь правильно декодируют цвет сцены на устройствах, которые не поддерживают цели с плавающей запятой (например, предварительно обновленный Galaxy S6).
  • Ранее мобильная настройка HDR подразумевала вершинный туман. Если ваш проект не использует мобильный HDR, вы можете отключить Vertex Fog в настройках проекта.

ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС

  • Новое: добавлен делегат для клиента видового экрана игры, который уведомляет о закрытии окна конкретной платформы игры и может использоваться для предотвращения выхода из игры (и закрытия окна).
  • Новое: текстуры, материалы и спрайты Paper2D теперь можно добавлять в чертежи виджетов непосредственно из браузера контента.
  • Новое: обновлен компонент рендеринга текста для поддержки нескольких страниц шрифтов.
  • Обновленные виджеты Circular Throbber больше не поддерживают значения периода меньше нуля, и они больше не будут выдавать ошибку при установке на ноль.
  • Обновлен видовой экран, чтобы больше не терять фокус мыши, если видимый курсор щелкает внутри него, когда курсор должен быть виден.
  • Обновлено перетаскивание операций, которые будут завершены или отменены только пальцем, запустившим операцию, при использовании сенсорного ввода.
Шифер
  • Новое: добавлена поддержка рендеринга подчеркнутого текста.
    • Стиль текстового блока теперь может указывать кисть, используемую для рисования подчеркивания текста (подходящим значением по умолчанию будет «DefaultTextUnderline» из класса Core Style).
    • Когда здесь указана кисть, мы вводим блики в макет текста, чтобы нарисовать подчеркивание под соответствующими фрагментами текста, используя правильный цвет, положение и толщину.
  • Новое: добавлен виджет области заголовка окна (и оболочка UMG для него), который можно использовать для указания того, какие области пользовательского интерфейса должны позволять пользователю перетаскивать окно на настольные платформы.
  • Новое: теперь вы можете использовать папку Content/SlateDebug для хранения любых ресурсов Slate, которые не должны использоваться в сборке доставки.
    • LastResort. ttf был перемещен в эту папку.
  • Исправление: исправлено дрожание, которое могло возникнуть при использовании фиксированной ширины обертывания с редактируемым текстом.
  • Исправление: Исправлена проблема, препятствующая Редактируемому тексту и Многострочному Редактируемому тексту устанавливать правильный цвет переднего плана при рисовании.
  • Исправление: Исправлены проблемы волатильности и недействительности текстовых виджетов.
  • Исправление: исправлены зависания редактора и утечки памяти при включении slate remote.
  • Исправление: исправлена функция прокрутки Правой Кнопкой Мыши/сенсорным захватом.
  • Исправление: исправлена компиляция движка с определенными LOG_SLATE_EVENTS.
  • Обновленные состояния смешивания материалов соответствуют тому, что ожидается от рендеринга Slate, который сильно отличается от рендерера сцен тем, как он обрабатывает Альфа-код.
    • Это исправляет полупрозрачный рендеринг с помощью виджета фиксатора, пользователям нужно будет установить свои материалы на Альфа-композит, хотя для того, чтобы он вел себя так, как ожидалось.
  • Обновлен якорь меню и поле прокрутки, чтобы теперь работать с панелями недействительности.
УМГ
  • Новое: добавлена поддержка контроллера в виджет поля со списком.
  • Новое: добавлена поддержка контурных шрифтов.
  • Новое: Обновлено копирование, вырезание и вставка анимационных треков, которые теперь полностью поддерживаются в UMG, хотя и не полностью поддерживаются для секвенсора в целом (за пределами UMG).
  • Новое: обновлен виджет безопасной зоны как в Slate, так и в UMG, чтобы иметь возможность контролировать, какие стороны учитываются.
    • Это может позволить вложенность этих виджетов для решения ситуаций, когда вы хотите, чтобы части ваших макетов расширялись до края видового экрана.
  • Новое: обновлен выбор анимационных треков в UMG, чтобы теперь автоматически обновлять выбранные виджеты.
  • Новое: добавлена возможность исключить все виджеты UMG и слоты из сборок выделенного сервера.
    • Установите bLoadWidgetsOnDedicatedServer=false для этого поведения.
  • Новое: открыт канал трассировки для компонента взаимодействия виджета.
    • По умолчанию-видимость.
  • Новое: убрал компонент виджета и компоненты взаимодействия виджета из эксперимента.
    • Удалена старая поддержка импорта для обновления старых версий компонентов виджетов.
    • Удалено искажение параболы, так как теперь пользователи могут делать все, что хотят, в своей пользовательской середине, с которой они могут переопределить виджет.
  • Новое: обновлен конструктор, так что вы можете отключить и включить пунктирные линии вокруг контейнеров, используя » G » для переключения режима игры. Этот параметр в настройках теперь используется по умолчанию при запуске конструктора.
  • Новое: обновлена функция UMG «заменить на», чтобы теперь поддерживать » заменить на *выбранный виджет*».
  • Новое: обновлены настройки проекта UMG, чтобы теперь показывать / скрывать различные классы виджетов и категории в режиме палитры.
    • Установите этот параметр в разделе Настройки проекта — >редактор — >>редактор UMG.
  • Исправление: Исправлена ошибка, из-за которой переименование виджета приводило к тому, что анимационная дорожка содержимого слота была недействительной.
  • Исправление: Исправлена ошибка, из-за которой кнопки внутри списка прокрутки с методом click, установленным для точного щелчка, активировались бы, если бы мышь была отпущена, когда они находятся вне поля зрения.
  • Исправление: Исправлена ошибка, из-за которой удаление виджета из виджета панели не приводило к недействительности макета, что могло случайно оставить его все еще видимым.
  • Исправление: добавлена отсутствующая база включает в себя и переадресацию объявлений для индикатора выполнения и текстового блока.
  • Исправление: исправлены 3D-виджеты, отбираемые при использовании материалов, которые отключают глубинное тестирование.
  • Обновленные виджеты поля со списком (строка) теперь правильно очищают текущий выбранный параметр, если этот параметр удален из измененного обратного вызова выбора.
  • Запретил анимацию виджета называться так же, как одна из функций переопределения в пользовательском виджете.
  • Обновлено предупреждение экспериментального класса, чтобы теперь иметь более подробное описание.
  • Обновленные свернутые окна больше не ведут себя так, как будто они видны при определении того, какие виджеты расположены под курсором мыши.
  • Обновлена панель сетки, чтобы теперь правильно устанавливать отступы на слотах, как это и задумано.
  • Обновлена коробка обертывания, так что вторая строка теперь правильно получает «внутреннюю» вертикальную прокладку.
  • Документировал мета-параметры, разрешенные для виджетов, как мы это делаем для обычных UObjects.
    • Для привязки виджетов из чертежей теперь можно сделать BindWidget (без изменений), а для упрощения привязки виджетов дополнительно можно просто использовать BindWidgetOptional, а не комбинацию BindWidget и установки OptionalWidget в true.
  • Улучшена настройка фокуса для пользователей на виджетах.
    • Если мы не можем установить фокус сразу, возможно, потому, что пользователь устанавливает фокус в обратном вызове конструкции до того, как виджет находится в дереве, мы теперь обновляем операции Slate FReply на локальном проигрывателе, чтобы установить фокус в следующем кадре, когда более вероятно, что виджет станет фокусируемым.
  • Обновленные виджеты фиксаторов теперь содержат виртуальное окно непосредственно в иерархии. Теперь это должно позволить надежно фокусировать элементы внутри виджета фиксатора.
  • Обновлена кнопка и виджет, чтобы больше не умножать цвет и непрозрачность в два раза.

VR

  • Новое: добавлена поддержка получения имени устройства HMD (например, «OculusRift», «SteamVR», «PSVR» и т. д.) Через Blueprints и C++.
  • Новое: Добавлена настройка проекта «запуск в виртуальной реальности», которая позволяет проектам указывать, что они хотели бы автоматически попытаться запустить в режиме виртуальной реальности, независимо от того, передается ли-vr в командной строке.
  • Новое: добавлена возможность повторного входа в VR preview в Редакторе после выхода из него с помощью опции quit внутри оверлея SteamVR. Раньше приходилось выходить и перезапускать редактор, чтобы снова включить VR.
    • Теперь можно надежно выйти из игры с помощью кнопки выхода Steam VR overlay, даже при предварительном просмотре в Редакторе.
  • Новое: добавлена возможность выбрать, какой модуль HMD использовать при запуске, передав «hmd=- в командной строке.
    • Это полезно, если к вашей машине подключено несколько типов устройств. Если ни одно устройство не соответствует переданному имени, в журнал будет выведено предупреждение, и VR будет отключен.
  • Новое: добавлена поддержка Oculus Rift для консольной переменной» r.ScreenPercentage», если она установлена вручную.
    • Устаревшая консольная команда » HMD SCREENPERCENTAGE «все еще будет работать, но назначение» r.ScreenPercentage » теперь является предпочтительным способом.
  • Новое: обновлена текстура PSVR 2DVR, чтобы теперь она была UTexture, поэтому она может быть RenderTarget и т. д. Также улучшена отчетность об ошибках для этой и некоторых других функций PSVR.
  • Новое: добавлены три опции в диалоговое окно PSVR HMD Setup Cancel reactions.
    • Запретить отмену-снова откройте диалоговое окно настройки HMD. Подходит для названий, которые поддерживают только VR-выход.
    • Переключиться в 2D-переключиться в режим 2D-вывода и отправить делегат HMD Connect Cancelled. Подходит для приложений, где поддерживается 2D-воспроизведение.
    • Делегат определен-уволите делегата HMD Connect Cancelled. Проект должен справиться с этим делегатом и принять соответствующие меры, памятуя при этом о требованиях КИП.
    • Обязательно рассмотрите случай, когда HMD отключается при запуске программы.
  • Новое: добавлены делегаты для тех случаев, когда гарнитура PSVR снимается с головы или надевается на голову.
  • Новое: обновлен GOOGLEVR SDK до версии v1. 01,который добавляет надлежащую поддержку заставок.
  • Новое: обновленный плагин OSVR.
    • Исправляет многочисленные сбои и улучшает отслеживание.
  • Новое: добавлена заставка VR для переходов уровней.
  • Новое: обновлены элементы пользовательского интерфейса, которые составляются после перепроектирования для сохранения качества.
  • Исправление: применено исправление для устройств Adreno GearVR, отрисовывающих черный цвет при запуске.
  • Исправление: исправлено добавление контроллера Yaw Input с PSVR. Рыскание сбрасывалось с каждым кадром.
  • Исправление: Исправлена ошибка, из-за которой в некоторых случаях окно главного редактора не восстанавливалось после выхода из VR preview.
  • Исправление: Исправлена ошибка при выходе из пирога, когда был сделан панорамный снимок экрана.
  • Исправление: исправлено движение крепления контроллера движения при приостановке игры.
  • Исправление: исправлено время предсказания повторной проекции PSVR. Движение HMD теперь проходит от края визуализируемой области менее легко.
  • Исправление: исправлено сохранение настройки Oculus Rift INI «bPixelDensityAdaptive». Ранее он был сохранен как значение с плавающей запятой, а не логическое значение.
  • Исправление: исправлены некоторые предупреждения статического анализа в коде плагина Oculus Rift.
  • Исправление: исправлен «Get bounds node» для SteamVR, чтобы возвращать правильные границы, если они изменились с момента инициализации. Это может произойти, если HMD находится вне зоны слежения во время запуска.
  • Работал над ошибкой в SteamVR, которая привела к тому, что VR не смог инициализироваться, если SteamVR не работает при запуске приложения.
  • Добавлена информация о позиционном отслеживании на PSVR, даже если устройство не отслеживается оптически. Это позволяет учитывать правильный IPD при рендеринге.
  • Добавлена поддержка левой кнопки Меню на контроллерах Oculus Touch.
  • Отрегулированные маски скрытой / видимой области устраняют черные полумесяцы на верхнем и нижнем краях PSVR HMD.
  • Обновлено изменение масштаба мира на метры во время работы в режиме предварительного просмотра VR в Редакторе на Oculus Rift, так что теперь он правильно применяет изменения к контроллерам Oculus Touch.
  • Обновленный VR play-in-editor всегда использует опцию «Game has mouse focus», чтобы гарантировать, что контроллеры движения правильно направляют входные данные в игру.
  • Добавлена настройка проекта PSVR Morpheus для установки режима обертывания репроекции в зеркальное отражение или зажима в границу. Это определяет, как заполняются пиксели артефакта левого и правого перепроектирования.
    • Зеркало, по умолчанию, заполняет их некоторыми соседними пикселями.
    • ClampToBorder заполняет их цветом границы (обычно черным).
    • Большинство контента лучше всего работает с зеркалом.
  • Обновлено PSVR, чтобы теперь игнорировать частичные данные отслеживания HMD до того, как HMD был отслежен в игровой сессии, потому что перепроекция на основе ориентации не работает до тех пор, пока это не произойдет. Существует настройка проекта, чтобы отключить это, если поведение PS4 изменится в будущем.

Прочее

  • Новое: добавлена возможность изменять профили устройств во время выполнения.
    • Используйте «DP. override Если вы сделаете это снова с другим устройством, оно сбросит настройки до того, какими они были изначально, прежде чем применить второй новый профиль устройства. Это связано с тем, что второй профиль устройства может не устанавливать все настройки, которые сделал первый, но мы хотим отменить первые настройки, которые не содержит второй.
    • Изменена функция «установить уровни качества», в Scalability.cpp, чтобы больше не изменять приоритет “SetBy” при настройке консольных переменных. Это теперь сохраняет «SetBy» таким же, как и раньше, что помогает при конфликтах между настройками игры и профилями устройств. См. функцию «установить с текущим приоритетом».
  • Новое: добавлена возможность переключения полного экрана с помощью клавиши F11 в дополнение к Alt + Enter в играх.
  • Новое: добавлена функция Parse в JsonObject.cs, чтобы иметь возможность анализировать строку, а не только файлы.
  • New:env Query Instance Blueprint Wrapper теперь доступен для Blueprintable.
    • Это позволяет создавать схемы элементов, которые обеспечивают более сложное поведение «оболочки “при использовании узла схемы элементов” выполнить запрос эквалайзера» (в Enquerymanager).
    • Сделал “EEnvQueryStatus » типом Blueprint, что значительно облегчает работу с ним в Blueprints.
  • Новое: для медиаактивов добавлены методы” Can Play Source” и «Can Play Url» для медиаплеера.
  • Новое: для медиаактивов добавлен более подробный вывод журнала, например, для отброшенных видеокадров.
  • Новое: для медиаактивов добавлен метод «открыть файл» в медиаплеер.
  • Новое: для медиаактивов реализована платформа Media Source.
  • Новое: для медиаактивов реализованные на платформе медиаплееры переопределяются в производных классах медиаактивов.
  • Новое: для редактора медиаплеера добавлен режим просмотра «исходный размер».
  • Новое: для редактора медиаплеера добавлена вкладка статистика для отображения статистики производительности декодера во время воспроизведения.
  • Новое: для редактора медиаплеера добавлена поддержка перетаскивания медиафайлов в Редактор медиаплеера.
  • Новое: для редактора медиаплеера реализованный платформенный плеер переопределяет настройку деталей для медиаактивов.
  • Новое: для редактора медиаплеера обрезка начальных и конечных пробелов в текстовом поле URL-адреса.
  • Новое: теперь поддерживаются специфические для проекта версии плагинов с одинаковыми именами движков.
    • Несколько плагинов с одним и тем же именем запрещены в другое время.
  • Новое: для PS4 Media улучшен распределитель памяти, чтобы избежать проблем с «нехваткой памяти» при воспроизведении нескольких видео.
  • Новое: для Wmf-носителей добавлено QuickTime к известным подтипам видео.
  • Новое: для Wmf-носителей, рефакторированная обработка топологии воспроизведения для поддержки нескольких дорожек и переключения дорожек.
  • Новое: для Avf Media добавлены отсутствующие поддерживаемые расширения медиафайлов для медиаплеера macOS/iOS.
  • Исправление: Исправлен сбой при загрузке нереальной статистики в интерфейсе сеанса.
  • Исправление: Исправлена ошибка, при которой иногда клиент Crash Reporter выходил из строя, если он не получал пинг-ответов от сервера Epic crash.
  • Исправление: Исправлен сбой при воспроизведении мультимедиа, для которого требуется другой шейдер преобразования.
  • Исправление: Исправлена проблема с центрированием окна при переходе из полноэкранного режима в оконный.
  • Исправление: Исправлена проблема с медиа-активами, когда существующий родной плеер не используется повторно при открытии нового источника мультимедиа.
  • Исправление: для медиаактивов улучшен внешний вид путей к источнику файлов мультимедиа.
  • Исправление: для редактора медиаплеера исправлено, что выбор медиаплеера игнорируется, если media указывает переопределения проигрывателя.
  • Исправление: для редактора медиаплеера исправлено, что поле URL-адреса иногда неправильно отображало ошибку загрузки мультимедиа, даже если оно загружалось правильно.
  • Исправление: для PS4 Media Исправлена ошибка с процессором / графическим процессором из-за состояния гонки в деструкторе.
  • Исправление: для носителей Wmf Исправлена проблема, при которой типы FourCC печатались в обратном порядке.
  • Исправление: для носителей Wmf Исправлена проблема с печатью GuidToString неправильной последовательности байтов.
  • Исправление: для Wmf-носителей исправлена утечка памяти при воспроизведении видео.
  • Исправление: для Wmf-носителей Исправлена проблема, когда закодированные видео WMV2 были слишком яркими.
  • Исправление: удалены треки неподвижных изображений и стоки.
  • Удалено использование API отчетов об ошибках Windows из обработки сбоев двигателя. Исправлены случаи, когда настройки WER в Windows могли блокировать систему отчетов о сбоях UE4.
Примечания К Выпуску Программного Обеспечения
ИИ
Навигация
  • Добавлена проверка здравомыслия для доступа к элементам NavDataSet в Unvigationsystem.
  • CrowdAgentMoveDirection будет установлен при переходе по ссылке, если только агент не падает.
  • Made NavigationSystem вызовите TickAsyncBuild на всех экземплярах навигационных данных, пока идет текущая сборка навигации, независимо от того, включено ли автоматическое обновление navmesh.
Анимация
  • Новое: сделал RawAnimationData (и связанные с ней структуры) закрытыми и добавил методы доступа и новые функциональные возможности, позволяющие изменять их более безопасным способом, чем прямой доступ.
Чертежи
  • Новое: добавлено GetConvenientWindowedResolutions в KismetSystemLibrary.
  • Новое: добавлена возможность использовать метаданные «AdvancedDisplay» в узлах MakeStruct.
  • Исправление: Исправлена ошибка в компиляции Blueprint, которая могла привести к сбоям с определенными распределителями памяти.
  • Исправление: Исправлена ошибка, из-за которой компоненты унаследованных чертежей внуков иногда использовали недопустимые компоненты в качестве внешних в готовых сборках.
Ядро
  • Новое: добавлена Uworld:: SetTimeUntilNextGarbageCollection для изменения таймера GC для использования при выполнении автоматизированных измерений захвата производительности.
    • Примечание: вещи, которые заставляют GC, все равно заставят GC после использования этого метода (и они также сбросят таймер).
  • Новое: добавлен метод извлечения кватернионов swing и twist из FQuat.
  • New: добавлена новая функция Invoke, которая позволяет использовать указатели функций-членов и указатели элементов данных в качестве простых проекций в алгоритмах.
  • New: добавлен Super typedef к USTRUCTs, которые указывают другую USTRUCT в качестве своей базы.
  • New: добавлена метафункция TNot, которая инвертирует значение другой булевой метафункции.
  • Новое: добавлен Algo::Sort, который сортирует диапазон, как TArray:: Sort, но не использует указатели автоматического разыменования.
  • Новое: добавлен Algo:: SortBy, который сортирует диапазон через проекцию элементов.
  • Новое: добавлен делегат OOM, чтобы другие системы могли получить обратный вызов после возникновения OOM (после удаления пула резервной памяти, если он существует).
  • New: добавлен дополнительный размер для Mallocleak Stop и сделан размер фильтра по умолчанию 128 КБ как для дампа MallocLeak, так и для Mallocleak Stop, если размер не был указан.
  • Новое: добавлен массив-новая поддержка TUniquePtr и MakeUnique.
  • Новое: добавлена функция AsyncThread для указания размера стека и приоритета
  • Новое: добавлен ENGINE_API в FStripDataFlags, чтобы его можно было использовать вне модуля Engine.
  • New: добавлен дополнительный контекст в FTableRowBase:: OnPostDataImport.
    • Теперь он принимает таблицу данных владельца и имя строки в качестве параметров. Это позволяет ему выполнять более полезные исправления, которые зависят от контекста, в котором он используется.
  • Новое: добавлены функции Find и Contains в TBitArray.
  • Новое: добавлены функции FUNCTION_NO_NULL_RETURN_BEGIN и _END для статического аннотирования функции, которая никогда не возвращает нулевой указатель.
  • Новое: добавлены универсальные функции GetData (), GetNum () и telementtype, tiscontiguouscontainer.
    • Универсальная функция GetData () допустима только для смежных контейнеров, которые включают массивы C, списки инициализаторов, TArray и TArrayView.
  • Новое: добавлена поддержка вызова TFunction, которая позволяет привязать указатель функции-члена или указатель элемента данных к TFunction.
  • Новое: добавлена поддержка Invoke() для копирования файлов
  • Новое: добавлено MakeShared для обеспечения возможности построения объекта и его эталонного контроллера в одном выделении.
  • New: добавлены новые Algo:: Count и CountIf для подсчета элементов в контейнере, которые соответствуют заданному значению / предикату.
  • Новое: добавлены некоторые дополнительные проверки для улавливания неинициализированных указателей, передаваемых сборщику мусора.
  • Новое: добавлена поддержка пользовательских версий в FArchiveProxy.
  • Новое: добавлены специализации TLess<> и TGreater<><>, которые могут принимать любой тип аргумента.
  • Новое: по умолчанию отключено ведение журнала в память в сборках доставки. Отныне FOutputDeviceMemory будет являться опцией для игр.
  • Новое: улучшена побитовая подкачка для подкачки, так что она производит более оптимальный код в целом.
  • New: теперь новые объекты можно создавать как повторяющиеся переходные процессы или как повторяющиеся переходные процессы в соответствии с флагами свойств, ссылающихся на них.
  • Новое: когда Event Driven Loader включен в приготовленных играх, движок будет использовать асинхронный путь загрузки при загрузке всех активов (даже при использовании функции LoadObject).
  • Новое: добавлено отображение имени поврежденного файла pak в различных сообщениях об ошибках файла pak.
  • Новое: добавлен FArchive:: operator<
    • Изменен сгенерированный код, чтобы никогда не использовать TEnumAsByte для сгенерированного кода для классов перечисления.
  • Новое: добавлена метафункция TIsEnumClass для определения того, является ли тип классом перечисления.
  • Новое: Добавлен TUseBitwiseSwap признак типа для специализации определяемых пользователем типов (как «false»), если он позволяет лучше генерировать код.
  • Исправление: исправлена плохая строка формата в FLinkerLoad:: VerifyImport.
  • Исправление: Исправлена ошибка компиляции при объявлении TFunction, возвращающей ссылочный тип.
  • Исправление: исправлены все предупреждения статического анализа в сборках редактора.
  • Исправление: Исправлена ошибка генерации кода инструмента Unreal Header Tool при определении UFUNCTION с помощью TArray<tscriptinterface>.</tscriptinterface
  • Исправление: исправлено массовое использование указателя исходных данных в качестве архива вместо необработанных данных при сохранении.
  • Исправление: исправлена константа ILandscapeEditorModule::GetHeightmapFormatByExtension() и ILandscapeEditorModule:: GetWeightmapFormatByExtension().
  • Исправление: исправлены вызовы деструктора, не вызываемые в целевом контейнере во время назначения перемещения TSparseArray, TMap и TSet.
  • Исправление: исправлена визуализация отладчика FWeakObjectPtr/TWeakObjectPtr, которая зависела от порядка инициализации C++.
  • Исправление: Исправлена TCString::Strspn.
  • Исправление: исправлен визуализатор отладчика TSparseArray.
  • Изменен FMallocStomp:: GetAllocationSize (), чтобы вернуть запрошенный размер распределения вместо физического размера распределения, чтобы заставить FMallocStomp правильно работать с FMallocPoisonProxy.
  • Изменил checkSlow () на check () при проверке совместимости типов в GetDefaultObject<>, поскольку это потенциально небезопасное статическое приведение.
  • FindObjectWithOuter еще раз позволяет Classstolookfor быть нулевым, поскольку комментарий указывает, что это разрешено.
  • Увеличен начальный размер выделения памяти для FLargeMemoryWriter, чтобы уменьшить количество выделений при сохранении или приготовлении пищи.
  • Понижена детализация нескольких сообщений об ошибках, возникающих при удалении собственных свойств или компонентов.
  • Понижена детализация нескольких предупреждающих сообщений, возникающих при удалении свойств или компонентов из родительских классов. Эти проблемы обычно требовали повторного сохранения дочернего чертежа или уровня.
  • Made FString:: Mid assert when passed a negative count.
  • Сделал Unreal Header Tool способным разбирать финальные классы.
  • Переместил RemoveNamesFromMasterList из деструктора UEnum в BeginDestroy, чтобы избежать потенциальных проблем, когда его пакет уже был уничтожен.
  • Удалены предупреждающие сообщения стека blueprint из сборок доставки, стек отсутствовал, поэтому предупреждения были бессмысленными.
  • Обновленные захваты стека теперь всегда идут по быстрому пути. Это позволяет избежать того, чтобы игра перестала отвечать на запросы Windows при печати или захвате большого количества стеков вызовов, например с помощью команды «mallocleak».
  • Обновил JSON writer, чтобы теперь писать поплавки с подходящим уровнем точности, где раньше он всегда писал много избыточных нулей.
Редактор и инструменты
  • Новое: добавлена маркировка распределения в MemoryProfiler2
    • См. раздел FMallocProfiler::AddTag и FMallocProfiler:: RemoveTag. Теги должны быть в формате «Category:Tag», а часть «Tag» может включать » / » для создания уровней в иерархии тегов (как показано в инструменте).
    • Добавлены теги объекта, пакета и класса по умолчанию (для этого используется FScopeCycleCounterUObject, поэтому система статистики теперь включена при профилировании malloc).
  • Новое: оптимизация и улучшение удобства использования инструмента MemoryProfiler2
    • Оптимизирована обработка представлений Callgraph, гистограммы и кратковременных распределений.
    • Добавлен настраиваемый пользователем список функций распределителя для обрезки (который теперь включает FMemory и operator new по умолчанию и производит гораздо более чистые пакеты вызовов).
  • Исправление: исправлено FDetailCategoryImpl:: ShouldBeExpanded не соблюдая bShouldBeInitiallyCollapsed, когда bRestoreExpansionState было true.
  • PostEditComponentMove теперь будет вызываться правильно при остановке операции перетаскивания компонента сцены актера на уровне.
  • Функция UWorldComposition:: GetTilesList теперь может использоваться в коде игры (ранее только в Редакторе).
  • Исправлены все предупреждения статического анализа в сборках редактора.
Браузер Контента
  • Исправление: Исправлена проблема, при которой повторное сканирование файла пакета может оставить старые активы в реестре активов.
    • Раньше он не очищал ничего, связанного со старым пакетом, перед сканированием файла, что могло привести к тому, что старые активы будут оставлены, если они с тех пор были удалены из пакета.
    • Это также предоставляет функцию PackageDeleted, позволяющую вручную очистить все, что связано с пакетом (если выполняется какая-то пользовательская работа с активами).
Мировой Браузер
  • Функция UWorldComposition:: GetTilesList теперь может использоваться в коде игры (ранее только в Редакторе)
Секвенсор
  • Новое: добавлен интерфейс для расширения утренника до преобразователя последовательности уровней.
Игровой Фреймворк
  • Новое: теперь актеры могут указать с помощью bRunConstructionScriptOnDrag, должен ли PostEditMove запускать сценарий построения при каждом движении или только тогда, когда ход считается законченным.
  • New: добавлен параметр bWasCancelled для GameplayAbility:: EndAbility. Это позволяет нам определить, была ли способность закончена преждевременно. Добавлен делегат OnAbilitySucceeded для определения того, когда способность была успешно завершена.
  • New: добавлен конструктор FName в FCollisionProfileName.
  • Новое: функции FLocalPlayerContext больше не проверяются по умолчанию.
  • Новое: UPrimitiveComponent теперь имеет необязательный список компонентов, с которыми он будет игнорировать столкновение при выполнении зачистки движения.
  • Новое: UWorld теперь имеет элемент, который накапливает расширенное / зажатое игровое время даже при паузе, называемой UnpausedTimeSeconds.
  • Исправление: Исправлена ошибка, из-за которой FGameplayTagContainer::HasTag(Tag, IncludeParent, IncludeParent) пропускал некоторые матчи. Добавлены тесты для поиска других проблем.
  • Исправление: Исправлена ошибка, из-за которой FindTeleportSpot, используемый при создании актеров, иногда не мог найти действительное близлежащее пятно в зависимости от предыдущих результатов столкновения.
  • Исправление: исправлено движение персонажа, зависающего на плохом / проникающем результате проверки пола и не продолжающего проверять действительный пол. Это происходило только в том случае, если bAlwaysCheckFloor был ложным.
    • В редких случаях это может привести к тому, что персонаж будет продолжать пытаться удалить объект далеко от него, пока не произойдет еще одна проверка этажа.
  • Исправление: исправлен текст всплывающей подсказки для команды p.NetEnableListenServerSmoothing (это была копия / вставка из другой команды).
  • Обновлено bRemoteOwned, чтобы больше не устанавливаться в FSpawnActorParameters, так как только порождение реплицированного актора из кода репликации должно было когда-либо устанавливать это значение true.
  • Обновленные компоненты больше не нужно указывать, хотят ли они начать играть или нет.
  • Обновлен GetNextViewablePlayer, чтобы теперь проверить и вернуть правильное состояние игрока.
Локализация
  • Новое: добавлена базовая поддержка локализации плагинов.
  • Обернул UMaterialExpression:: MenuCategories в WITH_EDITORONLY_DATA, чтобы избежать сбора его только для локализации игр.
Сетевой
  • Обновлен UDPPing, чтобы можно было установить размер стека для отдельных потоков, на которых будет выполняться пинг, чтобы компенсировать введенный сторонним пользователем код, превышающий пространство стека, доступное по умолчанию в ограничении 32k.
В сети
  • Новое: добавлена функция AddGenericToInQueueOnlineThread (), полезная для запуска делегата в онлайн-потоке вместо игрового потока.
  • Новое: добавлен класс UChatroom, который выполняет некоторые базовые функции присоединения к чату/создания/выхода из него с помощью интерфейса онлайн-чата.
  • Новое: добавлено поле ExpirationDate в FOnlineStoreOffer. Это значение инициализируется как FDateTime:: MaxValue().
  • Новое: добавлена функция GetSessionIdStr для FOnlineSessionSearchResult и FOnlineSession в качестве удобных функций.
  • Новое: добавлена OSS. VoiceLoopback <0/1> для отладки чата путем включения локальных Говорунов в очередь аудио удаленных Говорунов. Дополнительно добавлена команда exec» ONLINE VOICE DUMP » для распечатки известного состояния голосового интерфейса для устранения неполадок.
  • Удалено ложное сообщение журнала во время голосовой инициализации, так как оно покрыто другими журналами.
  • Добавлены правильные функции GetResolvedConnectString для PS4 / Live.
  • UPartyGameState:: ResetLocalPlayerState() перебирает локальные игроки, а не массив игроков состояния игры для очень редких случаев, когда AGameState равен нулю.
Физика
  • Новое: кинематические актеры теперь исключены из поколения активных преобразований. Это экономит время в fetchResults.
  • Новое: PhysicsConstraintComponent теперь экспортируется и может быть подклассирован вне движка.
  • Новое: теперь развертки могут принимать параметр поворота,который позволит изменить ориентацию фигур, используемых для развертки.
  • Исправление: PhysX больше не возвращает NaN из некоторых тестов на проникновение.
  • Исправление: Исправлен сбой от пользователя, делающего небезопасные вещи во время fetchResults, перемещая делегат OnConstraintBreak так, чтобы он срабатывал вне fetchResults.
  • Реализован оператор копирования и присваивания для структуры convexElem и агрегатной геометрии, чтобы избежать неглубокого копирования необработанных указателей.
  • Переместил обновление физики компонентов скелетной сетки в EndPhysics, чтобы другие компоненты могли безопасно использовать его в PostPhysics.
Платформы
  • Новое: добавлена поддержка библиотек DLL с задержкой загрузки для Xbox One.
  • Новое: libcurl 7_48_0-заголовки и обновления lib
  • Новое: libwebsockets 1.7.4-заголовки и обновления lib
  • Новое: openssl 1_0_2h-заголовки и обновления lib
  • Новое: webRTC REV. 12643-заголовки и обновления lib
  • Новое: zlib 1.2.8-обновления заголовков и lib
  • Исправление: Исправлена ошибка порядка параметров, которая могла привести к неправильным настройкам сжатия.
  • Исправление: Исправлена проблема потоковой передачи с реализацией виртуальной клавиатуры, которая могла привести к использованию защищенных функций Slate из неигрового потока.
  • Исправление: Исправлена проблема, когда статистика использовала неподдерживаемые 64-битные атомики в Windows XP.
  • Исправление: Исправлена ошибка, из-за которой неправильный заголовок xdk.h мог быть включен ShaderCompileWorker, если был установлен пакет SDK Tools с другой версией, чем целевой XDK.
  • Исправление: Исправлена проблема, из-за которой Windows XP не собиралась бы, если бы был установлен SDK для Windows 10.
  • Исправление: Исправлена ошибка, из-за которой Xbox One предупреждал об отсутствии PDB-файлов, которые не должны присутствовать.
  • Исправление: исправлена несовместимость VR-кода, создаваемого для Windows XP.
  • Преобразовал класс PS4MallocCrash в универсальный.
  • Разделите PLATFORM_HAS_BSD_SOCKET_FEATURE_GETADDRINFO от PLATFORM_HAS_BSD_SOCKET_FEATURE_GETHOSTNAME.
iOS
  • Новое: добавлены определения PRAGMA_DISABLE_OPTIMIZATION_ACTUAL и PRAGMA_ENABLE_OPTIMIZATION_ACTUAL.
Mac
  • Новое: изменен код, ответственный за генерацию записей RPATH, чтобы позволить сторонним dylibs на Mac загружаться из вложенных папок плагинов.
  • Новое: реализована функция IsGamepadAttached ().
  • Исправление: исправлена индексация специфичных для iOS и tvOS файлов в проекте Xcode.
  • Изменен конструктор FString (const NSString* In) для использования CFStringGetBytes вместо [NSString cStringUsingEncoding]. Это быстрее и решает проблему с неверным предположением предыдущей реализации о том, что строка UTF32, возвращаемая из cStringUsingEncoding, будет завершаться нулем.
Playstation 4
  • Новое: добавлена поддержка отображения диалогов сообщений с одной и двумя кнопками на Playstation 4.
  • Новое: Рефакторинговая загрузка символов в Unreal Automation Tool (UAT). Новая система поддерживает как Windows, так и Playstation и обрабатывает отправку символов сборки на сервер символов как часть сценария сборки UAT.
  • Новинка: функция «играйте вместе» теперь реализована на PS4! Вы можете переопределить OnPlayTogetherEventReceived на UGameInstance для обработки события. Проверьте ShooterGame для примера реализации.
  • Новое: обновлено до версии PlayStation 4 SDK 4.008.061.
  • Исправление: Исправлена ошибка, возникшая при попытке заставить широковещательную передачу taskgraph работать на ПК.
  • Изменил поведение выхода Playstation 4, чтобы избежать вызова функции abort() при чистом завершении работы.
  • Обновлено GetBackMemoryPoolSize, чтобы теперь правильно возвращать целое число.
  • Переместил регистрацию обратного вызова пользователя crash dump Playstation 4 на гораздо более раннюю точку инициализации движка, чтобы поймать ранние сбои в preinit движка.
Xbox One
  • Новое: добавлена поддержка постановки и загрузки библиотек DLL на Xbox One.
  • Исправление: Исправлена ошибка сбоя при использовании «recompileshaders changed» на Xbox One с сервером cook-on-the-fly.
  • Исправление: Исправлена проблема, которая могла привести к перезаписи памяти при использовании вычислительных ограждений.
  • Исправление: исправлено предупреждение о компиляции при сборке текущего XDK с использованием RTM-версии Visual Studio 2015.
    • Примечание: только Visual Studio Update 3 официально поддерживается в этом выпуске.
  • Исправление: исправлен неправильный заголовок DirectX, включенный для целевой платформы Xbox One.
HTML5
  • Исправление: Исправлена ошибка в WebSocketNetDriver. Отсутствовал фрагмент кода, который вызывает модификаторы пакетов PacketHandler.”
  • Обновлен HTML5 плагин OnRawReceive overflow для проверки минимального ожидаемого размера при получении данных из сети.
Windows
  • Исправление: Исправлена ошибка сбоя при выборе адаптера в D3D11 RHI.
Программирование
  • Новое: обновил библиотеки API Perforce C++ до версии 2015.2.
    • Эта версия добавляет официальную поддержку Visual Studio 2015 от Perforce.
    • Это также устраняет проблему, когда отладочная версия библиотек API Perforce C++ не была построена с правильными настройками отладки.
  • Новое: добавлен список зависимых модулей для предупреждения о коде, который не проходит проверку нашего лицензионного соглашения.
  • Исправление: исправлена опечатка в определении, которая могла привести к сбою Visual Studio 2015.
  • Исправление: исправлен чистый процесс во время горячей перезагрузки.
  • Исправление: Исправлена ошибка, из-за которой специфические для проекта модули могли считаться устаревшими при построении нескольких целевых объектов через Visual Studio одновременно. Уникальные строки идентификатора сборки в файлах. modules теперь совместно используются до тех пор, пока существующий файл не будет изменен.
  • Исправление ошибок: реализованы различные исправления для построения с -nosharedPCH.
  • Исправление ошибок: реализованы различные исправления, позволяющие компилировать редактор в монолитном режиме.
Визуализация
  • Новое: добавлены делегаты, вызываемые после разрешения цвета сцены (например, для выполнения пользовательской постобработки).
  • Новое: добавлена прямая поддержка создания и привязки объектов состояния конвейера на уровне RHI. Это первый шаг на пути к переходу обработки PSO к высокоуровневому коду рендеринга, чтобы иметь единое решение для DX12, Vulkan и Metal.
  • Новое: обновленные функции DrawDebug теперь компилируются в сборках доставки и тестирования.
    • Если вы хотите генерировать ошибки компиляции при попытке вызвать их вообще, вы можете определить SHIPPING_DRAW_DEBUG_ERROR=1
  • Новое: выставил идентификатор ревизии GPU как GRHIDeviceRevision и добавил его в аналитику диаграммы FPS (собранную только на D3D11 и D3D12).
  • Новое: добавлена первая реализация новых функций RHI для объектов состояния конвейера на DX12.
  • Новое: переработан компилятор шейдеров GL, чтобы позволить платформам вариантов GLSL изменять поведение без большого количества проверок #if везде в коде GL.
    • Добавлена возможность в кросс-компиляторе преобразовывать глобальные однородные массивы в именованные однородные буферные объекты.
    • Добавлена возможность для компилятора шейдеров GL возвращать исходные имена ресурсов («VertColor «вместо» u_v[3] » или что-то еще) в метаданные параметров шейдера компилятора шейдеров. Это не изменяет сгенерированный код GLSL.
  • Исправление: Исправлены проблемы с асинхронными вычислительными параметрами на PS4 путем добавления специализации SetShaderValue () для bools в командных списках AsyncCompute.
  • Исправление: Исправлена ошибка D3D с несовпадающими регистрами вершинных / пиксельных шейдеров для ввода SV_POSITION.
  • Исправление: Исправлена ошибка обеспечения при инициализации точечных светотеневых карт и упрощена логика для параметров целевого разрешения рендеринга cubemap.
  • Исправление: исправлено условие гонки, при котором отладочный код чертежа пытался считывать данные из SceneProxy из Gamethread.
  • Предоставил полные классы USceneCaptureComponent плагинам вместо методов select.
Материалы
  • Новое: Рефакторированные свойства материала во время трансляции графика.
    • Фиксированные свойства материала постепенно отменяются в пользу более инкапсулированных и расширяемых списков атрибутов.
    • Это первое в серии изменений, направленных на управление атрибутами каждого проекта и повышение удобства использования на высоком уровне.
ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС
Шифер
  • Исправление: Исправлен SWrapBox InnerSlotPadding.Y не применяется между первой и второй строками.
VR
  • Новое: GetNumOfTrackingSensors и GetTrackingSensorProperties теперь поддерживаются SteamVR, а также Oculus Rift.
  • Исправление: исправлено сохранение нескольких флагов конфигурации, связанных с VR. Они были сохранены под неправильным именем, что не позволяло им быть прочитанными снова.
  • Исправление: исправлена ориентация камеры слежения, возвращенная из GetTrackingSensorProperties на Oculus Rift, чтобы теперь указывать в правильном направлении. Раньше он был направлен в заднюю часть камеры, а не в ее сторону.
Прочее
  • Новое: добавлена возможность для пользовательских реализаций UGameplayModMagnitudeCalculation указывать, что они имеют внешние зависимости от системы способностей,которые могут сделать недействительными их вычисленные значения. Зависимости задаются делегатом многоадресной рассылки, который, как ожидается, сработает, когда величина должна быть обновлена.
    • Также добавлен расширенный вариант реализации, позволяющий клиентам также инициировать недействительность зависимости и соответствующим образом обновлять себя. Предназначен только для крайних случаев (таких как игры, сильно зависящие от бездействия сети) и только для атрибутов, которые не влияют на игровой процесс (и поэтому безопасны для локального вычисления клиента).
  • New: добавлена новая функция API для DrawDebugSolidBox, которая принимает FBox вместо центра и экстента. Он также позволяет указать преобразование (но по умолчанию для удобства используется преобразование идентификатора).
  • Новое: добавлена возможность отключить загрузку в приемники отчетов о сбоях, пока они продолжают отвечать на пинги от клиентов.
  • Новое: процесс отчета о сбое теперь имеет возможность выводить аварийные файлы на Amazon S3.
  • Новое: процесс отчета о сбое теперь имеет дополнительную, выделенную очередь сбоев PS4.
  • Новое: повышение производительности процесса отчета о сбое.
    • Добавлена опция ForceUsePDBCache для MinidumpDiagnostics для раннего прерывания запусков, которые не имеют допустимой записи кэша PDB. Ранний выход для самых медленных отчетов.
    • Изменил расположение журналов MinidumpDiagnostics, чтобы избежать затрат на скорость ведения журнала в папку с тысячами файлов.
    • Улучшена скорость выключения CRP при обновлении.
  • Новое: улучшение производительности бэкенда Crash Reporter.
    • Процесс отчета о сбое может отбрасывать сбои, когда очереди сбоев становятся слишком длинными.
    • Процесс отчета о сбое может запускать несколько экземпляров MinidumpDiagnostics для ускорения генерации стека вызовов.
    • MinidumpDiagnostics может установить общесистемную блокировку ресурсов (рабочей области Perforce и кэша PDB), чтобы включить несколько экземпляров без увеличения требований к хранилищу.
  • Новое: crashreportprocess logging и Slack reporting улучшены для мониторинга дискового пространства.
  • New: CrashReportProcess передает новую строку BuildVersion в MinidumpDiagnostics для поиска символов.
  • Новое: введено понятие «оценочных каналов» для не мгновенных игровых эффектов в рамках системы способностей! Оценочные каналы обеспечивают специфичный для игры контроль над порядком, в котором модификаторы оцениваются в вычислениях атрибутов.
    • Игра может указать, сколько каналов она хотела бы использовать, а также то, что они называются, а затем модификаторы могут указать, на каком канале они работают. Каналы оцениваются по порядку, причем числовой выход Первого канала служит входом для второго канала, и так далее.
    • Пример: Представьте себе пример атрибута с базовым значением 100. Теперь примените мультипликативный мод с величиной 1.1 в канале 0 и мультипликативный мод с величиной 1.1 в канале 1. Результат будет оцениваться как ((100 * 1.1) * 1.1) вместо (100 * 1.2).
    • Чтобы использовать каналы в игре, необходимо настроить две настройки в разделе INI для AbilitySystemGlobals. Во-первых, bAllowGameplayModEvaluationChannels должны быть установлены в true, а во-вторых, каналы, которые должны использоваться (и их имена), должны быть указаны в GameplayModEvaluationChannelAliases. Кроме того, игра может дополнительно указать канал по умолчанию для использования через DefaultGameplayModEvaluationChannel.
    • Кроме того, добавлены различные новые функциональные возможности, связанные с каналом, в API классов способностей, такие как возможность основывать величину модификатора на атрибуте, оцениваемом только до определенного канала.
  • Новое: большое обновление процесса отчета о сбое.
    • Удалены устаревшие очереди для устаревших получателей отчетов о сбоях.
    • Удалено отслеживание дублирования, необходимое при использовании приемников отчетов о сбоях, так как это было медленным и не масштабировалось.
  • Исправление: Исправлена проблема заголовка, которая включала 64k тестовых данных в сборку доставки, теперь она удалена соответствующим образом.
  • Исправление: Исправлена ошибка, из-за которой игровые эффекты с не привязанными к привязке модификаторами атрибутов потенциально не могли правильно реплицироваться клиентам, что приводило к неправильным значениям на клиентах.
  • Исправление: Исправлена проблема, при которой MinidumpDiagnostics, используемая на бэкэнде CR, удаляла ненужные строки из стеков вызовов.
Примечания По Обновлению

Изменения API C++

  • New: сделал функции” Remove At” и «Remove At Swap» в TArray триггером ошибки компиляции, когда логический аргумент передается в качестве счетчика.
  • New: переименовал функцию Strfind в TCString в Strifind, так как она нечувствительна к регистру.
    • Добавлена функция Strfind в TCString, которая на самом деле чувствительна к регистру.
  • Новое: распределитель по умолчанию для приготовленных игр Windows теперь BinnedMalloc2, чтобы соответствовать другим платформам. Аргумент «- binnedmalloc » переключится обратно на более старый распределитель.
  • Новое: события активации и деактивации компонентов теперь предоставляют затронутый компонент в качестве аргумента. Любые функции C++, привязанные к событиям активации и деактивации компонентов, должны будут добавить аргумент компонента в сигнатуру.
  • Новое: libwebsockets 1.7.4-заголовки и обновления lib. API libwebsockets изменился.
  • Новое: пропустить содержимое редактора кулинарии теперь по умолчанию имеет значение true в настройках проекта.
    • Если ваш проект использует контент в «Engine\Editor*», возможно, вам придется отключить параметр проекта» пропустить содержимое редактора кулинарии».
  • Новое: рефакторинг структуры матриц представлений.
    • Члены структуры матриц представлений стали частными, теперь есть соответствующие геттеры для значений. Функции с большими затратами были переименованы в Compute* , а функции, мутирующие структуру, были переименованы в Hack*
  • Новое: разделите “Rhi Clear “на” Rhi Clear Depth Stencil Texture “и «Rhi Clear Color Texture».”
    • Любой, кто использует функцию Clear в “списке Rhi Cmd», теперь должен будет использовать соответствующую версию, передавая текущую цель рендеринга.
  • New: переместил функции «Export/Import Text Item “из” Struct Property “в” Export/Import Text “в” Script Struct» и добавил параметр, указывающий, следует ли вызывать собственные обратные вызовы. Это позволяет вызвать стандартный «импорт текста “из собственного” импорт текстового элемента» с последующей последующей обработкой.
  • Новое: переработана функция «Добавить данные элемента» в «env Query Instance», чтобы избавиться от второго параметра шаблона и сделать его более типобезопасным.
  • Новое: добавлены “Get Resource Size Ex » и «Get Resource Size Bytes», а также устаревшие “Get Resource Size».”
    • “Get Resource Size Ex » заполняет структуру, которая сообщает не только о том, сколько памяти выделено, но и о том, с каких арен была выделена память.
    • “Get Resource Size Bytes » просто обертывает вызов “Get Resource Size Ex” и возвращает общий размер со всех арен (это имеет то же поведение, что и теперь устаревший “Get Resource Size”).
    • Классы, которые раньше переопределяли “Get Resource Size“, должны вместо этого переопределять «Get Resource Size Ex» и сообщать о своих распределениях соответствующим образом.
  • New: устарела функция «Get Bone Tree»в классе Skeleton и удалены ссылки в движке.
  • Функция «Clear Pause” в классе» Game Mode » теперь возвращает логическое значение. Любые виртуальные переопределения должны будут иметь измененную сигнатуру и возвращать соответствующий результат.
  • Сделал это ошибкой компиляции для копирования класса «AI Message Observer», так как он не был предназначен для копирования. Вы должны изменить логику вашего кода, чтобы избежать копий этого типа.
  • Удалено свойство Publish Dir из установленного скрипта сборки движка, так как оно больше не используется.
  • Удален устаревший массив slack tracking code.
  • Удалено неиспользуемое объявление функции «to Build Info String».
  • Добавлен спецификатор «final» в класс UWorld. UWorld теперь не наследуется.
  • Удалил некоторые устаревшие код и состояние из класса «Script Struct».
    • Функция «унаследованная Cpp Struct Ops» была удалена. Любые обращения к нему должны быть заменены на «ложь».”
  • Поскольку имена модулей HMD, используемые при сортировке по приоритету, теперь также используются » hmd=»опция командной строки, функция» Get Module Priority Key Name” в классе «Head Mounted Display Module»теперь переименована в» Get Module Key Name».
  • Удалил функции” Unregister Debug Draw Delegate”, “Register Debug Draw Delegate” и “Draw Debug Labels” из класса “Debug Render Scene Proxy «и переместил их в новую структуру под названием «Debug Draw Delegate Helper».”
  • Прямой доступ к свойству Static Mesh в классе компонентов Static Mesh был объявлен устаревшим. Пожалуйста, используйте методы доступа” Get Static Mesh” и «Set Static Mesh».
  • Версия функции Create Component в классе аудиоустройств, которая принимала длинный список аргументов, была устаревшей. Вместо этого используйте версию, которая принимает структуру параметров.
  • Для поддержки асимметричных POV, таких как Vive , число “Get Tracking Sensor Properties” было расширено до четырех вместо двух значений POV. Теперь устаревший “Get Positional Tracking Camera Properties » по-прежнему доступен, но возвращает только горизонтальные и вертикальные POVs и поддерживает только одно устройство слежения.
    • Если вы ранее использовали данные, возвращенные из “Get Tracking Sensor Properties” (или теперь устаревшие “Get Positional Tracking Camera Properties”) на Oculus Rift, вам, возможно, придется отменить любые поправки, которые вы делали на ориентации. Это также сделает ваш код совместимым с другими плагинами HMD, которые поддерживают возврат информации об устройствах отслеживания.
  • Изменения API локализации для экспорта per-identity:
    • Переместил «генератор ресурсов локализации текста» из ядра в интернационализацию.
    • Удалены «сериализатор Манифеста интернационализации IJson» и «сериализатор архива интернационализации IJson».”
    • JsonInternationalizationManifestserializer и FJsonInternationalizationArchiveserializer теперь используют статические функции (из-за того, что больше не наследуют или не требуют полиморфизма).
    • Удалена функция «загрузить из Манифеста и архивов” из “диспетчера локализации текста” (теперь она обрабатывается функцией “генерировать и обновлять живые записи из конфигурации”в «генераторе ресурсов локализации текста»).
    • Удален командлет RepairLocalizationData (он предназначался для фиксации данных, предшествующих выпуску 4.0).
    • Удалил функцию «найти запись по источнику» из «архива интернационализации“, так как она больше не безопасна в использовании (вместо этого используйте функцию” найти запись по ключу»).
  • Рефакторинговые API-интерфейсы одноузлового анимационного плеера.
    • API-интерфейсы проигрывателя анимации небезопасны для использования во время построения сценария, поскольку они не сериализуются, поэтому помечены как небезопасные для построения сценария.
    • Выставленная функция переопределения, которую можно использовать в Редакторе.
  • Заменил некоторые хакерские функции post-reflection-capture на “RHI Submit Commands And Flush GPU».
  • Обновлено до PlayStation 4 4.008.061
  • Сделал так, чтобы “Find Shader Resource By Id” и “Find Shader By Id” возвращали необработанный указатель вместо TRefCountPtr, чтобы предотвратить создание временных TRefCountPtrs. Больше нет необходимости использовать TRefCountPtrs, так как сериализация шейдеров изменилась и шейдеры больше не регистрируются в потоке асинхронной загрузки.

Ядро

  • Любые проекты, использующие-log или-abslog для указания имен файлов журнала, должны убедиться, что они используют только расширения .txt или .log.
  • “Середина » FString больше не принимает отрицательные подсчеты, поскольку результирующее поведение было удивительным. Пожалуйста, замените любое использование желаемым поведением.
  • TArray «RemoveAt “и” RemoveAtSwap “больше не принимают логический аргумент в качестве счетчика, так как, скорее всего, он предназначен для флага”разрешить сжатие».
    • Аргумент должен быть приведен к неболевому типу, если это было сделано намеренно, или код должен быть исправлен, если это не так.
  • “Strfind » TCString теперь чувствителен к регистру. Вместо этого следует использовать “Strifind», чтобы получить нечувствительное к регистру поведение.
  • TEnumAsByte больше не используется для сгенерированного кода, включающего классы перечисления.
    • Если вы получаете ошибки, связанные с TEnumAsByte с вашим классом перечисления UENUM, пожалуйста, предоставьте базу uint8 для вашего типа и удалите использование TEnumAsByte.

Игровой Фреймворк

  • Проверьте базовые примечания к игровому режиму и документацию, чтобы узнать, следует ли вам переключить существующий игровой режим на наследование от нового базового класса минимального игрового режима.
    • Базовый игровой режим “Start New Player » был устаревшим и разделен на “Initialize HUD For Player” и “Handle Starting New Player”, которые могут быть переопределены в чертежах.
    • Несколько функций входа в систему на базе игрового режима, которые принимают TSharedPtr теперь они устарели правильно, они перестали работать в 4.13, но не были устарели
    • GameState “Should Show Gore » и связанные с ним функции утренника были устарели.
  • DumpFPSChartAnalytics был удален.
    • Игры, которые использовали его, должны переключиться на создание собственного экземпляра FPerformanceTrackingChart и вызвать DumpChartToAnalyticsParams непосредственно на нем.
  • HTML-вывод для stopfpschart теперь генерируется в один файл, а не в два дубликата, которые теперь используют как имя карты, так и время захвата в качестве части имени файла.
  • В общем, у игр больше не должно быть причин программно вызывать GEngine->StartFPSChart, вместо этого создавая свой собственный экземпляр (это предотвращает конфликты при использовании консольных команд движка).
  • Ранее Дельта-значение времени тикового интервала тиковой функции было таким же, как если бы функция не имела тикового интервала.
    • Это означает, что тиковые функции, которые полагались на получение только времени кадра, должны были получить Дельта-время от мира, а не использовать значение, переданное в тиковую функцию.
  • Рефакторинг создания диаграммы FPS, чтобы сделать ее модульной, так что многие потребители данных о производительности могут быть активны одновременно, что обеспечивает большую гибкость и развязку игровой аналитики от команд FPS chart exec
    • DumpFPSChartAnalytics был удален, игры, которые использовали его, должны переключиться на создание собственного экземпляра FPerformanceTrackingChart и вызвать DumpChartToAnalyticsParams непосредственно на нем.
    • В общем случае у игр больше не должно быть причин программно вызывать GEngine->StartFPSChart, вместо этого создавая свой собственный экземпляр (это предотвращает конфликты при использовании консольных команд движка).
    • HTML-вывод для stopfpschart теперь генерируется в один файл, а не в два дубликата (используя как имя карты, так и время захвата в качестве части имени файла).
    • Удалены Pausefpschart, IsFPSChartActive и GetFPSChartBoundByFrameCounts, чтобы отразить, что экземпляры GEngine не предназначены для внешнего использования (Start/Stop остаются открытыми для автоматического тестирования, которое хочет использовать их для ведения журнала, но также могут быть перемещены в частные руки в будущем).
  • Удалены Pausefpschart, IsFPSChartActive и GetFPSChartBoundByFrameCounts, чтобы отразить, что экземпляры GEngine не предназначены для внешнего использования (Start/Stop остаются открытыми для автоматического тестирования, которое хочет использовать их для ведения журнала, но также могут быть перемещены в частные руки в будущем).
  • Несколько функций входа в систему на базе игрового режима, которые принимают TSharedPtr теперь они устарели правильно, они перестали работать в 4.13, но не были устарели
  • Конфигурационные данные для выбора режима игры переместились в настройки карт игр, а старые локации устарели. Проверьте BaseEngine.ini для примера.
  • Пожалуйста, замените все виды использования EWorldType:: Preview на “EditorPreview” или “GamePreview » EWorldType.”
  • Если вы хотите проверить поведение FLocalPlayerContext,вам нужно будет изменить свой код, чтобы выбрать его.
  • Флаг компонента Actor для “Wants Begin Play “теперь устарел и не используется, и все компоненты будут иметь вызов” BeginPlay». Просто удалите любой код, который устанавливает “bWantsBeginPlay.”

Платформы

Playstation 4
  • “Системное время » PS4 Time теперь правильно возвращает локальное машинное время вместо UTC.
    • Существующие проекты, использующие «системное время», должны исследовать, влияет ли это изменение на их игровую логику.
    • Чтобы продолжить использовать UTC time, вызовите вместо этого “Utc Time».
  • Для проектов, ориентированных на PlayStation 4, движок теперь требует PlayStation 4 SDK версии 4.008.061.
    • Пожалуйста, убедитесь, что вы обновили установленный SDK до правильной версии, чтобы движок компилировался правильно. Это можно сделать с помощью утилиты SDK manager от Sony.
Windows
  • Мы устанавливаем поддержку для Windows XP, 4.14 будет последней версией, официально поддерживающей работу на Windows XP.

Визуализация

  • Размер пула дефрагментации PS4 теперь управляется новой переменной » r. PS4DefragPoolSize «и больше не привязан к «R.Streaming».Размер бассейна».
    • Он должен быть сконфигурирован в соответствии с потребностями проекта, с точки зрения графических ресурсов.
  • Старайтесь избегать мутирования FViewMatrices и FSceneView самостоятельно. В настоящее время это практикуется в двигателе, но мы хотели бы избавиться от этого.
  • Компонент должен владеть FDebugDrawDelegateHelper (или производным объектом), который копирует все необходимое состояние для рисования во время Draw Debug Labels (которое вызывается из игрового потока) во время Create Scene Proxy.
    • Функция для копирования состояния обычно называется init Delegate Helper. Затем помощник используется для рисования отладочной информации вместо прокси-сервера сцены (который на данный момент принадлежит исключительно RenderThread).
Освещение
  • Из-за ошибки, введенной 2 года назад, все прозрачное пальто и ткань добавляли освещение дважды для всех прямых огней. Теперь это было исправлено, так что соответствующие материалы будут выглядеть вдвое ярче при прямом освещении. Непрямое освещение, такое как световые карты и отражения, остается неизменным. Это затрудняет автоматизацию ремонта материалов. Мы предлагаем изучить все материалы и решить в каждом конкретном случае, требуются ли изменения.
  • Фиксированные отражательные снимки с неправильной яркостью при наличии стационарного светового Люка в крыше.
  • Обратите внимание, что данные Lightmap были перемещены в отдельный пакет с именем *_builddata. Обязательно сохраните их и проверьте в системе управления версиями после выполнения сборки освещения!
Материалы
  • В некоторых случаях при использовании материалов с подповерхностным профилем могут наблюдаться различия в освещении из-за описанных выше исправлений. По большей части эти изменения должны улучшить качество рендеринга, но, возможно, потребуется внести некоторые незначительные коррективы в затронутые материалы.

Скачать курсы Михаил Русаков | Создание игр на Unreal Engine 4

Ознакомиться с курсом можно по ссылке ниже:

https://srs.myrusakov.ru/ue4

Скачать Unreal Engine 4

Прочее

  • Приемники отчетов о сбоях в реальном времени Epic больше не принимают отчеты о сбоях. Новые клиенты отчетов о сбоях (начиная с версии 4.11) загружаются на нашу конечную точку маршрутизатора данных.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии