<<<Назад <<< | <<<Меню>>> | >>> Далее>>> |
Команды для заскриптованных видео-роликов находятся в скрипте, а для созданных в редакторе - в триггерах и waypoint`ах.
Вы не можете настолько эффективно управлять камерой в редакторе, насколько это позволяет скрипт, однако их и сложнее создавать.
Основные команды для создания видео-роликов (подробнее смотрите в разделе "Команды"):
Видео-ролики в виде скрипта - это набор последовательных команд, работающих с камерой и имеющих временные интервалы. Используя лишь указанные выше команды можно сделать отличное видео.
Рассмотрим пример небольшого скрипта, в котором камера пролетает справа от игрока в начале миссии. Данный скрипт вызывается из строки 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]
Теперь необходимо установить камеру так, чтобы он снимала игрока. Поставим ее на расстоянии 10 метров спереди от игрока, 2 метра влево и 3 вверх (от земли). Команду CamCommit установим в 0, т.к. мы хотим, чтобы данные изменения были произведены немедленно:
_cam cameraeffect ["internal", "back"]
; направляем камеру на игрока: 2 м слева, 10 спереди и 3 вверх
Сделаем выход камеры из затенения, чтобы переход к видео был более приятным и плавным. Данный процесс будет длиться 2 секунды. Если вы хотите, чтобы в это время на экране отображался какой-то текст (как это сделано в данном примере), пропишите его между кавычек " " до "BLACK IN" (то есть вместо слова Hello). Чтобы текста небыло вообще, оставьте кавычки пустыми.
_cam camsettarget player
_cam camsetrelpos [-2,10,3]
_cam camcommit 0
; затенение на 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, передвигаем камеру относительно нее и делаем паузу
Близится финал, пора делать прощальную сцену. Опять применим затенение, но теперь это будет уже обратный эффект - из игры в
темноту. Не забудем растянуть это действие на пару секунд, чтобы сделать переход плавным. Здесь есть одна хитрость, все эффекты
затенения кроме Black Faded НЕ возвращаются к игровому экрану, то есть их можно применять только для начальной и конечной заставки. Но
сам Black Faded для возвращения к игре делает паузу в 13 секунд, поэтому необходимо подождать и не давать игроку управление во время
затенения. Это и делает команда "~24" (почему то, чтобы обождать 13 секунд, мне пришлось устанавливать значение 24...), после выполнения которой сразу же удаляется камера со всеми эффектами, и управление передается игроку.
_cam camsettarget object2
_cam camsetrelpos [-1,3,2]
_cam camcommit 2
~2
; затенение
titlecut ["Bye\nPlease wait 13 seconds","black faded",2]
; ждем завершения затенения
~24
Вот и все, осталось завершить видео, удалить камеру и выйти из скрипта:
_cam cameraeffect ["terminate", "Back"]
camdestroy _cam
exit
Готово, теперь по окончании ролика управление передастся игроку. Кстати в эффекте затенения можно было использовать также
"WHITE IN" и "WHITE OUT", если вам больше нравится белый цвет. Сохраните данный скрипт (testcam.sqs) и вернитесь в редактор миссий
(Alt+Tab). Дважды кликните на игроке и в его поле Initialization пропишите:
[] exec "testcam.sqs"
Нажмите OK, а потом Preview и наслаждайтесь своим первым фильмом. Поэкспериментируйте со значениями команды setrelpos, а
также с другими эффектами. Попробуйте изменить угол обзора с помощью команды camsetfov. Заставьте второй объект двигаться (для этого
вначале расставьте на карте waypoint`ы), а в это время пусть игрок наблюдает за ним с помощью команды dowatch. Добавьте в видео музыку
посредством команды playmusic (не забудьте плавно завершить ее воспроизведение командой fademusic). Отличного эффекта в стиле
матрицы с замедлением времени можно добиться, используя команду setAccTime, а команда skiptime позволит моментально пропустить
некоторое количество часов, например, чтобы ускорить приближение вечера. Для сцен с крупным планом игроков не плохо бы поиграться с
командой setmimic, дабы изменять выражение лица персонажу. Все это позволит вам лучше разобраться в данном вопросе и научиться делать
по настоящему захватывающие видео-ролики.
А под конец, советы от BIStudio:
Интро - это видео-ролики, проигрывающиеся вначале миссии еще до появления экрана с картой и заданием. Чтобы создать такое видео, надо выбрать пункт Intro в редакторе вместо Mission (меню выбора расположено над кнопкой Preview). При этом с карты пропаду ВСЕ добавленные вами юниты, триггеры и waypoin`ы - так и должно быть. Видео придется делать с нуля.
Возьмем, к примеру, уже созданную ранее миссию testcam. Загрузите ее в редактор и выберите пункт Интро, снова добавьте игрока и второй объект с именем object2. А в поле Initialization игрока опять пропишите:
[] exec "testcam.sqs"
Сохранив полученное, и загрузив эту миссию из меню Single Missions, видео будет проиграно перед миссией. Точно также создаются и финальные заставки, только из меню надо выбрать не Intro, а Outro.
<<<Назад <<< | <<<Меню>>> | >>> Далее>>> |