Все новые технологии | Какими будут игры будущего - Графика, ИИ, Анимация
игры [музыка] будущего все перспективные технологии 3D [музыка] [аплодисменты] графики Приветствую разработчики на связи kstars Entertainment заглядывать в будущее дело неблагодарное Но в случае с видеоиграми это можно сделать связано Это с тем что технологии опережают производительность железа на десятилетие поэтому достаточно заглянуть за рамки геймдева в этом видео сперва мы углубились индустрия для этого я последовательно расставил прорывные моменты в графике 3D сканирование и его предел реализма Также вы узнаете Зачем нужен микрополис почему нейросети - это одновременно Костыль и Панацея генеративная 3D графика как нейросети могут создавать игры процедурные анимации и анимации на нейросетях как процедурная генерация облегчит жизнь разработчикам в сотни раз динамическая воксельная графика И в чём её крутость В общем и целом посмотрим какие есть перспективные технологии которые постепенно будут внедряться в игры в конце подведём итоги прорыв первый становление компьютерной графики в играх для начала Давайте взглянем на историю ведь без прошлого нет будущего одной из первых компьютерных игр была Tennis 42 Произошло это аж в 1958 году ещё были аппарат не матрон и электронные Крестики нолики графон там был так себе но вот Геймплей начало было заложено конечно поиграть в эти игры Мне не удалось потому что я их на торрентах не нашёл в семидесятых был расцвет индустрии тем не менее я застал начало эпохи видеоигр моё знакомство с видеоиграми началось утиной охоты на Сегу это такой массив из пикселей развлекательного характера нужно было стрелять из пистолетного джойстика по кинескоп до сих понимаю как это работает да небо 3D потом игрушки стали обрастать деталями потом был дум с псевдо 3D тогда компьютеры не тянули обработку третьего измерения поэтому была 2,5d графика игрок не мог смотреть вверх и вниз и вот стали появляться всякие Лара Крофт и к [музыка] вейки эпоху застолбить Counter Strike 1.6 на движке Gold Source в то время все эффекты освещения запекали в текстуры прорыв второй реалистичные шейдеры и вот появился Doom 3 на движке ID Tech 4 проецирует которые повторяли контур объекта блики освещения всё это придавало реализма на контрасте с остальными играми тогда и случился первый переломный момент в графике для меня это было внезапно графика стала двигаться в сторону реализма кине графично казалось Да Куда ещё больше Хотя было К чему стремиться затем вышел Half Life 2 на движке сорс со своей реалистичной водичкой классной физикой всё это придавало интерактивности иммерсивность и активности графика тогда особо уже не впечатляли Но вот отражение в воде отражали С тех пор в графике особо ничего не менялось Да и компьютеры были не готовы игры выходили время текло Ничего особенного не было до тех пор пока не появился Crisis на Cry Engine 2 я был в шоке когда увидел его первый Геймплей это действительно был прорыв в графике взрывной вау-эффект в Крас добавили всё самое-самое на то время помимо крутой графики было ещё классное физика можно было рубить деревья выстрелами и топтать [музыка] дома вода казалась потрясающей каждый кустик можно было шевелить игроком на то время это просто снесло плашку до сих пор не ви игры которая бы впечатлила так как йс в то время игра вобрала в себя всё самое лучшее что было в тот момент Шли годы и с тех пор особо ничего не поменялось графика стала продающей обёртка также в игры добавлялись шейные эффекты для материалов в начале Это был норма такой эффект выпуклости при этом геометрия оставалась прежней появился паралакс схож с предыдущим Но более выразительный и требовательный затем завезли тесля это уже был не обман зрения а реальное добавление вершин по материалам такое реальное что пришлось добавить отдельный блок для видеокарты прорыв третий трассировка лучей новым прорывом в графике стал ведь крутой графон делает реалистичное освещение если раньше в том же самом Лайфе свет заранее запека в специальные текстуры Лайт мапы а отражение ВБ мапы то с приходом трассировки это стало просчитывать в реальном времени благодаря чему освещение может меняться в реальном времени эта технология тоже далеко не Нова её очень давно уже используют в оффлайн рендеринге в сфере 3D моделирования правда там чтобы посмотреть на красоту нужно ждать 4 минуты а то и больше и это всего лишь один кадр доступно это стало благодаря аппаратному ускоритель видеокарты и то пока что это не суперспособности па трейсинг куда реалистичней там более множественное [музыка] переодел более продвинутая технология - это Фотон маппинг имитация фотонов преимущество в каустике это преломление света прорыв четвёртый 3D Scan немаловажную роль в реализме играют текстуры и количество полигонов ведь самая реалистичная текстура - Это фотография сейчас для придания реализма можно использовать фотограмметрии это куча фотографий вокруг объекта сложность в том что требуется ручная корректировка Хотя уже могут помочь нейросети следующий ключевой момент эволюции графики появление UN Record шутер на unre Engine 5 люди сперва не верили что это графика вот здесь уже можно сказать да куда дальше-то вот он всё реализм мы достигли этой точки конечно тут можно придраться к мелочам затенения Но это всё такие мелочи по сцене раскиданы большое количество реалистичных объектов взятых из библиотеки мегаскан тонна отсканированных кирпичей и прочего реалистичного мусора кинематографичность придаёт камера закреплённая на груди она неплохо так реагирует на движение игрока более адаптивно всё это дополнено эффектом фишай виндити Нея и грязи по бокам Ну и изюминка - это освещение можно сказать что это трассировка но нет это запечённые текстуры Как видите трассировка особо не решает решают навыки художника как он грамотно умеет работать со светом в таком же направлении бежит проект Body C и вот какой класс истории мы имеем графика врем первой PlayStation Затем все стремятся к реализму в то время с появлением каждой новой игры с обновленной графикой казалось Да куда ещ лучше и вот появляется реалистичный рекорд с графикой из фото снов И это уже особо никому не [музыка] интересно Одной из самых продвинутых технологий 3D сна На сегодняшний момент является ПН тут сцена - это массив точек представленных в виде эллипсов а промежутки между ними заполнены представлениями покрупнее каж из них обладает четырьмя параметрами Первый параметр точки - Это её координаты положение в пространстве xyz второй параметр для многомерного гаусо распределения нужна ковариационная Матрица размерности 3 на3 которая показывает насколько вытянут или сплюснута эллипсоид чтобы это не значило третьим параметром является альфа-канал прозрачность и цвет три значения ГБ - это четвёртый параметр pocom предлагает соть 3D сцену прямиком в браузере нужно всего лишь выгрузить от 20 до 200 изображений в формате JPEG или PNG снимать нужно так чтобы снимки пересекали друг друга хотя бы на 50% достичь хорошего результата гаун может за 5-10 минут и такая небольшая сцена Весит примерно 40 МБ опробовать эту технологию можно с помощью плагина он есть для Blender Unity и Unreal Engine А если вы прямо самостоятельный можно пойти на github и взять лон версию если Взглянуть на такую сцену выглядит как фотография Но как только приближаемся к объекту можно заметить что всё состоит из такого [музыка] тумана окружение выглядит абсолютно реалистично абсолютно реалистичное отражение мы видим как отображается небо объекты и сама статуя по центру но стоит залететь внутрь Мы попадаем в калья все эти отражения также являются 3D туманом поскольку объекты вдоль периметра сфотографировано с одной стороны сбоку они уже теряют форму эти точки можно конвертировать в меш и засовывать в игры будет нормально но весить будет много по схоже принципу окружение сканируют лидары которые присутствуют в робототехники и в iPhone 15 это как трассировка в реальной жизни из пикселей выстреливают лучи которые определяют расстояние как ультразвуковые дальномеры instant Nerf от NVIDIA способна создать объект всего лишь из пары кадров на 3D сцене в игре должна быть коллизия освещение а ging в его изначальном виде даёт лишь статическую картинку которую даже на 3D принтере не распечатаешь плюс объекты должны двигаться сообщество разработчиков бросилось адаптировать эту технологию под свои нужды dam в не внедрили неста э Здесь объектам позволено двигаться при условии что они сохраняют изначальный цвет размер и прозрачность платин несовместим с текущими пайплайн видеорег и требует большого количества видеопамяти и места для хранения сцены Так что не стоит ожидать резкого перехода видеоигр на эту технологию с помощью данных технологий в ame де не создать больших ов это больше подойдет для коридор шутеров для отдельных объектов в Triple Game 3D Scan уже давно активно используется правда это дорогостоящее удовольствие ведь на выходе получается многопольный Объект который потребует ручного реша разработчикам вручную приходится повторять изгибы объекта натягивая на поверхность новые полигоны конечно это можно сделать автоматически но это не всегда корректно и поскольку при 3D сни текстура фотографируется с освещением которое имеется на сцене тени от Солнца полутени порой вручную приходится ретушировать такие текстуры замазывать все ненужные засветы для таких задач отлично подходит программа Lightroom Да и название подходящее поэтому когда создавалась библиотека meg scans которая кстати есть One Real Engine приходилось огораживать объекты от солнечного света но в играх так и так увеличивается количество полигонов чтобы не перегружать кадр на сцене большим количеством объектов используются технологии по типу ocus Calling объекты вне камеры Наряду с ними также вывы те объекты которые перегородк лот у них автоматически снижается количество полигонов но это работает по фиксированным ступеням лот 1 лот 2 3 и так далее в будущем скорее всего это замениться на технологии микрополис для этого компания NVIDIA добавила шейдинг в свои видеокарты потом Microsoft добавили это в свой Direct X12 затем это появилось в новом Иксбоксе и карточках AMD также это добавили в 3D Mark эта технология есть Unreal Engine 5 под названием nite Ну или nit с ней можно отказаться от всяких нормалей и бампо а делать всё полигонами это работает по принципу чем больше пикселе на экране тем больше отображается полигонов но эта технология не работает на видеокартах младше поколения maxxwell при 3D сканировании и окружение чётко фиксируется время суток получаем реализм но отсекаем динамику А в играх хочется и ночь и дождь Да и вообще динамическое освещение Поэтому в играх освещения дополнительно добавляется к сырым текстурам Раньше это была растеризация запекание заранее прочитанного света в текстуры и отражений Light Map и Cu Map либо отражение в реальном времени скрин Space reflections Затем в играх появилась трассировка лучей Racing фотоны Света провались в ре времени прямо в игре лучи идут из камеры до освещения а не наоборот ведь лучи могут отражаться от объектов вне поле зрения также есть промежуточная технология освещения наподобие vxg Voxel Global illumination это такой динамический свет как трассировка только вместо кучи лучей из пикселей выстреливают воксели как бы лучи но только большие и толстые получались такие пятна освещение это может работать без аппаратного ускорения по типу rtx в пятом анле имеется подобное освещение под названием Lin В итоге что мы имеем по освещению запекание лучи и что-то между воксели пятна лучи конечно же самые реалистичные мало того что лучики кушают Много Они не работают с occlusion Calling это когда объекты вне кадра не прорисовываются мы же видим в отражениях объекты на которые не смотрим в противном случае получился бы обычный скрин Space reflection NVIDIA впихнуть в видеокарты за счёт цены эти видюхи не всем доступны и эта технология оказалась Не такой уж и нужной художник и без трассировки может сделать красивое освещение путём запекания от трассировки Выгода только разработчикам просто вытащил лампочку на сцены и у тебя уже всё красиво Посмотрите на обычный Crisis и на его ремастер с поддержкой rtx разницы почти нет но жрёт ресурсов гораздо больше А если взять Minec с его примитивной графикой и добавить лучики то тут всё кардинально меняется есть более красивые лучики нежели йт tracing это Паф трейсинг на них можно полюбоваться в киберпанке мало вам киберпанка вот вам портал с Паф рейсингом Можно бесконечно увеличивать количество лучей Но чем ближе к практическому максимуму тем больше нагрузка но при учёте того что изменений особо нет Поэтому киберпанк с Паф рейсингом особо не отличается разве что дымом но с паф рейсингом в реальном времени с трудом справляется даже 40-90 для облегчения задачи уже нужен апскейлинг и тут в игру вступают нейронные сети которые появились не так уж и давно прорыв пятый нейросети Точнее они давно появились просто стали доступными для широких масс относительно недавно видеокарте тяжело справляться с большим количеством сэмплов От чего проседает FPS было 30 стало 10 А где ещё взять 20 их можно нарисовать основа на данных полученных с предыдущего и последующего кадра можно нарисовать промежуточный но в реальном времени это работает не очень потому что для таких расчётов также нужны ресурсы поэтому можно взять кадр просто с более низким разрешением и с помощью нейросети увеличить его качество основываясь на пиксельных данных этим и занимается технология dlss это называется апскейлинг конечно же наши друзья AMD и Intel тоже не стоят в стороне у AMD - это fsr Intel xess Прогресс не стоит на месте и NVIDIA со своим третьим dlss уже способна создавать целые промежуточные кадры остальные тоже скоро подтянутся Ну а что по поводу 3D графики полностью нарисованной нейросетями нейросети резко вырвались в нашу жизнь они могут писать код и генерировать изображение писать музыку и делать видео но с генерации 3D на данный момент Они не очень справляются Но вообще не так уж всё и печально искусственный интеллект же не дурак как бы не тупой да от этого и появилось L ai если перейти на одноимённый discord то можно заметить яичник может генерировать 3D по промто промт - это такие слова запроса олицетворяющие Что вы хотите увидеть у людей создавших такое должен быть свой сайт в общем Вектор в генеративное скорее всего хороший результат не за горами поскольку нейронки умеют отрисовывать изображение почему бы таким образом не отрисовывать кадры для игр отрендерить и с помощью одного кадра Сначала мы преобразовывать его в карту глубины и с помощью карты глубины генерируется 3D объект с первого взгляда это может показаться неплохо но если присмотреться мы увидим кучу артефактов и потерянных объектов Да и к тому же рендерить изоб это тоже ресурсы компьютера Тогда можно поступить гибридным способом обрабатывать нейросетью уже готовый кадр игры улучшать его реализм сперва разработчики сняли поездку по улице с телефона хотя постойте это же GTA 5 алгоритм Принимает два типа данных это обычный кадр и информация из д буфера Фер - это такой набор текстур который используется для рас освещения для каждого пикселя разработчики из Intel создали нейросеть превращающие кадры из GTA 5 в фотореалистичный Посмотрите выглядит как реальная [музыка] съёмка если вам в целом интересно как устроена 3D графика я её разбираю более подробно на своём канале каждую тему отдельно и растеризация и трассировку даже есть 4D графика а по Unreal Engine так вообще отдельные курсы параллельно я разрабатываю онлайн игру и показываю как я это делаю в видео дневнике загляните в описание к этому видео там много чего интересного анимация А как же там обстоят дела с анимацией сперва это были двухмерные флипбук набор кадров одна картинка сменялась другой 3D анимировать похожим способом По ключевым позам менялось положение объекта это первый ключ Конечный результат - это второй второй ключ и промежуточные значения между этими ключами автоматически интерполировать плавно подстраивать годится такое лишь под одну задачу А что если персонаж должен одновременно бежать и бить рукой и вот чтобы не делать одновременно анимацию бега анимацию удара руки и анимацию бега с ударом руки для анимации стали использовать скелеты скелет прикрепляется к модели благодаря этому анимации можно делать Независимо друг от друга и объединять Их достаточно подвинуть один маркер и перемещается вся нога или рука учитывая иерархию взаимосвязей с ростом Game Def индустрии потребовалось большое количество анимаций чтобы не делать каждую анимацию вручную используется захват движений Motion capt основная суть - это наличие маркеров на теле актёра таких костюмов много видов актёр скачет а маркеры фиксируют камеры потом это всё переносится на скелет сейчас благодаря искусственному интеллекту не нужны никакие костюмы mup достаточно снять свои танцульки на видео представители таких технологий Deep Motion plk и Мета H для пятого арила тут вы можете настраивать реалистичные лица анимации как в какой-то MM RPG сделать захват движений с помощью вашего iPhone сверх детализации недостаточно для создания реалистичных лиц потому что человеческая Кожа - это не Бетонная стена она способна пропускать свет Тоже самое касается растительности но полупрозрачные материалы требуют двойного рендеринга Поэтому такие штуки не все себе могут позволить некоторые программы умеют генерировать 3D объект это лицо лишь из одной фотографии человека Ctrl net способна различать позы мимику и стиль уже дошло до такого что мимику лица можно анимировать с помощью искусственного интеллекта а именно с помощью звука скармливать нейронки свою болтовню и она подставляет автоматические губы Ну под анимацию [музыка] для вариативности можно заготовить большую базу данных для ключевых поз затем подбирать нужную в зависимости от ситуации Это технология M она использует машинное обучение которое позволяет создавать плавные переходы между анимациями и экономить память хя она есть на Unreal Engine 5 Но и на Unity тоже эту технологию применяет компания у Soft её можно встретить в таких играх как The Lost of F и for Honor вот Лариса Кравченко ползёт по карьерной лестнице она ловко цепляется своими ручонками за уступы а уступы разные и расстояние до них тоже получается что под каждый уступ нужно создавать свою анимацию навряд ли бы это понравилось Ларисе Хотя ей всё равно А вот разработчикам нет и на помощь им приходит процедурный анима такая анимация автоматически подстраивает скелет под окружение такую технологию можно встретить конечно же unre Engine 5 Да в принципе эта технология доступна для большинства движков работает она также по принципу интерполяции но дорога в производстве потому что изучение инструментов процедурной анимации требует много времени нужна Начальная точка и направление но она беспомощна без аниматора при обычной анимации по ключевым кадрам объект просто плавно сдвигается с положения А в положение б а при процедурной объект также сдвигается но потом проверяется наличие препятствий и других объектов с подвижной внутренней структурой для таких проверок каждой кости могут прикрепляться отдельные коллайдера коллизии тут есть сходство с физикой в играх вот ящик падает из пункта А в пункт Б пункт Б - Это Земля стоит интегрировать в сцену препятствия ящик за счёт своей коллизии отреагирует на него но ВС равно окажется на земле по такому же принципу можно смоделировать динамику волос растительности и воды но это мы затронем уже в следующем видео когда будем разбирать физику будущего звучит конечно процедурно можно генерировать ландшафт используя технологии наподобие Diamond Square генерация интерполяция высот также растительность как в программе Speed 3 распределять это всё по поверхности инструментами движка Также процедурно можно генерировать целые города зачем вручную расставлять объекты Когда можно указать программе приблизительное расположение этих объектов и ото будет подбирать их случайным образом у вас условно есть 10 вариаций одного объекта и то где Он должен находиться он подставляется рандомно также процедурно можно генерировать материалы текстуры а затем их намазывать на окружение за счёт этого растёт детализация в сцене аппетиты растут а видеокарты не справляются технология от NVIDIA ntc она прогоняет текстуры через тензорные ядра ускоряя процесс распаковки попутно увеличивает их качество это сокращает расход видеопамяти Зачем держать огромные текстуры если можно увеличить маленькую текстур а то и лучше сгенерировать или дорисовать компьютеры уже способны обрабатывать такое большое количество деталей Поэтому со временем в играх детализация будет увеличиваться но в этом есть и минус всё это создаёт визуальный шум который отвлекает игрока и перегружает его мозг игрок больше устаёт не то что в играх девяностых есть только вы враг и бетонные стены прорыв шестой Воль [музыка] разработчики постоянно добавляют нововведения в графику освещение тени текстуры физику и прочее но как ни крути подавляющее число игр имеют в своей основе одну общую вещь а именно все объекты состоят из полигональной сетки которая является совокупностью вершин определяющих форму объекта но при детализации придётся увеличить количество полигонов существует альтернатива это воксели воксель - это точка в 3D пространстве они как атомы чаще всего воксели представлены в виде кубов имитирующих объём каждый воксель может содержать в себе информацию Каким материалом он является металлом деревом бетоном и так далее из таких мелких частиц можно составлять объекты первое что приходит на ум - это Minecraft но здесь воксели полигональные просто целая куча кубов чтобы заменить полигоны воксели нужно воксели уменьшать с этим неплохо справляется благодаря тому что этими Воля можно манипулировать приблизится к реалистичным разрушениям но всё равно эти кубы бросаются в глаза хоть они и не такие большие как в Майнкрафте воксель не обязательно должен быть куб можно использовать эллипсоиды с одной величиной в виде радиуса Как в игре Эстетика в КБК вообще вместо полигонов и воксели используется Sci distance Field в сочетании с Рей марчин это такой метод представления геометрической формы для каждой точки в пространстве сохраняется значение расстояния на ближайшей поверхности а также информация о направлении простыми словами Это что-то типа трассировки этих точек если бы у видеокарт присутствовало аппаратное ускорение воксели разработчики могли бы создавать большие миры из воксели размером с пиксель монитора разработчики это монтаж уменьшили воксели и издалека это уже может выглядеть как обычная модель правда одна такая модель может весить выше 100 мб безусловно плюсом такой технологии в иг является абсолютная разрушаемость всего такой тирдаун на максималках технология а монтаж позволяют гнуть эти воксельный объекты Это говорит о том что к таким моделям можно приделать Рик и анимировать персонажей К тому же не все физические объекты имеют структуру как у стекла такие же хрупкие к примеру металл в машинах гнётся а не лопается сам побе монтаж интересный движок и имеет большую перспективу итоги тут надо отметить все ранее перечисленные технологии появились уже относительно давно а описаны ещё раньше NVIDIA заразила всех лучевой болезнью а затем предоставила вакцину виде длсс вообще последнее время стало модно переносить что-то на видеокарту так было с фиксом Тесей потом лучи Сейчас вон тензорные ядра для нейросетей такое ощущение что со временем туда добавят всё процессоры компьютера предназначены для расчётов больших задач но в маленьком количестве А с видеокартами всё наоборот поэтому лишь на одном CPU не сделать большое количество ботов и частиц Ну а если это всё перенести на видеокарту то результат может впечатлить так и поступили разработчики Epic Battle Simulator 2 здесь на сцене порядка 10 млн воинов все они считаются видеокарт причём для этого не нужно какое-то мощное железо хватит и гиговые 1060 Это говорит о том что видеокарта способно обрабатывать чего-то много простого Как вариант физические частицы из которых можно собрать например воду с этим с лёгкостью справляется технология Гара доступная One Engine 5 в итоге что можно сказать Глядя на все эти технологии можно точно оцифровать объекты с помощью 3D сканирования полученный объём точек превратить в вок уже практикуется а затем наверх наложить освещение в виде трассировки осталось дождаться пока подходящее железо подвезут А вы подписывайтесь на kstars вступайте в наше ged сообщество это Telegram или discord и смотрите мои ролики где я разбираю Game Dev во всех подробностях [музыка] He
2024-01-06 19:32