Страница 1 из 1

Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 18 авг 2016, 13:44
Zodjeks
Всем привет.
Меня интересует один вопрос.
Делаю я шутер от первого лица и рендерю оружие с руками с помощью второй камеры, чтобы оружие с руками не проходило сквозь объекты вблизи от нас.
Проблема в том, что на вторую камеру не рендерятся на оружие с руками тени от объектов. Если персонаж зайдет к примеру в пещеру, то его оружие и руки будут сиять как в полудне в поле при чистом небе.
Вроде слышал можно как - то это исправить путем шейдеров, но не знаю в какаю сторону копать.
Пожалуйста не предлагать отодвигание оружия при подходе к стене или сделать оружие с руками очень маленькое и приблизить их к камере и т. п. [-x
Использую Юнити 4.5.1 интересует решение проблемы для 4 -ой юнити.
Заранее спасибо.

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 18 авг 2016, 22:19
kripto289
Zodjeks писал(а):Всем привет.
Меня интересует один вопрос.
Делаю я шутер от первого лица и рендерю оружие с руками с помощью второй камеры, чтобы оружие с руками не проходило сквозь объекты вблизи от нас.
Проблема в том, что на вторую камеру не рендерятся на оружие с руками тени от объектов. Если персонаж зайдет к примеру в пещеру, то его оружие и руки будут сиять как в полудне в поле при чистом небе.
Вроде слышал можно как - то это исправить путем шейдеров, но не знаю в какаю сторону копать.
Пожалуйста не предлагать отодвигание оружия при подходе к стене или сделать оружие с руками очень маленькое и приблизить их к камере и т. п. [-x
Использую Юнити 4.5.1 интересует решение проблемы для 4 -ой юнити.
Заранее спасибо.

А что мешает делать скрипт, что бы персонаж поднимал оружие когда находится вплотную к стене, как сделано во всех текущих шутерах? Зачем этот убогий костыль?

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 19 авг 2016, 07:57
jetyb
Решений тут была куча, пошарьте тему.
Один из вариантов(если грамотно поднимать оружие вверх лень):
Рисовать оружие в последнюю очередь после всех объектов (см Queue).
Рисовать в два прохода, в первый просто пустой Pass с записью в Z буффер но без теста глубины (ZWrite On, ZTest Always)
Во второй - нормальная отрисовка поверх первого прохода с ZTest меньше равно.

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 19 авг 2016, 14:39
Woolf
Кстати, хороший вопрос.. Я тоже присоединюсь, только в более общем смысле.
Как заставить рендер в текстуру ренедрить с тенями и туманом?

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 19 авг 2016, 22:34
kripto289
Woolf писал(а):Кстати, хороший вопрос.. Я тоже присоединюсь, только в более общем смысле.
Как заставить рендер в текстуру ренедрить с тенями и туманом?

Проход теней можно получить в виде текстуры и передать в шейдер оружия. Так же как и буфер глубины главной камеры можно использовать для всех камер.
Правда я хз как записать позицию объектов. RGB цвет занят, а альфа канал не рендирится камерой (или я ошибаюсь?)
Имея на руках теневую карту + позицию объекта + буфер глубины, можно творить что угодно.

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 20 авг 2016, 13:28
jetyb
Как заставить рендер в текстуру ренедрить с тенями и туманом?

Вопрос - троллинг? Нормальная камера с рендером в текстуру отображает и тени и туман.
Наоборот приходится от затратных не нужных теней избавляться.

Правда я хз как записать позицию объектов.

Она и так записывается в текстуру глубины (доступ через свойство _CameraDepthTexture в шейдере постэффекта на камере). Стандартные постэффекты (Fog, SunShafts) этим во всю пользуются.

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 20 авг 2016, 19:25
kripto289
jetyb писал(а):
Как заставить рендер в текстуру ренедрить с тенями и туманом?

Вопрос - троллинг? Нормальная камера с рендером в текстуру отображает и тени и туман.
Наоборот приходится от затратных не нужных теней избавляться.

Правда я хз как записать позицию объектов.

Она и так записывается в текстуру глубины (доступ через свойство _CameraDepthTexture в шейдере постэффекта на камере). Стандартные постэффекты (Fog, SunShafts) этим во всю пользуются.

Я пока писал, почему-то подумал о постэффектах, хотя речь о шейдере для оружия, и позиция и так известна. Поэтому решил отредактировать пост, да форум завис :D

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 20 авг 2016, 23:03
Zodjeks
Всем спасибо за советы, шейдер допилил с другом и все норм, работает как надо. B-)

Re: Рендер теней на руки с оружием для шутера.

СообщениеДобавлено: 25 авг 2016, 13:09
bojlahg
Сегодня тоже столкнулся с данной проблемой, решил с помощью параметра Offset в шейдере для рук.

Offset -1, -10000000