Камера наблюдения
=============
1.0
14 Декабря 2001
http://www.OrangeSmoothie.org
rhea@OrangeSmoothie.org


Введение
-------------
Камера наблюдения может быть использована при условии
если сервер смог найти соответствующий файл позиций камеры
для текущей карты.

Файл позиций камеры должен быть назван так:

	viewcam-<имя_карты>.cfg

Во время старта сервера сканируется директорий "cfg-viewcam/",
если переменная "viewcam_directory" не указывает на иной директорий.


Создание файла позиций камеры
-------------------------------------------
1. Запустите свой сервер под OSP Tourney DM/CA/CTF.

2. Зайдите в режим наблюдения (\team s).

3. Присвойте какой-либо клавише команду "\snapshot". Например:

	\bind h snapshot

4. А также еще:

	\bind f range
	\bind g vc_proximity

5. Теперь "полетайте" по уровню, устанавливая камеру на 
     приглянувшиеся места и следя, чтобы она захватывала как
     можно большее поле видения.

6. Выбрав позицию, нажмите клавишу "g" (или ту, на которую 
     набиндена команда "vc_proximity") для определения расстояния
     до ближайшей установленной позиции камеры.

    "vc_proximity" выводит расстояние по прямой до ближайшей 
    установленной позиции камеры. Таким образом, полученная 
    информация может быть использована для определения
    наилучшего расстояния между камерами (радиус захвата
    для камеры по умолчанию равен 450 юнитам).

7. Перед сохранением позиции камеры нажмите клавишу "f" (или ту,
    на которую набиндена команда "range") для проверки поля
    зрения вокруг текущей позиции камеры.

    Команда "range" показывает, попадает ли текущее направление
    взгляда с областью захвата камеры (желтым цветом если ДА, 
    иначе красным).

    C помощью команды "range" вы можете определить сегмент,
    который камера может захватить. Эта информация обновляется 
    постоянно.

8. Нажмите наконец клавишу "h" (или ту, на которую набиндена
    команда "\snapshot").

9. В консоли появится сообщение, состоящее из множества цифр.

	4 -269.920 -1493.019 333.001 37.512 -124.612

    Первая цифра есть уникальный идентификатор, а остальные
    указывают на направление и координаты позиции камеры.

10. Сделайте таким образом столько "снимков", сколько необходимо
      для гарантированного покрытия всей карты.

11. Для сохранения находящейся в консоли информации вызовите 
       консоль и наберите \condump viewcam-<имя_карты>.cfg

12. Закройте quake3 (или повторите вышеописанные шаги для другой 
       карты).

13. Откройте получившийся файл в текстовом редакторе.

14. Удалите ВСЮ лишнюю информацию, оставив лишь строки с цифрами.

15. Вы должны получить что-то похожее на вот это:

	0 -404.158 -458.847 607.734 38.677 -114.675
	1 -807.011 -840.523 351.869 55.042 158.214
	2 -1167.130 -277.282 345.887 77.217 133.132
	3 -1319.148 -747.830 674.927 47.390 36.337
	4 -1156.306 191.654 658.774 43.429 156.720
	5 -959.129 374.814 159.875 39.996 -29.927
	6 -331.580 -82.610 209.948 41.578 -142.125
	7 -7.374 -496.873 24.125 14.255 42.935
	8 -71.779 486.688 24.126 22.044 -95.043
	9 147.193 -834.934 156.112 51.081 -22.967
	10 228.905 -1061.497 435.306 53.987 -86.858
	11 462.476 -672.954 682.738 46.066 -155.138

16. Сохраните файл и поместите его в директорию "cfg-viewcam/"
       (или туда, где у вас хранятся файлы позиций).

17. Запустите quake3 и загрузите карту над позициями камеры для
       которой вы работали.

18. Наберите "\viewcam", "\team viewcam" или "\team vc".

19. Используйте "\vc_info" для получения информации о позиции камеры.

20. Нажимайте клавишу "прыжок" для перебора позиций по возрастающей и
       клавишу "приседание" для перебора по убывающей.


Примечания 
----------------
- Дальность захвата камеры 450 юнитов - помните об этом 
  работая над большими открытыми пространствами. В этом
  случае необходимо создавать несколько камер наблюдения
  с небольшим "перехлестом" их радиуса действия. Почаще
  используйте команду "\range"!

- Старайтесь избегать близкого расположения камер.

- Две камеры могут быть поблизости, только если они не
  находятся в прямой видимости одна от другой. Однако 
  тут возможны варианты - экспериментируйте!

- Располагайте камеры над головами игроков. Хотя в некоторых
  случаях можно получить неплохие кадры в упор или снизу ;)

- Статические камеры захватывают действие, которое происходит
  ПЕРЕД ними в секторе где-то 120 fov. Таким образом, неплохое 
  место для расположения камеры где-нибудь в углу сверху.

- Если вы хотите получить полный список всех точек расположения 
  камер, выполните команду :

	\snapshotdump

- Если вам не нравится расположение какой-либо камеры, просто 
  удалите или подкорректируйте информацию о ней в файле.

- Если вы обнаружили "мертвые" зоны или просто хотите добавить
  еще позиции для камеры, просто следуйте вышеперечисленным 
  шагам и, сохранив строку, добавьте ее в исходный файл руками.
  Не забудьте только соблюсти правильную нумерацию позиций
  (первая цифра в строке).

- Наиболее "продвинутый" и удобный способ создания файлов
  позиций камеры наблюдения - это одновременный запуск двух
  quake3 в оконных режимах. Первый - это listen-сервер в режиме 
  камеры наблюдения, второй - присоединенный клиент.

  Теперь вы можете наблюдать в первом окне с помощью камеры
  свои движения, производимые во втором окне.

- Существует дополнительный параметр для динамического 
  изменения дальности захвата камерой игрока. Например,
  команда \snapshot выводит следующую информацию:

	5 668.980 2338.872 173.705 42.709 -88.748

  К ней вы можете добавить дальность в юнитах:

	5 668.980 2338.872 173.705 42.709 -88.748 [дальность]

  Так, для изменения с 450 юнитов по умолчанию на, скажем, 900 именно 
  для данной позиции камеры добавьте руками:

	5 668.980 2338.872 173.705 42.709 -88.748 900

  Данная фича особенно полезна для покрытия больших открытых 
  площадей.


Команды камеры наблюдения:
----------------------------------------
- Переключение в режим наблюдения:
	\viewcam
	\team viewcam
	\team vc
	\vc_follow	(Позволяет наблюдать за каким-либо игроком.
			Вы должны указать его имя или ID).

- Информация о позиции камеры:
	\vc_info		(текущая информация)
	\vc_proximity	(информация до ближайшей камеры)
	\range		(расстояние до поверхности)

- Разное:
	\vc_free		(включение режима автопереключения)
	\snapshot	(вывод информации в консоль)
	\snapshotdump	(вывод в консоль информации о всех камерах)

- Клиентские переменные
	cg_followviewcam	  0 - Камера в режиме автопереключения
			*1 - Камера следует за определенным игроком, 
			       сменить его можно нажав кнопку "прыжок"
			       или введя \followprev или \follownext.

- Ручная смена позиций наблюдения:
	- JUMP - перебор вперед по списку
	- CROUTCH - перебор назад по списку

	(Действует только если на сервере нет активных игроков.)