Unity - пост-процесс переднего плана, но оставить фон как есть - PullRequest
1 голос
/ 23 марта 2020

Я использую Unity 2019.3.5f1 и использую универсальный конвейер рендеринга (URP).

Я пытаюсь использовать постобработку в URP только для переднего плана (в моем случае, для игроков) и я хочу оставить фон (который в моем случае является просто квадратором с текстурой), как есть.

Я попытался использовать Camera Stack, но он не будет работать для меня, потому что наложенная камера может не имеет эффектов постобработки в соответствии с документацией.

Единственное решение, которое я мог бы придумать, - это создать какой-то пользовательский рендер, который:

  1. Рендеринг фона в буфер A.
  2. Визуализация переднего плана в буфер B и сохранение глубины.
  3. Объедините два, используя шейдер, который получает обе текстуры, и текстуру глубины, и, основываясь на глубине, принимает буфер A или буфер B.

Проблема с этим, я считаю, заключается в том, что я не могу использовать его с постобработкой для Unity.

Есть идеи, что я могу сделать?

EDIT : * 10 23 *

Я попробовал еще одну вещь в Unity, которая, кажется, не работает (возможно, это ошибка):

  1. Я создал 3 камеры: Камера переднего плана, Камера глубины (только рендеринг переднего плана), и фоновая камера.
  2. Я настроил камеру глубины, чтобы она отображала текстуру рендеринга, и теперь у меня есть текстура рендеринга с нужной глубиной.

Теперь, с этого момента все пошло не так, кажется, что при использовании новой постобработки Unity (встроенной), кажется, происходят странные вещи:

  1. Камера переднего плана установлена ​​на Tag = MainCamera, и когда я включите Post Processing и добавьте эффект, мы действительно это видим. (как и ожидалось)
  2. Фоновая камера по сути является дубликатом переднего плана, но с Tag = Untagged я использую те же параметры (включена публикация).

Теперь ожидается, что мы видим фоновую камеру с такими эффектами, как передний план, но нет:

  1. При использовании Volume Mask на моем фоновом слое постобработка просто отключается, никакого эффекта вообще, несмотря ни на что ( и я установил свой фон в слой Background).
  2. Когда я отключаю камеру переднего плана (или удаляю ее тег) и устанавливаю фоновую камеру в MainCamera, все равно ничего не меняется, публикация все равно не будет работать.
  3. Когда я установил Volume Mask на Default (или все), результат отображается ТОЛЬКО в виде сцены , я попытался отрендерить камеру на RenderTexture, но все же вы ясно видеть, что эффект не применяется!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...