Temporal upsampling что это
Как победить несбалансированность датасета: метод upsampling data
Данная статья рассчитана для новичков в машинном обучении. Используются следующие инструменты:
Random forest classifier
Каждый дата саентист хоть раз сталкивался с проблемой несбалансированности данных для классификации: какой-то класс превосходит другие. Существует далеко не один способ борьбы с этой проблемой. Наибольшую известность имеет преобразование гиперпараметров, например:
class_weight, но его можно использовать при незначительной несбалансированности: соотношении данных разных классов, например, 4:3 (подробнее можно прочесть тут)
warm_start, который позволяет батчами (частями датасета) обучать данные (подробнее можно прочесть тут)
Однако в данной статье мы рассмотрим метод, не связанный с гиперпараметрами модели: upsampling data. Мы преувеличим количество наименьших классов ещё до обучения модели: продублируем n (отношение количества преобладающего класс к интересующему) раз наименьший класс.
В качестве данных выбраны данные соревнования на kaggle: https://www.kaggle.com/arashnic/banking-loan-prediction. В качестве алгоритма обучения возьмём случайные лес. Начнём!
Импортируем необходимые библиотеки:
Загружаем данные (в качестве среды разработки мной использовался Google Colab, а данные располагались на Google Drive):
Посмотрим на исходные данные train (их мы будем использовать для тренировки и теста, в данных test отсутствует таргетированный столбец)
Gender
Lead_Creation_Date
City_Code
City_Category
Employer_Code
Employer_Category1
Employer_Category2
Monthly_Income
Customer_Existing_Primary_Bank_Code
Бесплатные ФПС: как ИИ помогает сделать игровую графику лучше
В последние годы искусственный интеллект приобретает все большую популярность. Стоит только попросить, и Siri сообщит вам результат футбольного матча, который вы пропустили вчера вечером. Рекомендации в Spotify подскажут, чем пополнить музыкальную библиотеку, а Amazon попытается предсказать, какой продукт вы купите в следующий раз, когда этого еще не знаете даже вы.
Не обошел стороной он и игровую индустрию. Пока в геймерской среде сравнивают графику вышедшей на ПК Death Stranding с технологией DLSS и без нее, на днях стало известно, что в процессорах NVIDIA Ampere будет задействована уже DLSS 3.0. При этом она будет работать с любой игрой с TAA (Temporal Anti-Aliasing) и драйвером Game Ready. Это означает, что разработчикам понадобится подстроить технологию к своим играм — впрочем, этот процесс будет проходить куда легче, чем сейчас.
В этой статье мы рассмотрим, как NVIDIA использует машинное обучение для улучшения нашего игрового опыта.
Что такое DLSS?
Качество графики в современных играх только возрастает, а вместе с ним растет вычислительная сложность производимых операций. Этому мы обязаны трассировке лучей, имитирующей настоящее освещение в реальном времени, тем самым оставляя предварительно запеченные отражения пережитком прошлого. Вычислительная сложность рейтрейсинга связана с тем, что разрешение современных игр превышает старые добрые 1080p. Отсюда необходимость ускорения расчетов во время рендеринга.
Deep Learning Super Sampling (DLSS) — технология NVIDIA, использующая глубокое машинное обучение для повышения частоты кадров в играх, требующих сложных графических вычислений. С DLSS геймеры могут использовать более высокие настройки и разрешение, не беспокоясь при этом за стабильность fps.
В частности, DLSS выполняет задачу суперразрешения. С его помощью изображение с разрешением, скажем, 1080p может быть увеличено до 4K с минимальными потерями в качестве. Это избавляет от необходимости воспроизводить игру в 4K (и тем самым, вероятно, расплавить ваш ПК). Разрешение по-прежнему будет 1080p, что позволяет сохранить более высокую частоту кадров, однако благодаря масштабированию при помощи DLSS разницы с 4K вы практически не заметите.
Архитектура DLSS 2.0
По сути, DLSS — это нейронная сеть, обученная на суперкомпьютерах NVIDIA. Выход этой нейросети сравнивается с эталонным изображением с разрешением 16K, а ошибка между ними возвращается сети по петле обратной связи. Чтобы не возникло проблем со скоростью, DLSS использует тензорные ядра, являющиеся основой процессоров RTX 2000 (и в будущем RTX 3000). Это позволяет значительно ускорить тензорные операции и повысить эффективность обучения ИИ и задач, связанных с высокопроизводительными вычислениями.
Эволюция DLSS: от 1.0 к 2.0
DLSS 1.0 обучался для каждой игры отдельно, а оттого учился чрезвычайно долго. Еще он не поддерживал 4-х кратный апсэмплинг (upsampling), например, из 1080p до 4K, и имел ряд других недостатков в качестве изображения, которые не стоили улучшения частоты кадров.
DLSS 2.0 — более общий алгоритм, лишенный ограничений на обучение и апсэмплинг, а также имеющий меньшую задержку вывода за счет использования тензорных ядер: она составляет порядка 1,5 мс при 4K на RTX 2080ti — и в некоторых случаях обеспечивает результат даже лучше, чем исходное изображение.
Изображения с DLSS имеют конечное разрешение 1080p
В DLSS 1.0 максимально можно увеличить разрешение 720p до 1080p, тогда как DLSS 2.0 может масштабировать до 1080p даже разрешение 540p. Как видно на примере, изображение при 540p выглядит совсем размытым. При этом результат с DLSS 2.0 оказался лучше, чем с DLSS 1.0, и даже немного лучше исходной картинки. То есть, DLSS 2.0 справляется с заполнением пикселей эффективнее, чем DLSS 1.0, даже несмотря на то, что последнему нужно перемасштабировать не такую большую разницу в разрешении.
Умение DLSS 2.0 масштабировать изображение с разрешением 540p в сочетании с малой задержкой, обусловенной самим методом, дает существенное увеличение производительности по сравнению с предшественником.
Время рендеринга с DLSS 2.0 и без него (в мс)
Подробнее о принципе работы DLSS
При рендеринге геометрии сцены в играх (например, в треугольнике) количество используемых пикселей (или sampling rate — субпиксельная маска) определяет, как будет выглядеть изображение.
При использовании сетки сэмплирования 4×4 для рендеринга треугольника мы видим, что результат оставляет желать лучшего.
С увеличением сетки сэмплирования в 4 раза — до 8×8 — изображение оказывается больше похожим на предполагаемый треугольник. В этом и заключается суть DLSS: преобразовать изображение с низким разрешением в более высокое.
Суть DLSS
В результате при той же стоимости рендеринга, что и у низкокачественного изображения, вы получите изображение с более высоким разрешением.
Цель DLSS
Это фактически решает уже не новую проблему супер-разрешения.
Давайте кратко рассмотрим, как развивались методы повышения разрешения с помощью ИИ.
Single Image Super-Resolution
Эта техника позволяет получать изображения с высоким разрешением из более низкого при помощи методов интерполяции, таких как билинейный, бикубический и фильтр Ланцоша. Можно реализовать ее и с помощью глубоких нейронных сетей, но тогда возникает проблема искажения новых пикселей, полученных на основе данных обучения. Это приводит к тому, что изображение будет казаться правдоподобным, но не слишком похожим на исходное. Метод выдает чрезмерно гладкую, не детализированную картинку и нестабилен во времени, что приводит к несогласованности и мерцанию кадров.
Single Image Super-Resolution
Давайте сравним несколько результатов таких техник супер-разрешения на основе одного изображения с тем, что предлагает DLSS 2.0.
Целевое разрешение — 1080p
Очевидно, что результат DLSS 2.0 лучше, чем метод бикубической интерполяции и ESRGAN — архитектуры нейронной сети, использующей метод генеративно-состязательной сети для достижения супер-разрешения. В результате папоротники в случае DLSS 2.0 выглядят даже более детальными, чем на оригинальном изображении.
Multi-frame Super-Resolution
Этот метод использует несколько изображений с низким разрешением для получения изображения с высоким. Он помогает восстановить детали лучше, чем предыдущий подход. В основном он разрабатывался для видео- и серийной фотосъемки, а потому не задействует специфическую для рендеринга информацию. Одним из примеров его использования можно назвать выравнивание кадров при помощи оптического потока вместо геометрических векторов движения. В данном случае вычисления оказываются дешевле, а результаты точнее. Этот подход видится более многообещающим, чем предыдущий, и подводит нас к следующей технике.
Spatial-Temporal Super Sampling
Этот метод использует несколько кадров для супер-сэмплинга изображений.
У нас есть текущий кадр. Предположим, что предыдущий выглядит на него похожим. Используя более низкий sampling rate, мы можем увеличить общее число отсчетов, необходимое для реконструкции изображения.
Гистограмма метода Spatial-Temporal Super Sampling
Проблема в том, что в играх все постоянно находится в движении. Поэтому для исправления истории кадров данный метод суперсэмплинга вынужден производить эвристический поиск, например, по принципу Neighbour Clamping. Эти эвристики вносят свой вклад в размытость, временную нестабильность, муар, лаги и ghosting.
Нежелательные эффекты от Neighbour Clamping
Временное мерцание и муар на изображениях с Neighbour Clamping
DLSS 2.0: Deep Learning-based multi-frame reconstruction
Нейронная сеть DLSS учится на десятках тысяч обучающих изображений, предназначенных для выполнения реконструкции лучшей, чем могут предложить эвристики, тем самым устраняя эффекты от них. Это приводит к гораздо более качественному результату с использованием данных нескольких кадров.
Реализуя DLSS в движке, в первую очередь необходимо провести рендеринг сцены в низком разрешении: всей ее геометрии, динамического освещения, эффектов в экранном пространстве и трассировки лучей. После этого можно применить DLSS на этапе, когда обычно происходит анти-алиасинг — ведь технология выполняет ровно ту же функцию, только еще с супер-сэмплингом. Затем происходит постобработка изображения, включающая размытие в движении, блум, хроматическую абберацию, тональную компрессию и другие эффекты.
DLSS — не просто алгоритм обработки изображения. Обычно он работает в совокупности с рендерингом, поэтому и его процесс тоже необходимо пересмотреть. Впрочем, в случае DLSS 2.0 эти изменения не так сложно реализовать, как случалось до этого.
Тесты производительности
Последний тайтл Remedy Control поддерживает как трассировку лучей, так и и DLSS. Как видно на графике выше, RTX 2060 получил прирост производительности с 8 кадров в секунду до примерно 36,8 кадров в секунду за счет DLSS, что значительно повысило играбельность проекта. Этот результат оказался даже лучше, чем в случае с RTX 2080ti без DLSS, что еще раз доказывает, насколько эффективна эта технология.
Digital Foundry сравнил качество изображения с использованием DLSS 1.9 и 2.0 в этом видео.
Слева — Control с DLSS 1.9, справа — с DLSS 2.0. Изображения получены на RTX 2060 с разрешением 1080p и затем отмасштабированы до 4K
На сравнении выше мы видим, как DLSS 2.0 отрисовывает пряди волос, искаженные в случае DLSS 1.9.
Lumen: Технические подробности
Обзор технических возможностей и характеристик новой системы глобального освещения и отражений под названием Lumen.
Данная статья является переводом раздела документации Unreal Engine 5. Ссылка на оригинал находится в конце статьи.
Для решения задач Глобального освещения и Отражений (Global Illumination and Reflections) система Lumen использует несколько методов трассировки лучей. Сначала, выполняется трассировка в экранном пространстве или экранная трассировка (Screen Traces), после чего следует более надежный метод.
По умолчанию, система Lumen использует Программную Трассировку Лучей (Software Ray Tracing) через Signed Distance Fields. Результаты более высокого качества могут быть достигнуты с помощью Аппаратной Трассировки Лучей (Hardware Ray Tracing), при наличии соответствующей видеокарты.
ПРИМЕЧАНИЕ: Основной целью данной системы глобального освещения и отражений является поддержка больших открытых миров, работающих со скоростью 60 кадров в секунду (FPS), на консолях следующего поколения. Текущие настройки системы Lumen, на уровне масштабируемости High (настройки качества), нацелены на 60 FPS.
Второстепенной целью системы Lumen является получение чистого освещения в закрытых помещениях, при скорости 30 кадров в секунду на консолях следующего поколения. На уровне масштабируемости Epic глобальное освещение и отражения (с внутренним разрешением 1080p) требуют около 8 миллисекунд (мс) на консолях следующего поколения, полагаясь на Temporal Super Resolution для вывода с качеством, близком к нативному 4K разрешению.
Lumen генерирует автоматическую параметризацию соседних (nearby) поверхностей сцены, которая называется Surface Cache (Кэш Поверхностей). Он используется для быстрого поиска освещения в точках попадания лучей. Lumen фиксирует/захватывает свойства материала для каждого меша под разными углами. Эти позиции захвата (называются Cards (Карты)) генерируются для каждого меша в режиме оффлайн. В редакторе их можно визуализировать с помощью консольной команды r.Lumen.Visualize.CardPlacement 1.
Система Nanite ускоряет процесс захвата мешей, используемый для поддержания Surface Cache в синхронизированном состоянии с Triangle Scene (Триангулированной Сценой). В частности, для эффективного захвата высоко полигональных мешей необходимо использовать Nanite.
После того, как Surface Cache заполняется свойствами материала, Lumen рассчитывает освещение прямым и отраженным светом для этих положений поверхности (surface positions). Эти обновления сглаживаются (амортизируются) по нескольким кадрам, обеспечивая эффективную поддержку множества динамических источников света и глобального освещения с множественными отражениями/отскоками (multi-bounce).
ПРИМЕЧАНИЕ: В Unreal Engine есть специальные режимы визуализации, которые позволяют увидеть Surface Cache и Cards. Дополнительные сведения смотрите в разделе Опции Визуализации.
ВНИМАНИЕ: Поддерживаются только меши с простым наполнением — стены, полы и потолки должны быть отдельными мешами. Предполагается что, большие, цельные меши не будут работать с Lumen должным образом.
Прежде чем использовать более надёжный способ трассировки, сначала Lumen трассирует лучи по направлению к экрану (это называется (Screen Tracing или Screen Space Tracing)), и необходимо на тот случай если попадание не обнаружено или луч проходит за поверхность. Экранная трассировка поддерживает любые типы геометрии и полезна для сокрытия несоответствий между Lumen Scene и Triangle Scene.
Недостатком использования экранной трассировки является то, что она значительно ограничивает управление художественной составляющей (art direction), которое будет применяться только к освещению отраженным светом (indirect lighting), например свойствам освещения для Indirect Lighting Scale или Emissive Boost.
В приведенной ниже сцене Программная Трассировка Лучей сначала использует экранную трассировку, а затем переходит к другим, более дорогостоящим вариантам трассировки.Если Экранная Трассировка отключена для глобального освещения и отражений, вы увидите только Lumen Scene. Экранная трассировка помогает устранить несоответствие, которое может возникнуть между сценой Triangle Scene и Lumen Scene.
Для сравнения вы можете отключить Экранную Трассировку при помощи консольных команд r.Lumen.ScreenProbeGather.ScreenTraces 0 и r.Lumen.Reflections.ScreenTraces 0
В Unreal Engine 5 у Lumen есть два основных метода трассировки лучей: Программная Трассировка Лучей, которая работает на самом широком спектре оборудования и платформ, и Аппаратная Трассировка Лучей, для работы которой требуются соответствующая видеокарта и операционная система.
По умолчанию, Lumen использует Программную Трассировку Лучей по направлению к Signed Distance Fields. Данный способ трассировки доступен на любом оборудовании, которое поддерживает Shader Model 5 (SM5). В настройках проекта должна быть включена опция Generate Mesh Distance Fields.
Для ускорения трассировки, система рендеринга объединяет Mesh Distance Fields (поля отдельных мешей) в Global Distance Field. По умолчанию, Lumen трассирует по направлению к Distance Fields каждого меша только для первых двух метров (для точности), а для всего остального используется объединенный Global Distance Field. В проектах с чрезмерно перекрывающими друг друга экземплярами, вы можете управлять методом трассировки, который Lumen использует в режиме Software Ray Tracing Mode. Настраивается через Project Settings.
Программная Трассировка Лучей позволяет выполнять трассировку двумя способами:
Потоковая загрузка и выгрузка (стриминг) Mesh Distance Fields выполняется в зависимости от расстояния, когда камера перемещается по миру. Для обеспечения трассировки они упакованы в единый атлас. Статистика по этому атласу может быть выведена в журнал (Log) с помощью команды r.DistanceFields.LogAtlasStats 1.
Качество Программной Трассировки Лучей Lumen иногда может зависеть от качества представления Distance Field конкретного меша. Опции для визуализации Mesh Distance Fields и Global Distance Field находятся в меню вьюпорта Show → Visualize.
У некоторых мешей тонкие поверхности могут не иметь хорошего представления Distance Field и соответственно они могут вызывать проблемы с утечкой света. Визуализация Mesh Distance Field может помочь вам в обнаружении проблем данного типа.
Есть два способа позволяющих улучшить представление Distance FIeld. На уровне проекта вы можете повысить значение параметра Distance Field Voxel Density, используя Project settings. И желательно в Static Mesh Editor настроить параметр Distance Field Resolution Scale только для тех мешей, у которых возникают проблемы с Программной Трассировкой Лучей. Увеличение разрешения или плотности Distance Field приведет к увеличению размера проекта на диске.
Программная Трассировка Лучей имеет некоторые ограничения, касательно того, как вы должны работать с ней в своих проектах, и какие типы геометрии и материалов она поддерживает в настоящее время.
ПРИМЕЧАНИЕ: Это далеко не исчерпывающий список известных проблем и/или ограничений, но он в значительной степени отражает то, чего вам стоит ожидать при работе с Lumen Software Ray Tracing в Unreal Engine 5 Early Access.
Аппаратная Трассировка Лучей поддерживает более широкий диапазон типов геометрии, чем Программная Трассировка Лучей, в частности, она поддерживает трассировку по направлению к Скелетным Мешам (Skinned Meshes). Помимо этого, Аппаратная Трассировка Лучей лучше масштабируется до более высокого качества — она пересекается с реальными треугольниками и имеет возможность оценивать освещение при попадании луча, вместо Surface Cache с более низким уровнем качества. Однако, Аппаратная Трассировка Лучей требует значительных затрат при настройке сцены и в настоящий момент не может масштабироваться в сценах, содержащих более 100 000 экземпляров. Динамически деформируемые сетки, такие как скелетные меши (Skinned Meshes), тоже требуют больших затрат на обновление структур ускорения трассировки лучей в каждом кадре, которые увеличиваются пропорционально количеству треугольников в модели.
Для статических мешей, использующих Nanite, Аппаратная Трассировка Лучей может работать только с Прокси Мешем (Proxy Mesh), сгенерированным из Nanite’s Proxy Triangle Percent в настройках Static Mesh Editor. Эти Прокси Меши можно визуализировать с помощью консольной команды r.Nanite 0.
Экранная Трассировка используется для устранения несоответствия между мешем который полностью состоит из треугольников (full triangle mesh) и рендерится посредством Nanite, и Прокси Мешем (Proxy Mesh), на который трассируются лучи Lumen. Однако, в некоторых случаях, это несоответствие слишком большое чтобы его можно было скрыть. В таких случаях, повышение значения для Proxy Triangle Percent может снизить количество артефактов в виде самопересечений.
Lumen будет использовать Аппаратную Трассировку Лучей в том случае, если:
Lumen Scene работает не со всем миром сразу, а лишь с той частью которая находится рядом с камерой, что даёт возможность использовать стримминг (потоковая передача данных) и создавать огромные миры. Lumen полагается на уровень детализации (LOD) системы Nanite и Multi-View растеризацию для быстрого захвата сцены в Surface Cache, при этом, все операции регулируются, чтобы предотвратить возникновение сбоев. Для работы Lumen не требуется Nanite, однако в сценах с большим количеством высоко полигональных мешей и выключенной системой Nanite, захват сцены системой Lumen становится очень медленным. Это может оказаться особенно актуальным для сцен, где присутствуют объекты без нормально настроенных LOD’ов.
Быстрое перемещение камеры приведет к тому, что обновление Lumen Scene будет отставать от того, куда смотрит камера, и освещение отраженным светом будет «догонять» сцену.
Lumen Surface Cache охватывает ближайшие 200 метров относительно положения камеры. За пределами этой области, для глобального освещения работает только экранная трассировка (screen traces).
В Lumen есть экспериментальное представление Distant Scene которое обеспечивает трассировку за пределами Surface Cache. Эта функция была использована в технической демонстрации Unreal Engine 5 «Lumen in the Land of Nanite» для выполнения освещения отраженным светом в каньоне. Она покрывает диапазон от 200 метров до 1 километра от камеры (смотрите изображение ниже). Она работает посредством рендеринга Reflective Shadowmap (в низком разрешении) от солнца при помощи Nanite и выполняет трассировку по направлению к этому полю высот (heightfield) во время Final Gather, чтобы уловить один отскок освещения отраженным солнечным светом. Это представление Distant Scene выглядит весьма многообещающе, но требует значительного развития, чтобы его можно было использовать в реальных проектах.
Настройки Lumen используемые по умолчанию, для уровня масштабируемости Epic нацелены на бюджет в 30 FPS (8ms для Глобального Освещения и Отражений) при разрешении 1080p на консолях следующего поколения. Lumen сильно полагается на Unreal Engine 4’s Temporal Upsampling с новым алгоритмом UE5 Temporal Super Resolution для вывода в 4K. На уровне масштабируемости High, Lumen использует стандартные настройки с прицелом на 60 FPS. На уровнях Low и Medium система Lumen отключается.
Материалы со значением Roughness ниже 0.4, стоят для Lumen больше всего, поскольку для расчета Lumen Reflections нужна трассировка дополнительных лучей.
Программная Трассировка Лучей:
ПРИМЕЧАНИЕ: Для работы с Early Access на данный момент требуется NVIDIA GeForce GTX-1070 или выше. У Lumen есть множество опций для уменьшения требований, но для их использования требуется дальнейшая доработка.
Аппаратная Трассировка Лучей
Lumen позволяет визуализировать данные в Unreal Editor. Это может оказаться весьма полезным при инспектировании и решении проблем, в том как Lumen освещает сцену.
Основные опции, связанные с визуализацией данных, находятся в меню основного вьюпорта Show → Visualize.
Помимо этого, существует ряд консольных команд, которые вы можете использовать для визуализации остальных данных используемых системой Lumen:
При решении проблем, связанных с работой Lumen в вашей сцене, начните с пункта Lumen Scene находящегося в меню вьюпорта Show → Visualization.
Данный вид должен совпадать с основным видом сцены таким образом, чтобы оказывать заметное влияние на освещение отраженным светом. Например, в Lumen Scene металлические двери здания и автобуса с большей вероятностью будут заметно отражать часть своего цвета в сцену.
В тех случаях, когда у вас есть проблемные меши, способствующие освещению отраженным светом, их можно удалить при помощи панели Details для Level instance.
Lumen повторно использует карты теней рендерера (Renderer’s Shadow Maps) для затенения Lumen Scene. Однако, доступны они треугольниковко для поверхностей в пределах экрана (on-screen positions). Для затенения поверхностей за пределами экрана, Lumen использует трассировку лучей (Ray-Traced Shadows). Когда есть значительное несоответствие между этими двумя техниками, Lumen Global Illumination становится сильно зависимым от вида, подобно методам, работающим в экранном пространстве, таким как Screen Space Global Illumination.
Часто, проблема может быть решена путём выяснения причин этого несоответствия. Находясь в режиме визуализации Lumen Scene, используйте консольную команду r.Lumen.DirectLighting.ForceOffscreenShadowing 1 чтобы увидеть тени полученные трассировкой лучей.
При нахождении опечаток или технических неточностей перевода, просьба писать мне в личку или прямо комментариях.
Ссылка на оригинал статьи:
Автор, ты красавчик. Документацию всегда читать интересно у ue, она всегда написана более-менее дружественным языком. Огромное спасибо за перевод.
Осталось узнать только как этот монстр работает: UE5 Temporal Super Resolution.
Предыдущая версия была более-менее хорошей, но из игр только ghostrunner его использовал.
Ну и ещё интересно, насколько surface cache будет быстро перестраиваться, если, допустим, меш разрушаемый и там до кусочков развалить, материал «обессветиться» ненадолго?
Спасибо за перевод! Круто видеть куда оно идёт и серьёзную работу над открытыми мирами в анрил
Варить кофе, ждать видюх
Получать пока что ноль
Вот и вся жизнь
Вот и вся новь
Lumen не поддерживает консоли текущего поколения, такие как PlayStation 4 и Xbox One
Но текущее поколение уже пол года как Series и PS5, а то прошлое 🤔
Lumen разрабатывается для дорогих ПК
Ну, проекты активно на нем все равно лет через 5 пойдут
проекты активно на нем все равно лет через 5 пойдут
Почему? Любую игру с UE4 можно без проблем перенести на UE5, при этом перевод на Lumen и активация нанита вообще лёгкие задачи для студии
Я удивлюсь, если игры на нем не будут выходить в 2022-м
Ох милсдарь, вы видимо никогда не обновляли проекты. Даже обновление прототипа на минорную версию движка может обернутся кровавыми анальными болями. Что говорить про крупные проекты. Вы прежде чем говорить, что легко, а что сложно, сперва сами попробуйте. Это отрезвляет. Про легко, обычно говорят люди, которые не шарят совсем. Шарящие просто молчат, молчат и плачут.
Вот я просто и удивляюсь да, когда работал в конторе над ue4 проектом обновление версии было не всегда простым и порой ломалось всё жёстко, а это ведь был инди проект ещё) но в Unity все с этим совсем плохо.
100 тыщ мильёнов чашек чая этому господину
Я не игродел, только блендер для себя юзаю
Но лично видел двух разработчиков на Ютубе, которые переделали свои уровни из-под UE4 под UE5. Один сделал лес на новом движке, переделал, второй переделал свой уровень типа под хоррор игру
Оба демонстрировали на сколько повышается фпс с люменом и нанитом
Все верно
Чисто арт проект перенести можно без боли и страданий..
С блюпринтами и кодом зависит от везения и размера проекта. На моей памяти переход с 4.23 на 4.24 потребовал у программистов 2 недели работы что бы пофиксить вылезшие баги.
Прям легко огромный проект обновится и в этом будет какой то смысл, если все ассеты и свет подготовлены и расставлены художниками под другие технологии и под прошлое поколение? Если все так идеально работает то круто. А то крупные студии на ue4 то ещё не всё перебрались) Мне казалось там разница в подходе серьёзная и как у Unity с новыми рендерами переход болезненный.
настраивать и RTX надо, и та же может получиться неразбериха как с Метро эксодусов первой и второй версии.
А ещё проект открывать надо, ужас
С ртхом по факту нужно указывать приемлемый уровень шума, длину луча и количество отскоков, всё
Это огромные бюджеты и огромные риски, которые, будем честны, не стоят красивеньких теней и возможности затолкать неоптимизированный чайник в сцену.
Пока уе5 не рекомендуется компилировать в мастер диски. Предлагают ждать до конца 2022 когдп уе5 выйдет из беты.
Но текущее поколение уже пол года как Series и PS5, а то прошлое
Ну да, есть такое, я сначала хотел это всё поменять. Но в итоге, решил оставить как в оригинале
Классная технология, классные возможности для будущих игр, одна загвоздка, где блин взять видюх под это дело?! А то технологии бегут впереди паровоза, железа нет, но вы держитесь! Всего вам хорошего!
Если сейчас на нём пойдешь делать игру, то аккурат к 2023 и далее игроки потихоньку начнут делать апгрейды своих 10xx
Чтобы делать апгрейды, надо чтобы железо было по адекватной цене. Если цен нормальных не будет и к 23-му году, значит, многие продолжат сидеть на 1000 серии.
Ну значит пека бояри пойдут лесом, ибо основным геймингом станет консоли. В первый раз что-ли.
Тим Суини уже пожаловался что у них в эпиках лишь один девкит сони пс5 стоит
Погугли определение слова конкурентноспособный, ну или хотя бы проверь нагрузку на видеокарту хардварного рейтрейсинга и люмена.
Давай ты конкретней опишешь то, что ты сам вкладываешь в смысл этого слова в данном конкретном случае, раз уж создатели движка цитируемую фразу в сопроводительной документации сами приводят. А потом может мы дождёмся вменяемого сравнения люмена и RTGI в рамках одного видео на ряде сцен, имеющих различные ситуации.
Лично я категорически несогласен получать что-то меньшее, чем в RTGI в метро 2019 года, если заявлена поддержка аппаратной трассировки. А если уж будет как в недавней Enhanced Edition.