[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » ArmA: Armed Assault » Скрипты » Работа с камерой ())
Работа с камерой
overclockerДата: Понедельник, 20.09.2010, 02:06 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 3
Награды: 0
Репутация: 1
Статус: Offline
Руководство по созданию видео-роликов

Различие видео-роликов, сделанных с помощью редактора и в виде скрипта
Команды для заскриптованных видео-роликов находятся в скрипте, а для созданных в редакторе - в триггерах и waypoint`ах. Вы не можете настолько эффективно управлять камерой в редакторе, насколько это позволяет скрипт, однако их и сложнее создавать.

Основные команды для создания видео-роликов:

CamCreate - создать камеру
CameraEffect - указать эффекты камеры
CamSetPos - указать позицию камеры
CamSetTarget - указать цель камеры
CamSetRelPos - указать позицию камеры относительно ее цели
CamCommit - выполнить изменения
CamDestroy - удалить камеру
Создание заскриптованных видео-роликов
Видео-ролики в виде скрипта - это набор последовательных команд, работающих с камерой и имеющих временные интервалы. Используя лишь указанные выше команды можно сделать отличное видео.

Рассмотрим пример небольшого скрипта, в котором камера пролетает справа от игрока в начале миссии. Данный скрипт вызывается из строки Initialization игрока. Также скрипт требует еще один объект (на расстоянии 20 метров от игрока), чтобы сделать видео более зрелищным.

Откройте редактор миссий и создайте миссию на острове Desert с двумя юнитами: игроком и еще каким-нибудь объектом. Назовем этот объект (не игрока) object2. Сохраните миссию под названием testcam.

Нажмите Alt+Tab, с помощью проводника (или другого файлового броузера) зайдите в папку только что созданной миссии (flashpoint\users\yourusername\missions\testcam.Intro). Создайте в ней текстовый файл с именем testcam.sqs. Теперь будем редактировать именно его (для этого можно воспользоваться обычным блокнотом).

В начале создадим камеру с эффектами internal, back в координатах 0,0,0 (помните, что все нижеуказанные строчки кода надо прописывать в файле testcam.sqs):

_cam = "camera" camcreate [0,0,0]
_cam cameraeffect ["internal", "back"]

Теперь необходимо установить камеру так, чтобы он снимала игрока. Поставим ее на расстоянии 10 метров спереди от игрока, 2 метра влево и 3 вверх (от земли). Команду CamCommit установим в 0, т.к. мы хотим, чтобы данные изменения были произведены немедленно:

; направляем камеру на игрока: 2 м слева, 10 спереди и 3 вверх
_cam camsettarget player
_cam camsetrelpos [-2,10,3]
_cam camcommit 0
Сделаем выход камеры из затенения, чтобы переход к видео был более приятным и плавным. Данный процесс будет длиться 2 секунды. Если вы хотите, чтобы в это время на экране отображался какой-то текст (как это сделано в данном примере), пропишите его между кавычек " " до "BLACK IN" (то есть вместо слова Hello). Чтобы текста небыло вообще, оставьте кавычки пустыми.

; затенение на 2 секунды
titlecut ["Hello","BLACK IN",2]
; ждем 2 секунды, пока пройдет затенение
~2

Пора придать нашему видео немного движения. Передвинем камеру на 5 метров за игрока, на 2 метра влево и полметра вверх (считая от земли). Данное изменение полностью завершится через 5 секунд. Необходимо выделить время на это (иначе сразу же выполнится другая команда), поэтому мы и ждем 5 секунд (~5 ). Далее после каждой команды управления камерой будет стоять аналогичная команда задержки времени, чтобы дать ей выполниться до конца.

; перемещаем камеру через 5 секунд и делаем паузу еще на 5 секунд
_cam camsetrelpos [-2,-5,0.5]
_cam camcommit 5
~5

Чудненько, теперь изменим цель нашей камеры на другой объект (как вы помните, мы назвали его object2). Кроме этого передвинем камеру относительно этого объекта на 3 вперед, 1 влево и 2 над землей. Передвижение будет длиться 2 секунды.

; выбираем цель object2, передвигаем камеру относительно нее и делаем паузу
_cam camsettarget object2
_cam camsetrelpos [-1,3,2]
_cam camcommit 2
~2
Близится финал, пора делать прощальную сцену. Опять применим затенение, но теперь это будет уже обратный эффект - из игры в темноту. Не забудем растянуть это действие на пару секунд, чтобы сделать переход плавным. Здесь есть одна хитрость, все эффекты затенения кроме Black Faded НЕ возвращаются к игровому экрану, то есть их можно применять только для начальной и конечной заставки. Но сам Black Faded для возвращения к игре делает паузу в 13 секунд, поэтому необходимо подождать и не давать игроку управление во время затенения. Это и делает команда "~24" (почему то, чтобы обождать 13 секунд, мне пришлось устанавливать значение 24...), после выполнения которой сразу же удаляется камера со всеми эффектами, и управление передается игроку.

; затенение
titlecut ["Bye\nPlease wait 13 seconds","black faded",2]
; ждем завершения затенения
~24

Вот и все, осталось завершить видео, удалить камеру и выйти из скрипта:

_cam cameraeffect ["terminate", "Back"]
camdestroy _cam
exit

Добавлено (20.09.2010, 02:06)
---------------------------------------------
Готово, теперь по окончании ролика управление передастся игроку. Кстати в эффекте затенения можно было использовать также "WHITE IN" и "WHITE OUT", если вам больше нравится белый цвет. Сохраните данный скрипт (testcam.sqs) и вернитесь в редактор миссий (Alt+Tab). Дважды кликните на игроке и в его поле Initialization пропишите:

[] exec "testcam.sqs"

Нажмите OK, а потом Preview и наслаждайтесь своим первым фильмом. Поэкспериментируйте со значениями команды setrelpos, а также с другими эффектами. Попробуйте изменить угол обзора с помощью команды camsetfov. Заставьте второй объект двигаться (для этого вначале расставьте на карте waypoint`ы), а в это время пусть игрок наблюдает за ним с помощью команды dowatch. Добавьте в видео музыку посредством команды playmusic (не забудьте плавно завершить ее воспроизведение командой fademusic). Отличного эффекта в стиле матрицы с замедлением времени можно добиться, используя команду setAccTime, а команда skiptime позволит моментально пропустить некоторое количество часов, например, чтобы ускорить приближение вечера. Для сцен с крупным планом игроков не плохо бы поиграться с командой setmimic, дабы изменять выражение лица персонажу. Все это позволит вам лучше разобраться в данном вопросе и научиться делать по настоящему захватывающие видео-ролики.

