Добавление и удаление камер в стеке камер в URP
Стоги Camera содержат одну Базу Camera с одной или несколькими Накладными Камерами, сложенными сверху. В Редакторе вы можете добавлять, удалять и переупорядочивать эти камеры по своему усмотрению для достижения желаемых эффектов.
Эта страница разделена на следующие разделы:
Добавление камеры в стек камер
Чтобы добавить камеру в стек камер, выполните следующие действия.
- Выберите Camera в вашей сцене с Тип отображения установленным на Базовая, делая его Base Camera. Если у вас нет Base Camera в вашей сцене, создайте его.
- Создайте другую камеру в вашей сцене и выберите ее.
- В окне камеры Inspector установите Тип отображения на Оверлей.
- Вновь выберите Базу Camera. В окне камеры Inspector перейдите в раздел Стек, выберите Добавить (+), затем выберите имя Оверлей Camera.
Оверлей Camera теперь является частью стека камер Базового Camera. Unity рендерирует выход Оверлей Camera наверху выхода Базового Camera.
Примечание: При создании нескольких камер для стека камер, подумайте, все ли камеры необходимы. Каждая камера, которую вы добавляете, замедляет отображение, потому что активная камера проходит через весь цикл отображения, даже если она ничего не отображает.
Добавление камеры в стек камер с помощью скрипта C#
Вы также можете добавить камеру в стек камер с помощью C# скрипт. Используйте cameraStack свойства Базы Camera’s Универсальный дополнительный Camera Данные компонент, как показано ниже:
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Add(myOverlayCamera);
Удаление камеры из стека камер
Чтобы удалить камеру из стека камер, выполните следующие действия.
- Создайте стек камер, содержащий по крайней мере одно наложение Camera. Инструкции см. в разделе Добавление камеры в стек камер.
- Выберите базу стека камеры Camera.
- В окне камеры Inspector перейдите в раздел Стек, выберите название Overlay Camera, который вы хотите удалить, затем выберите Удалить (-).
Оверлей Camera остается в сцене, но больше не является частью стек камеры.
Удаление камеры из стека камер с помощью скрипта C#
Вы также можете удалить Camera из камеры с C# скрипт. Используйте cameraStack свойства Базы Camera’s Универсальный дополнительный Camera Данные компонент, как показано ниже:
var cameraData = camera.GetUniversalAdditionalCameraData();
cameraData.cameraStack.Remove(myOverlayCamera);
Изменение порядка камер в стеке камер
Чтобы изменить порядок камер в стеке камер, выполните следующие действия.
- Создать стек камер, содержащий более одного наложения Camera. Инструкции см. в Добавление камеры в стек камер.
- Выберите Базу Camera в стеке камер.
- В Camera Inspector перейдите в раздел Стек.
- Используйте ручки рядом с названиями накладных камер, чтобы изменить порядок в списке накладных камер.
Базовый слой Camera рендирует базовый слой стека камер, а Накладные камеры в стеке рендируют наверху этого слоя в том порядке, в котором они перечислены, от верхнего к нижнему.
Переупорядочить камеру в стеке камер с помощью скрипта C#
Вы также можете переупорядочить стек камер с помощью C# скрипт. Используйте cameraStack свойства Базы Camera’s Универсальный дополнительный Camera Данные компонент. cameraStack является List и может быть перезаказан таким же образом, как и любой другой List.