Шутишь, для этого сейчас надо 380 миллиардов оперативы и стоядерный процессор.
Это просто единственное зеркало на всю игру, которое находится в отдельном помещении за загрузочным экраном.
не, есть еще разбитые точно, но там отражений нет
это просто копия комнаты 1 в 1 в которой точно такая же модель персонажа движется зеркально
а какая разница для пользователя если выглядит хорошо и работает на слабом железе без лучиков?
никакой, но это работает только если в кадре может появиться только один персонаж а все остальные части сцены прибиты гвоздями и не взамодействуют по физике
Так сейчас в играх и так все прибито гвоздями. А появляться там может не только персонаж - непись тоже "отражается", только ты поворачиваешься чтоб его убить, а второй просто пропадает из комнаты.
Что мешает отзеркалить остальных персонажей?
Железо
Железо? Типа... хочешь сказать, что его впритык сейчас используют? Ну так его и раньше впритык использовали, но порой еще и оставалось место, что бы флексануть разок другой зеркалами.
Лютое количество возможных взаимдействий которые надо скриптовать руками. Если на сцене 10 интерактивных элементов то количество взаимодействий попарно
C(k,n)=n!/(n−k)!⋅k!=90
C(k,n)=n!/(n−k)!⋅k!=90
Чего? Почему нельзя просто отзеркалить все происходящее в комнате, просто копируя содержимое одной комнаты в зеркальную? Зачем такие сложности городить?
Можно конечно. Еще и делается это очень просто - (1) второй отрисовкой (о боже, вместо 5 персонажей будет рисоваться аж 10!!), (2) сменой координаты объекта относительно плоскости зеркала и (3) умножением scale-матрицы на отрицательный вектор нормали зеркала. Это и сделать быстро, и по производительности очень дешево.
> Чего? Почему нельзя просто отзеркалить все происходящее в комнате
Просто отзеркалить это только для людей, которые не понимают как рисуется кадр.
Просто отзеркалить это только для людей, которые не понимают как рисуется кадр.
Отзеркалить 1 модель означает создать новую камеру и новый render loop:
1) отрендерить depth pre-pass (если forward, forward+)
2) отрендерить g-buffer (если deffered)
3) отрендерить каскадные тени для всех источников света в комнате. Притом нужно помнить, что для создания теней нужно отрендерить всю комнату и другие объекты создающие тени на персонаже
4) просчитать класстерное освещение/отражения/постэффекты(самозатенение, подповерхностное рассеяние и т.д.), что бы он выглядел идентично в зеркале (а не ярче/темнее, с другими цветами/без теней и т.д.)
2) отрендерить g-buffer (если deffered)
3) отрендерить каскадные тени для всех источников света в комнате. Притом нужно помнить, что для создания теней нужно отрендерить всю комнату и другие объекты создающие тени на персонаже
4) просчитать класстерное освещение/отражения/постэффекты(самозатенение, подповерхностное рассеяние и т.д.), что бы он выглядел идентично в зеркале (а не ярче/темнее, с другими цветами/без теней и т.д.)
Мир геймдева простой только в 2000 годах, когда буквально нихуя ничего не было, кроме освещения ламберта.
>модель персонажа движется зеркально
Звучит почти как описание зеркала в реальной жизни)))
Вообще, это не ММО чтобы там резко появились другие персонажи. А если по сюжету сзади кто то должен напасть или рядом стоит напарник героя, то технология точно такая же.
Звучит почти как описание зеркала в реальной жизни)))
Вообще, это не ММО чтобы там резко появились другие персонажи. А если по сюжету сзади кто то должен напасть или рядом стоит напарник героя, то технология точно такая же.
Насчёт физики не факт.
Я без понятия по какой технологии были сделаны зеркала в ремастере Ghostbusters: The Video Game, но там в одном месте помню было огромное количество зеркал и весь физон и разрушения (которые даже по нынешним меркам впечатляют) отрабатывались в отражениях.
Да и вообще по моему много было игр, где физические предметы отражалась с переменным успехом.
Я без понятия по какой технологии были сделаны зеркала в ремастере Ghostbusters: The Video Game, но там в одном месте помню было огромное количество зеркал и весь физон и разрушения (которые даже по нынешним меркам впечатляют) отрабатывались в отражениях.
Да и вообще по моему много было игр, где физические предметы отражалась с переменным успехом.
о да, в своё время просто охуел от того, какая разрушаемость и детализация в игре 2009-го, мать его, года
Ну не, это не настоящие зеркала, а тупо cube reflect поверхности или как их там. короче, они всегда "отражают" один и тот же статичный куб изнутри.
Ну, то есть это обычное зеркало из видео игр.
Игра 2009го года. Естественно никакого рейтрейсинга там нет, ты о чем вообще.
Игра 2009го года. Естественно никакого рейтрейсинга там нет, ты о чем вообще.
прибито гвоздями...
Доброе утро. В 2024 году, все объекты и части сцены прибиты гвоздями, посажены на суперклей и замотаны в пять слоёв изоленты, где посередине еще слой листа подорожника вперемешку с куском кевлара.
Никогда в жизни я не поверю, что сейчас нельзя сделать более-менее адекватные зеркала без RTX, где будут отражаться несколько персонажей делающих свои постановочные штуки.
З.Ы. Наверное, у этого есть объяснение, аналогичное объяснению уродского эффекта огня в современных играх...
Доброе утро. В 2024 году, все объекты и части сцены прибиты гвоздями, посажены на суперклей и замотаны в пять слоёв изоленты, где посередине еще слой листа подорожника вперемешку с куском кевлара.
Никогда в жизни я не поверю, что сейчас нельзя сделать более-менее адекватные зеркала без RTX, где будут отражаться несколько персонажей делающих свои постановочные штуки.
З.Ы. Наверное, у этого есть объяснение, аналогичное объяснению уродского эффекта огня в современных играх...
Объяснение есть: это надо документацию читать и учиться кодить, а сейчас - хуяк-хуяк из купленных ассетов и в продакшен.
Что не удивительно(и грустно), смотря на то, как плохо иногда в новых играх имплементируют RTX тот же.
Ну вот нормальные отражения только с такой графикой и возможны. Полное отражение в зеркале создаётся второй камерой, считай в 2 раза меньше фпс. Маловероятно что в современной игре ты захочешь фпс в 2 раза меньше, ради сраного зеркала.
А если зеркал больше 1? Захочешь играть в 10 фпс, но с отражениями? Маловероятно.
А если зеркал больше 1? Захочешь играть в 10 фпс, но с отражениями? Маловероятно.
Сурьёзно?
Если мне не изменят память, то в дюке было 2 комнаты разделенные стеклом, в одной персонаж двигался нормально, а в другой игра отзеркаливала его движения
Так подавляющая часть зеркал, в которых отображается герой, в играх и работает.
Ооо, вспоминаю Поместье Граута из Вампирского Маскарада, и местные "зеркала".
Есть способ проще. Как геймдев, информирую. Вешается дополнительная камера на стену или за стену. И результат выводится на зеркало как на монитор. И дублировать модели и нагружать систему нет необходимости. Хотя в любом случае использование "зеркал" в играх так или иначе - это доп. нагрузка. Но и интересный челендж с точки зрения разработки.
ну, это ты сейчас в каком-то движке можешь "повесить камеру" и вывести рендер в текстуру, которую привязать к "зеркалу". Во временя Дюка это было несколько сложнее.
Ну и если смотреть на это на более низком уровне - рендер комнаты с другой позиции камеры, или рендер отзеркаленной копии комнаты - это одно и тоже. Но во втором случае нам не нужно это отрисовывать на текстуру, а потом еще и ее отобржать (учти, что разрешения текстур были весьма скромными, и в зеркале бы сильно ухудшалась детализация). И все это на софтварном движке в 95-м году.
Ну и если смотреть на это на более низком уровне - рендер комнаты с другой позиции камеры, или рендер отзеркаленной копии комнаты - это одно и тоже. Но во втором случае нам не нужно это отрисовывать на текстуру, а потом еще и ее отобржать (учти, что разрешения текстур были весьма скромными, и в зеркале бы сильно ухудшалась детализация). И все это на софтварном движке в 95-м году.
Тем не менее, в том же голдсорсе это через сторонние либы таки делали, а он только на 3 года старше
ну здрасте, goldsrc, халфа, цс - это уже эпоха 3д-ускорителей, DirectX, OpenGL и вот это всё. Сравнивать с DOS-эпохой и Дюком это не стоит.
Тоже геймдев, и как геймдев информирую. Сейчас легко хитрить во всём. Разработчики зачастую этого просто не хотят и не знают как и делают в лоб по принципу "Чтобы как в реальности". Реальная физика конечно лучше эмитации, но зачем мне отражение клочка бумаги в капле воды и RTX 4090 для минималок. А так оно, потому что прутся в геймдев ради денег. И я понимаю, хочется просто зарабатывать деньги. Но ради этого идти в геймдев, это как продавать картины копируя другие работы - На старте будет хороший доход, но со временем он будет всё ниже и ниже, потому что таких же как ты будет всё больше и больше, и вот вы продаёте копии Сальвадора Дали за 30 рублей (Про Дали утрирую, но суть ясна).
Не осуждаю таких разработчиков, но грустно работать с теми, кто играми не интересуется
Не осуждаю таких разработчиков, но грустно работать с теми, кто играми не интересуется
Я от того уже начал свою игру делать. Просто душу отвести. И надеюсь когда-нибудь сделать такую игру, чтобы спокойно уйти с работы и делать чисто свои игры или обновления для неё. Надоели уже эти разработчики, которые тебе за архитектуру расскажут всё от и до, становятся при этом мидлами и сеньёрами, но банальный рикошет снаряда от стены сделать не могут
там же элементарная геометрия
Более того, игры разрабатывают люди, которые не играют в игры.
И это просто пиздец. Это как писать книгу не умея читать. Такие вещи зачастую банальные проходится объяснять
Но то, что ты видишь в зеркале, обычно зависит от того, под каким углом ты смотришь на зеркало. Чтобы вариант з второй камерой работал, надо корректировать позицию камеры зеркала в зависимости от позиции основной камеры. Плюс надо продумать как накладать маску на то, что видит вторая камера, чтобы зеркало не отображало тупо всю комнату.
Позиция камеры для зеркала это отзеркаленные по плоскости зеркала координаты основной камеры. FOV камеры уменьшен чтобы видеть только сквозь зеркало. Стена на которой зеркало для зеркальной камеры, понятно, не рендерится. Рендер идёт в текстуру, она отражается по горизонтали и выводится на модель зеркала. Плюс перед рендером можно не выводить объекты, которые не должны отражаться, типа всяких вампиров или наоборот, добавлять, типа призраков из хорроров. Итого в худьшем случае когда игрок смотрит в зеркало с середины комнаты, чтобы видеть и чать комнаты где находится и часть комнаты в отражении, мы за кадр для вывода на экран вынуждены отрендерить видеокартой 2 кадра. Несколько зеркал в одной плоскости можно рендерить за 1 кадр. Много зеркал повёрнутых на разный угол и видимых одновременно придётся рендерить каждое последовательно и вот это уже тяжеловато, если реально рендерить всю комнату.
Да и вроде он ещё реагировал на своё отражение: "Как же я хорош" или типа того.
И это работало вообще без 3Д ускорителя, чисто на процессоре, которые сейчас даже для кофеварки слабоваты.
Так не жалей арсенал, костюм заряжен по полной,
Мочи в сортирах врагов и грозно бей зеркала;
Когда наступит финал, накатят мирные волны
Тебя избавив в момент от электрических лат,
Ты станешь суперзвездой, расставив крепкие руки,
В свои объятья приняв прекраснокудрую Эль,
И усмехнётся твой друг, хороший парень Дюк Нюкем,
Обняв толпу стриптизёрш под звон мелодии «Belle».
Мочи в сортирах врагов и грозно бей зеркала;
Когда наступит финал, накатят мирные волны
Тебя избавив в момент от электрических лат,
Ты станешь суперзвездой, расставив крепкие руки,
В свои объятья приняв прекраснокудрую Эль,
И усмехнётся твой друг, хороший парень Дюк Нюкем,
Обняв толпу стриптизёрш под звон мелодии «Belle».
Угу. При этом в зеркалах в Дюке замечательно отражался не только сам Дюк, но и враги.
В тех же Unreal Tournament и Quake были норм зеркала, хз, когда технологии были забыты
Когда в персонажей стали пихать овер 100500 полигонов
В Кваке были зеркала кроме первого уровня с Краш в третьей части? (там как раз это был "портал" с зеркальной комнатой, емнип)
Да, например на последнем уровне с Xaero.
Пол на верхней платформе - зеркало.
Это было реализовано через текстуру и камеру-проектор.
Пол на верхней платформе - зеркало.
Это было реализовано через текстуру и камеру-проектор.
Trust no one...
Мне кажется он не хочет с тобой разговаривать.
Игра действительно класная. её часто продают в бандле 3 мафии.
оптимизация в игре просто шикарная. гринда в игре нет . так как сюжетно игра сделана так же как и предыдущие игры. только сюжет никаких побочек. а если захотите собрать все колекции то они будут отмечены на карте.
как по мне добавь в игру больше социальщины не сюжетной было бы просто шикарно.
оптимизация в игре просто шикарная. гринда в игре нет . так как сюжетно игра сделана так же как и предыдущие игры. только сюжет никаких побочек. а если захотите собрать все колекции то они будут отмечены на карте.
как по мне добавь в игру больше социальщины не сюжетной было бы просто шикарно.
Настолько крутая, что можно убиться об кусты в машине
Дожили... люди восхищаются отражению в зеркале в игре...
А чем восхищаться? Физически достоверным отражением света на сфере? (отсылка на Нила Стивенсона, "Падение или Доддж в аду")
Не то чтобы восхищаются.
Просто забавно видеть как все дрочат на нахуй никому не нужные рей трейсинги, год рей и тд, которые тебе картинку не сильно меняют, но зеркало сделать не могут. Притом что на более старых технологиях всё работает.
Причём самый банальный метод, отзеркаливания комнаты, всё ещё самый лучший вариант в плане эффекта и производительности.
Это как одно время все дрочили на нвидия физикс, но до сих пор пользуются хавоком, потому что нвидия физикс это говно ебаное.
Просто забавно видеть как все дрочат на нахуй никому не нужные рей трейсинги, год рей и тд, которые тебе картинку не сильно меняют, но зеркало сделать не могут. Притом что на более старых технологиях всё работает.
Причём самый банальный метод, отзеркаливания комнаты, всё ещё самый лучший вариант в плане эффекта и производительности.
Это как одно время все дрочили на нвидия физикс, но до сих пор пользуются хавоком, потому что нвидия физикс это говно ебаное.
Потому что физика это АД
>все дрочат на нахуй никому не нужные
Забавная фраза, если вдуматься :D
А так -- мне нужен рейтрейсинг. Просто игр, где его реализовали бы хорошо, маловато.
Но в той же Control я нереально кайфовал от отражений. Там даже в сраных часах на стене вся комната отражается. То есть, рейтрейсингом сделать отражение в зеркале -- проблем никаких нету. Но тут надо либо изначально делать игру *только* под рейтрейсинг, чтобы учитывая это сделать соответствующие зеркала, и не распыляться на другие методы, либо делать и так, и так (и тратить время на это), либо забить на людей без рейтрейсинга, как сделали Remedy в Alan Wake 2, где зеркала работают, но только с лучами, а без лучей в зеркале просто мыльная текстурка. И это ещё надо не забывать, что в играх от первого лица, например, мы часто играем за летающее облачко с руками, и отражать такое рейтрейсингом смысла нету.
Посмотри на Tiny Glade. Ребята софтварно реализовали GI на базе path-tracing'a, который выглядит сасно, и который не долбит железо как RTX/DXR из-за своей смешной архитектуры
Но и движок они сами пилили. На расте. Кто знает, тот сразу понял
Но и движок они сами пилили. На расте. Кто знает, тот сразу понял
>нвидия физикс это говно ебаное
просто они не умеют его готовить. Во второй алисе и второй мафии физикс был охуенно сделан
просто они не умеют его готовить. Во второй алисе и второй мафии физикс был охуенно сделан
> которые тебе картинку не сильно меняют, но зеркало сделать не могут. Притом что на более старых технологиях всё работает.
Потому что 99% людей не знают как это работает и строят свои "уникальные" выводы. На деле сделать отражение в игре 2000 года и 2024 года это сильно(!) разные вещи.
Скопирую свой предыдущий пост:
Отзеркалить 1 модель означает создать новую камеру и новый render loop:
1) отрендерить depth pre-pass (если forward, forward+)
2) отрендерить g-buffer (если deffered)
3) отрендерить каскадные тени для всех источников света в комнате. Притом
нужно помнить, что для создания теней нужно отрендерить всю комнату и
другие объекты создающие тени на персонаже
4) просчитать класстерное освещение/отражения/постэффекты(самозатенение,
подповерхностное рассеяние и т.д.), что бы он выглядел идентично в
зеркале (а не ярче/темнее, с другими цветами/без теней и т.д.)
2) отрендерить g-buffer (если deffered)
3) отрендерить каскадные тени для всех источников света в комнате. Притом
нужно помнить, что для создания теней нужно отрендерить всю комнату и
другие объекты создающие тени на персонаже
4) просчитать класстерное освещение/отражения/постэффекты(самозатенение,
подповерхностное рассеяние и т.д.), что бы он выглядел идентично в
зеркале (а не ярче/темнее, с другими цветами/без теней и т.д.)
Что бы сделать отражение в старой игре 2000 года (условно), тебе достаточно было отрендерить 1 персонажа, потому что там больше ничего не было. Это было быстро. Сейчас что бы отрендерить этого персонажа, требуется слишком дохуя ресурсов, в ААА играх это может стоить не меньше чем рейтрейсинг. Кому нахуй сдалось это зеркало, если есть куда потратить ресурсы видеокарты?
Последняя игра с зеркалами которую я помню это L.A Noir, которую я очень люблю. там одного сюжета хватает что бы игра запомнилась, но и с технической точки зрения она очень выделялась среди игр того времени.
Вспомнил недавнего робокопа, в ктором зеркала разбиты, лол
в Fahrenheit тоже отражения были вроде
Чтобы написать коммент, необходимо залогиниться
Отличный комментарий!