Я использую Unity 2019.3.5f1 и использую универсальный конвейер рендеринга (URP).
Я пытаюсь использовать постобработку в URP только для переднего плана (в моем случае, для игроков) и я хочу оставить фон (который в моем случае является просто квадратором с текстурой), как есть.
Я попытался использовать Camera Stack, но он не будет работать для меня, потому что наложенная камера может не имеет эффектов постобработки в соответствии с документацией.
Единственное решение, которое я мог бы придумать, - это создать какой-то пользовательский рендер, который:
- Рендеринг фона в буфер A.
- Визуализация переднего плана в буфер B и сохранение глубины.
- Объедините два, используя шейдер, который получает обе текстуры, и текстуру глубины, и, основываясь на глубине, принимает буфер A или буфер B.
Проблема с этим, я считаю, заключается в том, что я не могу использовать его с постобработкой для Unity.
Есть идеи, что я могу сделать?
EDIT : * 10 23 *
Я попробовал еще одну вещь в Unity, которая, кажется, не работает (возможно, это ошибка):
- Я создал 3 камеры: Камера переднего плана, Камера глубины (только рендеринг переднего плана), и фоновая камера.
- Я настроил камеру глубины, чтобы она отображала текстуру рендеринга, и теперь у меня есть текстура рендеринга с нужной глубиной.
Теперь, с этого момента все пошло не так, кажется, что при использовании новой постобработки Unity (встроенной), кажется, происходят странные вещи:
- Камера переднего плана установлена на Tag = MainCamera, и когда я включите
Post Processing
и добавьте эффект, мы действительно это видим. (как и ожидалось) - Фоновая камера по сути является дубликатом переднего плана, но с Tag = Untagged я использую те же параметры (включена публикация).
Теперь ожидается, что мы видим фоновую камеру с такими эффектами, как передний план, но нет:
- При использовании
Volume Mask
на моем фоновом слое постобработка просто отключается, никакого эффекта вообще, несмотря ни на что ( и я установил свой фон в слой Background
). - Когда я отключаю камеру переднего плана (или удаляю ее тег) и устанавливаю фоновую камеру в MainCamera, все равно ничего не меняется, публикация все равно не будет работать.
- Когда я установил
Volume Mask
на Default
(или все), результат отображается ТОЛЬКО в виде сцены , я попытался отрендерить камеру на RenderTexture
, но все же вы ясно видеть, что эффект не применяется!