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

Шейдеры и все-все-все.

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

Сообщение Zodjeks 18 авг 2016, 13:44

Всем привет.
Меня интересует один вопрос.
Делаю я шутер от первого лица и рендерю оружие с руками с помощью второй камеры, чтобы оружие с руками не проходило сквозь объекты вблизи от нас.
Проблема в том, что на вторую камеру не рендерятся на оружие с руками тени от объектов. Если персонаж зайдет к примеру в пещеру, то его оружие и руки будут сиять как в полудне в поле при чистом небе.
Вроде слышал можно как - то это исправить путем шейдеров, но не знаю в какаю сторону копать.
Пожалуйста не предлагать отодвигание оружия при подходе к стене или сделать оружие с руками очень маленькое и приблизить их к камере и т. п. [-x
Использую Юнити 4.5.1 интересует решение проблемы для 4 -ой юнити.
Заранее спасибо.
The Underground Get out alive - computer game in the genre of first-person shooter with elements of survival horror.
Zodjeks
UNец
 
Сообщения: 33
Зарегистрирован: 19 апр 2015, 20:11

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

Сообщение kripto289 18 авг 2016, 22:19

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

А что мешает делать скрипт, что бы персонаж поднимал оружие когда находится вплотную к стене, как сделано во всех текущих шутерах? Зачем этот убогий костыль?
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт

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

Сообщение jetyb 19 авг 2016, 07:57

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

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

Сообщение Woolf 19 авг 2016, 14:39

Кстати, хороший вопрос.. Я тоже присоединюсь, только в более общем смысле.
Как заставить рендер в текстуру ренедрить с тенями и туманом?
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7179
Зарегистрирован: 02 мар 2009, 16:59

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

Сообщение kripto289 19 авг 2016, 22:34

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

Проход теней можно получить в виде текстуры и передать в шейдер оружия. Так же как и буфер глубины главной камеры можно использовать для всех камер.
Правда я хз как записать позицию объектов. RGB цвет занят, а альфа канал не рендирится камерой (или я ошибаюсь?)
Имея на руках теневую карту + позицию объекта + буфер глубины, можно творить что угодно.
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт

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

Сообщение jetyb 20 авг 2016, 13:28

Как заставить рендер в текстуру ренедрить с тенями и туманом?

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

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

Она и так записывается в текстуру глубины (доступ через свойство _CameraDepthTexture в шейдере постэффекта на камере). Стандартные постэффекты (Fog, SunShafts) этим во всю пользуются.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

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

Сообщение kripto289 20 авг 2016, 19:25

jetyb писал(а):
Как заставить рендер в текстуру ренедрить с тенями и туманом?

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

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

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

Я пока писал, почему-то подумал о постэффектах, хотя речь о шейдере для оружия, и позиция и так известна. Поэтому решил отредактировать пост, да форум завис :D
Аватара пользователя
kripto289
UNIверсал
 
Сообщения: 476
Зарегистрирован: 30 сен 2013, 03:30
Откуда: Екатеринбург
  • Сайт

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

Сообщение Zodjeks 20 авг 2016, 23:03

Всем спасибо за советы, шейдер допилил с другом и все норм, работает как надо. B-)
The Underground Get out alive - computer game in the genre of first-person shooter with elements of survival horror.
Zodjeks
UNец
 
Сообщения: 33
Зарегистрирован: 19 апр 2015, 20:11

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

Сообщение bojlahg 25 авг 2016, 13:09

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

Offset -1, -10000000
Мои проекты: MahJah Star Factory Cop Car Swash! Spline Editor
Аватара пользователя
bojlahg
UNIверсал
 
Сообщения: 392
Зарегистрирован: 13 авг 2011, 10:57
Откуда: Сатка
Skype: bojlahg
  • Сайт


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3