Оживляю игровые иллюстрации нейросетями!

После моего последнего поста, где я показывал свой опыт использования Stable Diffusion для получения "контролируемого" результата, я решил следующим этапом в полученные иллюстрации добавить немного динамики. И вот что у меня вышло (есть видео).

Оживляю игровые иллюстрации нейросетями!

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

В предыдущий раз с помощью нейросети Stable Diffusion я генерировал практически game-ready сегменты пещер, из которых вполне можно было собрать что то красивое и играбельное. После общения на DTF, я понял, что людям в принципе понравилось то, что получилось, но народу хотелось бы больше "Динамики". Задача была довольно интересной, но как можно превратить по факту 2д картинку во что то презентационное? Спустя время я понял что можно сделать.

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

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

Картинка слева нарисованная Нейросетью по "ТЗ", следующая картинка (Справа) - это карта глубины, полученная уже с помощью другой нейросетью.
Картинка слева нарисованная Нейросетью по "ТЗ", следующая картинка (Справа) - это карта глубины, полученная уже с помощью другой нейросетью.

Раз теперь мы имеем карту глубины, то теперь в теории можем восстановить простенькую 3д сцену, где уже можем что то делать. Магии не существует, не стоит ожидать что то прорывного, мы не сможем ходить по ней и уж тем более она не будет динамически дорисовываться. Это просто заготовка под более сложные эффекты для все той же 2д картинки. Записал для вас пару роликов где уже наше кастомное освещение взаимодействует с иллюстрацией. Запись вел из превью Blender-а, т.к. мне жутко лень делать рендер анимации) Там оказалось проще всего по-быстрому накинуть сетап и никакого программирования!.

Демонстрация взаимодействия освещения с 2д иллюстрацией (Пример 1).
Демонстрация взаимодействия освещения с 2д иллюстрацией (Пример 2).

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

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

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

45
9 комментариев

Охереть, результат хорош

7
Ответить

Очуметь! Показывай исчо!

4
Ответить

А как так в Blender'e можно карту глубины использовать? Что за сетап?

Ответить

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

1
Ответить

Комментарий недоступен

Ответить

Такие уже есть, гугл разрабатывает, например. Но пока, насколько знаю, всё только за закрытыми дверями гугла и других компаний занимающихся этим. Обзор последних ии от гугл: https://www.youtube.com/watch?v=H-pTZf1zsa8

Ответить

Демо three.js вы про вот тут
https://threejs.org/examples/#webxr_vr_panorama_depth

Ответить