Render.ru

real time зеркало

^_^

Знаток
Рейтинг
52
#1
Как сделать риал тайм материал зеркала?
в marmoset toolbag например можно сделать материал (100% specular и 100% glossiness) и получиться зеркало, которое отражает окружение, но не отражает объекты.

Так в какой проге можно это сделать и как? именно real time
 

Ole-Ze

Активный участник
Рейтинг
18
#2
не знаю подойдёт ли такое для мармозет - но во общем можно попробовать скопировать зеркальную копию всей сцены за плоскость зеркала, а зеркало сделать не зеркальным а просто прозрачным, закрыть зеркальную копию сцены стенкой, а на месте зеркала сделать отверстие по форме самого зеркала. Тогда эта копия и будет казаться отражением :)
Главное чтобы копия сцены была на таком же расстоянии от зеркала как и оригинал
 

^_^

Знаток
Рейтинг
52
#3
Если я правильно понял, то это будет картина, на которой изображена фотография комнаты. Такой вариант ещё хуже...
 

Ole-Ze

Активный участник
Рейтинг
18
#4
Если я правильно понял, то это будет картина, на которой изображена фотография комнаты. Такой вариант ещё хуже...
ничего понимать не надо - просто попробуйте)))
там не нужно никаких фотографий - нужна точная зеркальная копия всей сцены в 3д по другую сторону от плоскости зеркала - то есть в "зазеркалье". Такое "отражение" будет вести себя точно так же как настоящее отражение - будет показывать те же объекты, которые отражало бы настоящее отражение в зависимости от ракурса.
Таким способом пользуются в геймдеве часто - лично я такое видел даже в демо ролике Unreal engine4- там отражение в полу было заменено зеркальной копией помещения под прозрачным полом - сделано так потому, что это ещё и позволяет не тратить ресурсы на просчёт отражений.
Так что с простыми зеркалами (не выгнутыми) это точно прокатит.
Вот - я прикрепляю простую сцену, которую делал когда-то для демонстрации этого способа. Просто покрутите сцену во вьюпорте - и всё поймёте. Все материалы и рендер стандартные
RefTest_screen01.png
 

Вложения

Симпатии: ^_^

^_^

Знаток
Рейтинг
52
#5
ааааааааааааааааааааа, я всё таки тогда не правильно понял...

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

Когда создавал тему я всё таки хотел именно материал, но теперь понимаю что в играх многое делается не по настоящему))
 

HunterWolf

Знаток
Рейтинг
42
#6
Вопрос по Маросету
Как сделать риал тайм материал зеркала?
в marmoset toolbag например можно сделать материал (100% specular и 100% glossiness) и получиться зеркало, которое отражает окружение, но не отражает объекты.
У тебя должен не стоять вопрос не как это сделать, а где это можно сделать, ну в синьке можно динамику отражать во вирее, а оно тебе надо с их материалами и настройками рендера, не все игры имеет возможность динамического отражения и тут уже не свойства как бы мата получается а возможность движка, есть например кто просто тени отражает динамически или только небо и окружения но не персонажей и т.д
 

Ole-Ze

Активный участник
Рейтинг
18
#7
ааааааааааааааааааааа, я всё таки тогда не правильно понял...

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

Когда создавал тему я всё таки хотел именно материал, но теперь понимаю что в играх многое делается не по настоящему))
ну тут трудно сказать во всех ли играх это используется - например в Duke Nukem - старом уже были зеркала с самых древних времён, и каким образом они сделаны там я не знаю)))
но в общем-то этот метод с копированием более универсальный так как не привязан к особенностям шейдеров конкретного движка, хотя с другой стороны поликов как бы больше выходит - но ещё с другой стороны зато не надо просчитывать их отражение...
так что если удастся отзеркалить анимацию во всех анимированых объектах - то вполне всё прокатит, ну и со светом нужно учесть проблему- так чтобы копии светильников не освещали не свою половину геометрии за плоскостью зеркала - ну это можно просто плоскостью разделить.
 
Сверху