Зеркала в старых играх делались просто, рисовалась зеркальная копия уровня и болванка игрока, так было в первом Дюкнюкине. Данный способ отлично работает особенно в маленьких помещениях, таких как сортиры.
Ну да, тратить ресурсы на отрисовку зеркальной копии целого уровня в наше графонистое время ради отражения в зеркале просто гениальный ход в плане оптимизации и затрат на разработку.
Сейчас отрисовать вторую комнату и персонажа намного затратнее, чаще просто делают картинку помещения в 360 и клеят на зеркало. Будет рейтрейсинг, может наконец перестанут зажимать лишние обороты производительности
>>Сейчас отрисовать вторую комнату и персонажа намного затратнее
Лолшто? Сейчас полингонами не удивить уже почти ни одну видеокарту, даже консольную. Видеокарты больше всего грузятся разрешением, сглаживанием, тенями. Т.е. то, что для отражения можно сделать в упрощенном виде, почти не потеряв производительности
>> Будет рейтрейсинг, может наконец перестанут зажимать лишние обороты производительности
Наоборот, надо намного лучше будет продумывать оптимизацию, т.к. рейтрейсинг в виду специфики своей работы требует больше ресурсов. Screen-cpace reflections, которые очень похожи на рейтрейсинг, имеют много артефактов, потому, что движок перестает рендерить объекты, не находящиеся в прямой видимости игрока, поэтому потеряв из виду объект теряется и его отражение в луже. А рейитрейсинг держит все объекты сцены на месте, поэтому и тени, и отражения намного более корректные, но платить за это приходится дикой просадкой ФПС.
ну давай, поспорь с тем, что сейчас зеркало сделать затратно по ресурсам, отрисовывая дважды все элементы и частицы на сцене. Теоретический материал для интересующихся:
Сейчас для рейтрейсинга делают аппаратное решение, а не только программное. А еще используется не чистый рейтрейсинг, он дополняет картинку (насколько мне известно). И рейтрейсить картинку только в зеркале не так уж плохо будет, особенно если оно занимает десятую часть экрана.
и да, когда я писал про лишние обороты производительности, то имел ввиду, что если они будут такие стекла делать и хвастаться рейтрейсингом, их любители графонита на пику насадят
Нынче же посложнее, когда идёт война за оптимизацию, и дорог каждый кадр в секунду. Заходишь ты такой в уборную, а там зеркало. И 28 fps, вырванные зубами из лап твоего Potato i5, превращаются в тыкву 10
Особенно комично это звучит на фоне того, как нынешние игори на утрамашинах еле-еле идут в 30фпс, которые дополнительно поджираются денувами и прочими имитациями защиты от читов
Сейчас у людей есть мощные машины, поэтому разработчики пренебрегают оптимизацией. Раньше же у людей были тостеры, и просто так неоптимизированный продукт выкатить в продажу нельзя было, ибо слишком уж всё явно и ущербно выглядело
Нашел, с чем сравнивать. Кукурузис называли неоптимизированным говном еще в год его выхода.
Если взять пять рандомных ААА-игр 2011 года и запустить их на топовых машинах 2011 года, то сомневаюсь, что из них большая часть будет выдавать 30фпс и ниже.
Зато в у меня нет сомнений в том, что нынешние ААА игры будут идти в 30фпс на нынешних топовых машинах.
Без сглаживания не лучше. Даже самые минимальные настройки при 4к не дают стабильные 144 кадра.
А вот в фулхд, на максималках уже 140-160 фпс. Но фулхд на 4к ущербно смотрится
Самое интересное, что первая игра серии имела просто потрясную оптимизацию и её влёгкую можно было запустить с приличным качеством картингки и ФПС даже на слабых машинах.
Шутишь, я запускал его на старом ведре, которое не дотягивало до минималок. Первый как раз был неплох в части оптимизации, а мемы пошли про третий, второй как-то тоже оптимизацией не выделялся.
Проверил это еще раз. (8800GT почти самая топовая видеокарта того года. Еще была 8800 Ultra). Даже на высоких настройках фпс падал ниже 30 (иногда 18 фпс).
В требованиях пишет VIDEO CARD: NVIDIA GeForce 6800 GT or greater; но я не нашел приличного чего-то про крайзис с этой видеокартой (разве что это, но видео слишком сжатое ) так что взял 7600 . Здесь 15-30 фпс (по словам автора видео).
У него все на средних кроме воды (высокие) и постобработки с обьемным освещением (низкие).
Я на Radeon 9600 256 mb гонял... Лагов почти не ощущал. Что-то я там утопил в минимум, остальное на средних, эффекты всякие левые, на скорости их всё равно было невидно. Проседания были только в гигансткой пещере с пришельцами.
Кризис на максималках, и на средних это разные игры. Видос на эту тему.
самое наглядное 7:40 и 19:30. К слову и сейчас смотрится не плохо. Некоторые вещи и по сей день в играх не встретишь.
Так это и есть хорошая оптимизация, когда меняя конфигурации ты можешь запустить с приличной графикой игру даже на ведре, а можешь загрузить по полной топовую модификацию и получить кинофильм со спецэффектами в реальном времени.
Собственно чувак в видео и говорит о хорошей оптимизации при том уровне графики, который они навернули.
Только вот производители игр на эту войну не явились. Да и зеркала можно сделать опционально, игроделы должны ориентироваться на системы разной мощности. Вот только никому заморачиваться не хочется, я вот RDR2 когда поставил, получил какие то тормоза, и вылеты, но стоило включить DX11 вместо 12 по умолчанию, так сразу все пошло нормально. Фаркрай 5 у меня умудрялся жрать более 8гб видеопамяти, последний выглядит не лучше, а тоже ресурсы жрет как не в себя.
Еще не так давно финалку 15 решил пройти, а то как то мимо меня в свое время прошла. Ставлю, а получаю фризы, ну думаю, видать все приехали, комп уже не тащит, снижаю картинку, а лучше не становиться. Полез читать, а это норма, есть кем не пойми сделанные костыли, вроде помогают, но сам подход игроделов и издателей уже говорит о многом.
Я хз, у меня самого игра нормально шла, купил в январе. Но у многих с этого горело, особенно из-за того что какие-то (я хз, ими не пользовался) функции относящиеся к мульту отключили.
пардон, попутал. Помню, что изначально дх12 стоит, и там все плохо. Как переключил, сразу все проблемы пропали. Почему то казалось, что там не вулкан а дх11 был.
На вулкане все отлично, удивительно что по дефолту у кого то игра выставляет дх12..хз зачем он вообще там нужен, ибо ну все слишком плохо в сравнении с вулканом.
Мне в финалке помогло только масштабирование разрешения 75%. Все настройки на минималке. Получал более-менее стабильные 60фпс на фулл хд, но в некоторых локациях фпс падал до 14. Это все на i7-8750, gtx1066 и 16Гб рам.
Я на высоких играл (ну а че мелочится, если фризы даже на минимальных остаются), даже с травкой от нвидии. Хотя карта средняя если не сказать хуже RX580 OC. В открытом мире 50-60фпс. Но с фризами. Когда поставил выделение память под модели максимальное, фризы стали заметно реже, но длиннее доходя аж до 5-6 секунд. Самая жопа была в храме воды, максимум фризов минимум ФПС опускаясь да слайд шоу, но стоило его покинуть, и все прекрасно. Странная и кривая у них оптимизация.
Память тоже хавает странно, то может 6 гигов хавать долгое время, то потом на пустом месте за 10 прыгает с ходу.
Может конечно больше бы по экспериментировал, но игру забросил, по началу очень понравилась, музыка хорошая и мир своеобразный, но пиздец какое однообразие запарило. Такой халтуры я давно не видел. На подобии как парень дает квест принести камень, он дает квест ТРИ РАЗА, и все три раза нужно ехать в ебеня, что бы подобрать чертов камень. Да и геймплей такой же однотипный. Часов до 25 игры дошел, и дальше уже надоело.
На первом снимке иллюзия
делается зеркальная комната с другой стороны и копия персонажей, когда гг заходит в комнату, перс тоже там появляется и делает те же движения.
Делать настоящее зеркало очень ресурсозатратно, потому их не делают и "портят" зеркала, грязью или разбивают.
Есть куча технологий-костылей, как сделать отражение, но в основном они не отражают игроков или передвинутые предметы, изменения в комнате, и/или картинка в зеркале размылена и/или сильно сжата, чтобы не нагружать систему.
в мафии 3 (скрин выше) костыль сломался и зеркальная марионетка застыла.
С технологией RTX зеркала перестали быть костылями и можно рендерить отражение и свет и тени и предметы кинематографичную графику с 1000 мелкими деталями в реальном времени.
главное, чтобы разрабы не забивали всё оптимизировать.
В мафии 3 не костыль использовался, а текстурка предыдущего кадра, которая сильно отставала от происходящего на экране и поэтому глючила из-за быдлокодеров и быдлоразработчиков, которые делали эту шляпу под названием мафия 3
Ну так и делали бы камеру, которая рендерила картинку на текстуру зеркала. Кто-то возмущался что по ресурсам накладно, много объектов еще и на вторую камеру отрисовывать - так зеркала в играх стоят в основном в туалетах, что у вас за сортиры там, заполненные объектами которые машина не вывезет отрендерить дважды.
Современные движки не очень позволяют делать такое. Отложенный рендеринг приводит к тому, что рендернуть с другой камеры очень затратно, даже если это просто кусок комнаты. также из-за отложенного освещения перестал работать аппаратный мультисемплинг, только шейдерное мыло.
Но с другой стороны это никак не оправдывает линивое хуйло, которое не может вместо зеркала сделать дырку в стене и нарисовать с обратной стороны отраженную комнату. Вид через такую дыру ничем не будет отличаться от вида в зеркале. именно таким образом (и стенсилами) делали отражения в старых добрых играх
Это как сравнивать minecraft с resident evil 7. Разные жанры, разные компании, разные цены наверно. Японцы, особенно в jrpg, вообще графику делают простой (с технической точки зрения).
Крайне несогласен. 1й Prey был довольно интересным и удивительным шутаном, 2й Prey - классный иммерсив сим. У 2го изначально название было другим, что-то связанное с тифонами, это Беседка решила выпустить игру "под знакомым брендом". Фактически, это 2 разные игры с одинаковыми названиями.
Это не игра, а японский танцевальный автомат. QTE по не сколько минут, во время которых и заставки нормально не посмотришь и глаза потом болят. Лучше сразу сложность QTE на низкую ставить
Запустил поиграл. Ох уж эта избирательная память, помню игра понравилась, помню управление жестами мышками, помню игра атмосферная. А вот кривая камера, не удобное управление, и что это танцевальный автомат, не помню.
Ну, кстати, да, раньше почти все игры времён PS2 не испытывали никаких проблем с зеркальными отражениями и это было чем-то обыденным. Я в последние годы играю куда как реже, но когда в именитых гонках в зеркалах машин видишь какое-то говно вместо нормального отражения, это вызывает вопросы…
Я недавно нашел правдоподобное обьяснение этому. кидаю копипасту
Не рассказали про важный нюанс: почему в Duke 3d, Doom3 и других играх до 2010 года в играх появлялись нормальрые зеркала (с доп. прорисовкой или автоматическим дублированием комнаты - не важно). Тогда правил Forward Rendering, т.е. освещение считалось на самой модельке при непосредственной её отрисовке. Forward Rendering позволял делать в кадре малое количество динамических лампочек, т.к. каждую модель приходилсь рисовать по несколько раз, что грузило процессор. Но зато было возможно отрисовать эти модельки в зеркале второй раз честно и без костылей, индивидуально задавая параметры освещения.
Затем (начиная с ГТА4) вошёл в обиход Deffered Render, когда геометрия рисуется 1 раз в экранные буферы, а уже вторым проходом на эти картинки накладывается свет. Это позволило без нагрузки на процессор сделать в сцене сотни динамических лампочек, которые рисуются на этапе постпроцессинга одним проходом. И поскольку обычно при этом проходе используется тяжелая но красивая модель Phisycally Based Render, львиную часть времени кадра занимает именно этот пост-процессинг. То есть если нужно отрисовать комнату и отражение, недостаточно скопировать модельки. Надо накладывать два отдельных пост процессинга с разными настройками освещения, а это снижает ФПС почти в два раза. В ГТА5 это было решено понижением разрешения в зеркалах. А во всех остальных играх таких как Assasins Creed Unity или Mafia 3 в зеркало просто пихали кубическую карту, в первой игре замыливая её, а во второй запекая раз в 10 кадров (в итоге мы видим зависшего в зеркале персонажа). Просто потому что ну не получается наложить освещение 2 раза! Независимо от сложности сцены, ФПС сильно упадёт
На самом деле есть технические способы решения этой проблемы - либо отделять поверхность зеркала стенсил буфером, чтобы не все пиксели на экране обрабатывались два раза, либо добавить дополнительный буфер мировых координат и очень хитро поворачивать в отражении нормали, чтоб освещение нормально наложилось на отраженную сцену даже при одном проходе. Но для этого необходимо затачивать движок с самого начала и естественно многие на это просто забивают (перед самым выпуском игры не до этого). Можно также отрисовать отражение Forward Render'ом (это несложно, учитывая, что зеркала обычно внутри помещений, где мало источников света и геометрии). Но тогда отражение будет выглядеть по-другому, т.к. в Forward Render невозможны некоторые эффекты
Поэтому собственно сейчас в играх и нет нормальных зеркал. В Deffered PBR Render легче просто обрабатывать зеркало, как все остальные поверхности в кадре - с SSR и кубическими картами, замыливая их. Тогда как раньше было очень просто задавать индивидуальнын параметры освещения для каждой копии модели и расположить их за зеркалом под нужным углом.
Очень надеюсь, что рейтрейсинг всё-таки станет дешёвым, чтобы выкинуть наконец все эти костыли в виде кубических карт, SSR, SSAO и прочих SS... (и вообще эти две буквы напоминают о тяжком 41-м году).
Нормальный RT ещё ой как не близко. Приемлимый RT будет с новым поколением консолей, а вот что будет дальше.. Может новые трюки по сбережению ресурсов, может пойдут в бой сопроцессоры на видеокартах - кто знает?..
Спасибо за пасту, было полезно и интересно прочитать.
Отличный комментарий!