SSAO не заменяет запечённое AO, т.к. в запечённом AO обозначаются запечённые в нормальку детали, а SSAO работает на крупную геометрию. Эти эффекты можно и нужно совмещать на экране, не боясь дополнительных затенений.
Запекать AO в диффуз лучше не надо, будет просто некрасиво. Но можно объединить RGB каналы цвета альбедо с A каналом затенения AO в одну текстуру. Если вы так паритесь о видеопамяти, то вперёд. Уверен, что для этого имеются настройки импорта, когда в альфу можно положить какую-то другую текстуру, либо есть программы с таким функционалом. Я пока не разбирался в этом
Но! Советую не париться. 3 ли выборки из текстуры, 4 ли или 5 - для производительности совсем не важно. Всякие размытия, которые кладутся на экран, делают по 15-100 выборок в шейдере, по сравнению с этим любые усложнения шейдеров персонажей - ерунда, особенно учитывая, что на экране они занимают маленькую часть. О видеопамяти тоже не стоит париться, ведь персонажей не много, а значит и текстур у них не много. Если хотите возразить, приведите примеры графиков профайлера, где от объединения 5 текстур в 3 у вас вырастит ФПС хотя бы на один кадр
Это называется детализированные текстуры, когда добавляется дополнительная карта нормалей или дополнительная маска более высокой детализации, на камнях например в абсолютно любой игре, чтобы вблизи они не выглядели мыльно. Но на персонажах/оружии и прочих подобных пропсах в AO запечено затенение мелких деталей, которые соответственно запечены в карту нормалей. Разница в картинке незначительна на самом деле, поэтому стоит ли с этим париться, вопрос.
innuendo
Сжатие есть всегда. Плюс я имел ввиду, что бы все 3 канала не занимали память, а только один. А по размеру текстур это нужно просто смотреть в движке ассет и уменьшать текстуру до того момента, пока не станет сильно заметно снижение качества от необходимого.
Flakky
> Сжатие есть всегда.
на gpu? какой формат юзаешь для одноканальных ?
не надо сжимать - артефакты же
еще и какие! в баттлфилде 3 (игра 2011 года) такое видел - сразу хочется разрабам по рукам надавать)
Вообще сейчас сет идет одинакового разрешения. Нет смысла извращаться с ними. Уменьшать в 4 раза, а потом еще и терять качество на DXT\BC сжатии - зачем?
Ну вот к примеру есть сет 2к текстур для Анрила (альбедо, нормаль и микс). Альбедо уменьшишь - получишь банальное мыло. Нормали уменьшишь - блочные артефакты. Микс (АО+Рафнесс+Металл) уменьшишь - блочные артефакты, на карте, которая по сути за освещение отвечает.
Для этого достаточно сделать настройку качества как в COD на разные текстурные группы.
Yukio
Это все зависит. Мы всегда делали раф/метал чуть меньше, чем нормал и диффуз, потому что качество никак не страдает, а экономит очень много.
Кстати, вот тут под спойлером "Оптимизация ассетов" я приводил пример этому.
http://uengine.ru/forum/viewtopic.php?f=2&t=2170
Но опять же, тут все зависит от пайпа конкретной студии. Но делать, скажем, Раф/Метал в 2к, когда в 1к тоже самое по качеству, я не вижу смысла.
А вглядываться в каждый тексель игроки не будут. Точнее как.. Тут важнее сделать под тех, кому важнее вес проекта и оптимизация, а не под тех, кто вглядывается в каждый тексель. Очевидно, что первых 99% аудитории.
И да, вы говорите про сжатие в анриале.. А то, на свете больше движков нет? :)
так проще нормалку в DXT1, а потом через (х*2)-1. Это даст больший выигрыш и по качеству не сильно ударит.
вы в своем примере пишите такую фразу: "запомните, уменьшить можно всегда, а вот увеличить нет". Но для этого не нужно пропс типа стула делать с рафнессом 4к, а потом уменьшать до 256. В видовом окне Анрила рафнесс на стуле выглядит фигово. Там нет явно выраженных градиентных переходов\загрязнений. Вы можете там раффнесс просто константой накрутить, вообще не используя текстуру. Раффнес хорошо различим только в Скетче, где явно текстура поболее. Игры-играми, а говорить, что при уменьшении разрешение текстуры в 256 раз "разница слегка заметна" - это как бы не работает. Интересно, а если я 1024 рафнесс уменьшу в 256 раз (до 4 пикселей) то это будет норм? или начинать константу крутить?)
При чем здесь вес проекта, если человек хочет сделать игру с 3мя комнатами или примитивные гонки? Или ему важнее игру "сделать под тех\не под тех"? Александр, так вы оказывается - толерантный разработчик! А я то думал.... а я то думал, что игрокам важнее геймплей и сеттинг.... (плачущая рожица)
Mount and Blade Warband любят не за то, что он весит 500мб, а за возможности, масштаб и геймплей.
MK 11 не смотря на 100 гб веса любят за графоний, эффекты и механику. где тут 99%? это все относительно.
А мы про Анрил говорим в форуме по Анрилу )))
pildwell
Чем проще, тем лучше. Их не особо волнует что и как делать. Всеравно асеты черновые. Их потом руками переделывают. Покупают же топологию и лоуполи. А текстуры уже рисуют свои. Там еще топология может быть плохая, ломаная или рюкзак к спине прилип.
pildwell
В рамках PBR пайплайна АО никогда не запекается в диффуз.
Я не смог вспомнить один конкретный проект где этим грешили. Но помню как странно это выглядело. Издалека (~10 метров) +/- нормально, ~5 метров, ты уже понимаешь что что-то не так, вблизи и на прямом свете это выглядит как грязь на модели. Плохо, не реалистично.
Для стилизации оно может зайти, для реализма нет.
Yukio
> в Анриле одноканал (R8) хранится в несжатом состоянии
там сжимается RLE на диске но не в памяти gpu
> Альбедо уменьшишь - получишь банальное мыло. Нормали уменьшишь - блочные
> артефакты.
классика, это нормали ATN/BC5 в два раза больше альбедо
Yukio
> так проще нормалку в DXT1, а потом через (х*2)-1.
зачем когда есть ATN/BC5