Unreal EngineФорумОбщее

Гайды, что бы не потерять

Страницы: 1 2 Следующая »
#0
22:10, 26 апр 2024
+ Показать

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

https://shaderbits.com/blog/ue4-volumetric-fog-techniques

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#1
22:10, 26 апр 2024

Как формируются .generated.h и .gen.cpp.

Как подставляются макросы, кои являются основой для работы Рефлексии.

Как UHT генерирует эти файлы, откуда берутся модули, пакеты, файлы в них.

Какие зависимости, классы и структуры позволяют рефлексии работать.

Немного затронем виртуальную машину.

https://habr.com/ru/articles/690662/

#2
0:24, 27 апр 2024

резерв #2

A Deep Dive into Nanite Virtualized Geometry

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

#3
8:09, 27 апр 2024

Не ожидал тут свои ролики увидеть. Как говорится - пустячок, а приятно.

#4
13:41, 27 апр 2024

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

#5
11:23, 3 мая 2024

Официальный новый видос по нанитам

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры

Другой

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры


18 байт на один импортированный треугольник https://youtu.be/TMorJX3Nj6U?si=MAjh0_Vuf3cvJw00&t=8286
2:18
Процедурных мешей под наниты(или процедурных нанитов под процедурные меши) вероятно не будет никогда, потому что он не знает как это сделать.

#6
12:43, 3 мая 2024

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

#7
14:51, 3 мая 2024

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

#8
17:15, 3 мая 2024

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

#9
19:25, 3 мая 2024

Blueprint
> Вон есть наниты с виртуальными текстурами
Я это фашистское зло отключил. Долго мучился с багами из-за которых проект вылетает через 2-5 минут игры. Все перепробовал, помогло только отключение виртуальных текстур в проекте, как итог теперь все стабильно и видеопамять работает нормально и текстурный пул отлично функционирует и люмен отличный. Или плагин воды с ними неправильно работает или погоды, так и не понял. Пробовал в разных версиях и разных компах. Либо вылеты либо забивают видеопамять либо ошибки в сторонних материалах.
Наниты и виртуальные текстуры новые технологии которые требуют DX12, и они криво работают с уже готовыми ассетами которых в маркете дофига. То есть при всем желании их нереально внедрить в проект в данный момент. Захожу в модель, включаю галочку наниты (бац и вылет) или ошибка в материале.


Blueprint
> Оптимизировать нужно уже после того как уровень собран и ничего не изменится. Оптимизировать отдельные ассеты (текстуры, модели) бессмысленно.
Именно. В проекте много чего может поменяться, в том числе нужно будет опять импортировать свежую версию ассета например которая перезапишет изменения.

Blueprint
> Поэтому эпики не дали возможность в реалтайме регулировать размер текстур - нужно использовать стриминг и VT.
Я все таки надеюсь что какой то механизм динамически менять текстуры есть вроде текстурных групп и их max load bias. Иначе непонятно как в настройках переключаться между 4K текстурами для RTX 4090 и 1K для gtx 1080.

#10
19:43, 3 мая 2024

Blueprint
Ролик 14 минут, выкиньте из него время на объяснение останется от силы минуты 3, где вы тут 40 нашли, не представляю.

#11
19:54, 3 мая 2024

manking
гонял нанит и тесселяцию в 5.4 в хвост и гриву ни каких вылетов, мб повезло.

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

Что касается разрешения текстур. Есть варианты делать текстуры разного разрешение и в логике материала их указывать разные, для разных настроек качества.
Альтернатива сделать свою функцию расчёта миплевела и ограничивать максимальный миплевел.
Я делал работает, но тесты пока странные всё равно вылезает сообщение и переполнение пула текстур, что странно.

#12
21:32, 3 мая 2024

Kemanorel
> гонял нанит и тесселяцию в 5.4 в хвост и гриву ни каких вылетов, мб повезло.
Тут проблемы с плагинами и ассетами. Много классных ассетов созданы с 2016 по 2021 годы и вот у них там с материалами, лодами и еще много c чем проблемы, предупреждения, ошибки выводятся.

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


Kemanorel
> Что касается разрешения текстур. Есть варианты делать текстуры разного разрешение и в логике материала их указывать разные, для разных настроек качества.
Не вариант для инди. Допустим в 1 ассете может быть 5 материалов, таких ассетов 100 штук. 500 сложных программируемых материалов с 1000-2000 текстур.


Kemanorel
> Альтернатива сделать свою функцию расчёта миплевела и ограничивать максимальный миплевел.
> Я делал работает, но тесты пока странные всё равно вылезает сообщение и переполнение пула текстур, что странно.
А это в какую сторону копать? Нету видео или материалов? Одна из немногих проблем которые пока не могу решить.
Пришлось 8K,4K текстуры ужимать до 2K или даже 1K, чтобы на моей RTX 3080 с 10GB уровень влез.
Но в душе тяжело... Ведь есть RTX 4090, будет RTX 5090-6090, там проблем с видеопамятью не будет, там нет проблем 4K текстуры рендерить, а я в текстурах уже ограничил max size. Хотелось бы иметь переключатель качества текстур в меню.

#13
22:04, 3 мая 2024

manking
Никаких видео про расчёт миплевела в свое время не находил, в итоге написал свою функцию она не сложная. А потом выяснилось что функция есть в материалах от разработчиков ComupeMipLevel правда с ошибкой. Можете поэкспериментировать. Само собой в текстурных семплерах включать MipLevel (absolute,0 is full resolution).
Собственно у меня и цель то была что бы при разных настройках графики ограничить загрузку 0 самого толстого миплевела. И хотя функция работала у меня действительно не использовался 0 мип но  всё равно выдавало сообщение о переполнении пула текстур, что странно.

#14
22:30, 3 мая 2024

Получается ComputeMipLevel рассчитает какой mip level выставить конкретной текстуре(имея текстуру и размеры ее на экране)?

А где можно менять этот mip level?
Только делая параметр в инстансе материала для каждой текстуры и затем меняя его в material instance dynamic?

Вот есть актор, у актора есть static mesh, skeletal mesh и у них много разных материалов с текстурами. Я могу как то получить все текстуры актора и для них выставить mip level принудительно пройдясь по каждой текстуре (то есть избежав изменения исходных блюпринтов и материалов в этом акторе из ассета)?

Страницы: 1 2 Следующая »
Unreal EngineФорумОбщее

Тема в архиве.