Войти
Unreal EngineФорумУроки

Оружие в FPS проходящее сквозь стены. Решение через вертексный шейдер.

#0
18:30, 10 янв. 2020

Всем привет

В Unity и других движках проблема решается рендерингом оружия и рук персонажа на другой слой, который просто отрисовывается поверх всего остального.
В UE4 отсутствуют слои рендеринга как таковые.

Я попробовал вот такое решение и вроде все работает нормально.

Прошу отметить что на видео это решение используется только для материала оружия, но не для рук персонажа, так что руки по прежнему проходят сквозь стены.
Я пробовал просто копипастить код в материал рук и все выглядит вполне рабочим.

Запустить видео по клику - Как делать игрыЗапустить видео по клику - Как делать игры


#1
18:59, 10 янв. 2020

Как это решение через вертексный шейдеры, когда ты модифицируешь глубину пикселя?

#2
23:00, 10 янв. 2020

@!!ex
Это с чего же оно меняет глубину пикселя? о0

#3
(Правка: 15 янв. 2020, 10:59) 6:01, 12 янв. 2020

Alex.L
О. Действительно, проглядел. World Offset делается... А собственно зачем? Зачем менять геометрию, если можно Pixel Depth изменить?

UPD: Хотя вопрос снимается. Не могу придумать чем смещение глубины лучше.
UPD2: Зато могу придумать чем смещение глубины хуже: при вертексном смещении у нас операция на каждую вершину(то есть от одной до трех на треугольник), а в случае смещения пикселя - у нас каждый пиксель требует отдельной операции. В общем я изначально не прав, делать через вершинный шейдер правильно и логично.

Unreal EngineФорумУроки