1. Если хотите нацелить камеру на какой-нибудь юнит и сделать крупный план, достаточно в строке Initialization этого юнита прописать:
this exec "camera.sqs"
Скрипт camera.sqs является стандартным для игры и входит в набор скриптов АрмА
Чтобы получить текущие координаты камеры (и некоторые другие параметры), нажмите левую клавишу мыши. После этого сверните АрмА (нажав альт+таб) и сохраните позицию камеры в блокноте или сразу в файле создаваемого ролика.
Чтобы уничтожить камеру во время игры, достаточно просто нажать клавишу включения оптического прицела (по умолчанию V).

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

Создание Интро
Интро - это видео-ролики, проигрывающиеся вначале миссии еще до появления экрана с картой и заданием. Чтобы создать такое видео, надо выбрать пункт Intro в редакторе вместо Mission (меню выбора расположено над кнопкой Preview). При этом с карты пропаду ВСЕ добавленные вами юниты, триггеры и waypoin`ы - так и должно быть. Видео придется делать с нуля.

Возьмем, к примеру, уже созданную ранее миссию testcam. Загрузите ее в редактор и выберите пункт Интро, снова добавьте игрока и второй объект с именем object2. А в поле Initialization игрока опять пропишите:
[] exec "testcam.sqs"
Сохранив полученное, и загрузив эту миссию из меню Single Missions, видео будет проиграно перед миссией. Точно также создаются и финальные заставки, только из меню надо выбрать не Intro, а Outro.

Для выбора позиции камеры, в редакторе у любого юнита пишем в ините:
this exec "camera.sqs" и щелкаем правой клавишей мыши.
Сворачиваем игру и открываем блокнот - вставить или ищем сохраненную позицию камеры здесь:

\Documents and Settings\%WINDOWSUSERNAME%\мои документы\ArmA\

 
Форум » ArmA: Armed Assault » Скрипты » Работа с камерой ())
Страница 1 из 11
Поиск:

Хостинг от uCoz При копировании материала с сайта, ссылка на http://gdi.3dn.ru/ ОБЯЗАТЕЛЬНА !