Тема: Камеры и мониторы Ключевые слова: камера, монитор, point_camera, func_monitor, связь камеры с монитором, несколько камер См. также: func_monitor, point_camera
Две энтити – func_monitor и point_camera – используются преимущественно для
передачи изображения из определенной области карты на монитор (специальный браш,
преобразованный в func_monitor), находящийся в другой области. При этом энтити
point_camera невидима и захватывает (получает) изображение (играет роль камеры), а
func_monitor – воспроизводит на своей поверхности передаваемые ею данные (играет роль
реального монитора или телевизора). Подробнее по каждой энтити, а также о связи между ними см.
func_monitor и point_camera. Поверхность энтити-монитора, на которой должно быть изображение, закрашивается текстурами dev/dev_*monitor*. От выбранной текстуры зависит качество картинки на мониторе (чистая или с помехами). Замечание: существует ограничение на использование мониторов – в одно и то же время источником изображения для всех мониторов может быть только одна камера. Другими словами, даже если Вы установите для каждого монитора источниками сигнала разные камеры, в игре все мониторы будут передавать одно и то же изображение (с последней активированной камеры). Обратите внимание, что в лаборатории Кляйнера (Half-Life 2) есть система мониторов, одновременно показывающих разные картинки, однако эти изображения – всего лишь анимированные текстуры, наложенные на модель props_lab/securitybank.mdl. В данном случае не используются камеры и мониторы (энтити), кроме центрального изображения. Вероятная причина указанного выше ограничения – дополнительные затраты на рендеринг изображения (по сути повторная прорисовка трехмерной сцены). Естественно, каждая камера отнимала бы часть ресурсов игры. Еще одна возможная причина - особеность движка. Т.е. вывод с камеры реализован на одну и только одну текстуру, независимо от того, где она применяется. Пока единственным известным решением является расположение мониторов таким образом, чтобы игрок не мог видеть их одновременно. В процессе игры источник сигнала (активная камера) переключается по мере приближения игрока к каждому монитору (для примера см. карту sdk_d1_trainstation_01.vmf в каталоге <путь установки Steam>/SteamApps/<имя аккаунта>/sourcesdk_content/hl2/mapsrc), обеспечивая иллюзию одновременной трансляции видео с каждой камеры на соответствующий монитор. Замечание: в игре Portal используется тот же принцип мониторов. Если расположить порталы друг напротив друга (для появления эффекта "многократного отражения") и посмотреть сквозь любой из них - игра заметно "тормозит". В настройках игры есть параметр Глубина отображения порталов - именно он задает, сколько раз один портал "отразится внутри другого". Статьи (рус): Статьи (eng):
Номер статьи: 12
|