Info camera link

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Оригинал Info_camera_link

Описание

Объект info_camera_link используется для обеспечения функциональности объекта point_camera. Чтобы камера point_camera работала, на карте должен быть установлен хотя бы один объект info_camera_link или func_monitor.

Особенности использования

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект может быть установлен в любом месте на карте.
  • На карте может быть установлено множество этих объектов
  • На карте достаточно одного такого объекта, чтобы обеспечить функциональность для всех объектов point_camera.

Ошибки

Не обнаружены.

Заметки

Использование камер и мониторов влечёт за собой больший расход ресурсов компьютера. Вы всегда должны учитывать, что при использовании камер и мониторов практически всегда требуется больше видеопамяти, так как будут использоваться текстуры не только в той области, в которой находится игрок, но и те текстуры, которые находятся в поле зрения камеры. Общий объём используемых одновременно текстур не должен превышать значения в 100 МБ

Параметры

  • Target Object – имя абсолютно любого объекта на карте; можно указать даже имя этого объекта;
  • Camera Name – имя камеры point_camera на карте, которая будет включена в начале каждого раунда.

Inputs

  • SetCamera <string> - установить новое значение свойства "Camera Name".

Карта

csssdk_info_camera_link.vmf

Используются объекты

  • info_camera_link
  • func_button
  • func_detail
  • point_camera
  • func_rotating
  • env_spritetrail
  • logic_timer

Описание карты

На карте установлено множество экранов и невидимый вращающийся объект func_rotating, который нужен просто для того, чтобы что-то двигалось и это было видно. Для каждого экрана выбран свой отдельный материал-монитор. Все они выглядят по-разному, но отображают всегда одинаковое изображение. Это особенность игры CS:S, позволяющая в один момент времени использовать только один объект point_camera. На этой карте для того, чтобы какая-нибудь камера работала, необходимо чтобы она была прописана хотя бы у одного объекта info_camera_link в свойстве "Camera Name". После этого для камеры необходимо вызвать функцию "SetOnAndTurnOthersOff", которая включит эту камеру, а все остальные камеры – отключит. Именно такие операции выполняют большие кнопки на пультах. Маленькие кнопки на пультах включают/выключают мониторы, расположенные перед пультом.

Есть одна очень интересная особенность использования объектов point_camera и info_camera_link. Эту особенность всегда нужно учитывать. Для правильной работы объекта point_camera необходимо чтобы он был прописан в свойстве "Camera Name" хотя бы у одного объекта info_camera_link, а так же, чтобы указанный в свойстве "Target" объект существовал. Что будет если выключить объект monitor1 (func_brush)? Чтобы лучше понять что произойдёт, нажмите сначала на большую кнопку первого пульта – чтобы включить первую камеру, а затем на маленькую кнопку на первом пульте – чтобы выключить первый монитор. Если выполнить эту последовательность действий, то картинка на всех мониторах перестанет обновляться, а значит первая камера перестала работать. Тоже самое произойдёт со второй и третьей камерой.

Первая камера постоянно изменяет свой угол обзора. Это результат работы функции "ChangeFOV".

Обратите внимание так же на то, как работает вторая камера. На ней чётко видны артефакты вызванные тем, что камера может видеть результат своей работы. Возможно, на разных компьютерах это выглядит по-разному, но на момент создания этой карты-примера камера могла видеть до 2 своих шагов, после чего появлялись артефакты.

Так же не лишним будет заметить, что для третьей камеры включен туман, который отсекает всё что находится дальше 512 юнитов от камеры. Результат работы такого отсечения весьма плачевный, так как при этом идёт весомая нагрузка на CPU компьютера, поэтому не даёт преимущества в производительности. Рекомендуется не использовать туман для камер.

Скорей всего вы уже заметили, что игрок не может видеть сам себя в камере. Это не досадное упущение разработчиков, а особенность движка Source. Если вы хотите увидеть себя в камере, то выполните в консоли команду "sv_cheats 1" и вслед за ней команду "thirdperson". Эта команда переключит камеру на вид от третьего лица. Камера станет "малость" кривовата, зато вы сможете себя видеть в камерах. Чтобы вернуть вид в нормальное состояние, выполните в консоли команду "firstperson".

Смотрите также