Главная » Файлы » Платформа для создания SP миссий » Полезная справочная информация

Статья по созданию роликов 1.1



Статья по созданию роликов в Arma 2. Версия 1.1


Урок 1.

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

Для начала нужно понять, что если вы хотите снять хороший ролик, то для этого мало одних способностей владения камерой, здесь не малую роль играет обстановка и сценарий постановки.
Прежде чем, пытаться что-то сделать вы должны продумать свой будущий ролик, он не должен быть бессмысленным и бестолковым. Если он является вступительным, то наверняка он должен являться прологом, к вашей миссии, в котором рассказывается о каких-то предпосылках, исторических моментах или же еще что-то в этом духе.
Таким образом, нужно понять, что вступительный ролик, является частью задания, и при хорошо продуманном его содержании и последующей реализации, ваше ИНТРО видео станет неразрывно связанным, дополняющим, красочным элементом вашей миссии.
Это был первый шаг.

Шаг номер два.

Теперь, когда мы обдумали с вами наш сюжет, то это еще не повод, чтобы приступить к созданию ролика. Если вы прокрутили в голове весь сюжет, то вы имеете уже представление о том, КАК и ГДЕ он будет воплощен. Говорят о ГДЕ, я имею ввиду, территорию, ландшафт и т.п. Прокручивая и обдумывая сюжет, человеческое сознание автоматически создает образы в голове, прокручивание, редактирование, и отбор которых в последствии приводит к созданию основной идеи. Уже примерно зная, какие ключевые моменты включит наш с вами ролик, мы переходим к редактору.
Необходимо подобрать место для снятия ролика. Если же ролик представляет собой общение между двумя солдатами, то собственно в его кадр не должны попадать лишние, странные или абсурдные детали. Если же съемка затрагивает целый город или даже происходит в разных частях острова или же охватывает весь остров, то соответственно, мы должны наметить те самые точки, которые будут освещены в нашем ролике.
Переходим к обустройству площадки. Расставляем объекты. Для этого я посоветую для начала разместить объекты в слоте ЗАДАНИЕ. Если у вас уже есть миссия, то в таком случае создайте совершенно новое, даже можете его назвать: Для роликов. Делается это для того, чтобы вы смогли тщательно все оценить, в режиме предпросмотра, поскольку, в интро и оутро камера будет висеть только позади юнита.
После того, как вы грамотно разместили все объекты, выделяем их всех и жмем сочетание клавиш Ctrl +C, загружаем нашу миссию и/или же выбираемИНТРО, жмем Ctrl+V, нацеливаем курсор на выделенную группу объектов и подстраиваем их под необходимую территорию ( т.е просто переносим на то место, где они находились в ЗАДАНИИ, будьте осторожны, если вы случайно щелкните в любой точке карты, то выделение исчезает)
Описанный выше метод, вы можете конечно же не использовать, но личн омне он очень помогает.

Шаг номер три.

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

Данная команда создает камеру, рядом с игроком. Данный скрипт не нужно писать самому, он уже есть в игре, мы просто на него ссылаемся. Теперь можно вертеть камерой как вам угодно.
- управления камерой:
8 : наклонять вверх
2 : наклонять вниз
4 : поворот влево
6 : поворот вправо
+ : увеличить
- : уменьшить
V : выход из режима камеры
L : включает и выключает прицел (крест в центре экрана)
Q : движение вверх
Z : движение вниз
W : движение вперёд (нормально)
E : движение вперёд (быстро)
S : движение назад
A : движение налево
D : движение направо
DEL : движение налево и отдаление цели
END : движение направо и отдаление цели
PAGE UP : смотри Q
PAGE DOWN : смотри Z
X : как A но быстрее
C : как D но быстрее
/ - камера фиксируется на каком-либо предмете, например на дереве, для этого достаточно ее навести на соответствующий объект. Далее вы сможете вращать, приближать и удалять ее относительно этого объекта, если вы хотите выйти из данного режима жмем цифру 5.
После того, как выбрали оптимальный ракурс камеры, жмем ЛЕВУЮ кнопку мыши, сворачиваем игру, выбираем любой текстовый документ и жмете Сtrl +V, вы получили координаты, который можно смело вставлять затем в ролик, итак что же мы имеем:

;=== 10:52:45- непосредственно время, когда вы сохранили координаты.
_camera camPrepareTarget [23073.20,-93982.05,-10883.41] - это координаты камеры, x,y,z, (влево/вправо ,вперед/назад, высота)
_camera camPreparePos [3457.39,3467.06,2.04] - это координаты камеры, относительно того места, на который она была направлена
_camera camPrepareFOV 0.700- это zoom камеры, по умолчанию стоит 0.7
_camera camCommitPrepared 0 - время за которое, камера передвинеться на новую позицию, может варьировать от 0 - 20 ( секунды)
@camCommitted _camera- команда, указывает на то, что последующее действие будет выполнено, только после того, как камера займет заданные координаты.
Теперь - создаем текстовый документ и меняем его расширение на .sqs. Для этого нужно открыть текстовый документ, нажать СОХРАНИТЬ КАК, выбрать ВСЕ ФАЙЛЫ и дописать вместо txt, необходимое расширение.

Пишим:
enableRadio false - команда отключает радио переговоры.
setAccTime 1 - позволяет выставить время. 1 - это нормальная скорость.
showcinemaborder false - убирает рамку.
titleCut ["","Black faded", 0]- 0, это время за которое будет совершено действие, вместо Black Faded может так же быть:

"PLAIN" - выводит данный текст, объект или ресурс.
"PLAIN DOWN" - выводит данный текст, объект или ресурс.. .. Простой текст отображается по центру между третьей и четвертой четвертью экрана. (Т.е. 25% от нижней части экрана)
"BLACK"- Перед тем, как отобразить черный экран, выводит заданный текст, объект или ресурс. Весь остальной графический интерфейс пользователя скрывается за черным "занавесом".Простой текст отображается по центру между третьей и четвертой четвертью экрана. (т.е. 25% от нижней части экрана)
"BLACK FADED" Перед тем, как отобразить черный экран, выводит заданный текст, объект или ресурс. Весь остальной графический интерфейс пользователя скрывается за черным "занавесом". Если "скорость" не задана, "занавес" и отображающиеся элементы исчезают сразу же по прошествии 5-10 секунд. В противном случае экран останется черным с загруженными данными.
"BLACK OUT" тоже самое что и "BLACK".
"BLACK IN" - Отображается графический интерфейс пользователя после того как "занавес" исчезает вместе с дополнительным текстом, объектом или ресурсом, которые были даны.
"WHITE OUT" Перед тем, как отобразить белый экран, выводит заданный текст, объект или ресурс. Весь остальной графический интерфейс пользователя скрывается за белым "занавесом". Это может легко ослепить игрока поэтому должно применяться с осторожностью.
"WHITE IN" - Графический интерфейс пользователя затягивается белым "занавесом"
0 fadesound 0 - отключаем звуки, для их включения, используется команда 1 fadesound 1 (0 music 0 - отключается музыку). Синтаксис : time fadeSound volume ( первое время в секундах, второе значение 0 и 1, ложь и правда)

Создаем камеру:
_camera = "camera" camcreate [0,0,0]
_camera cameraeffect ["internal", "back"]
_camera camPrepareFocus [-1,-1]
- меняет фокус, для отсутствия запыленности между переходами камеры.
~2 - пауза, длится 2 секунды
titleCut ["","BLACK IN", 2]; - выводит экран из черной завесы, за 2 секунды.
{_x setVariable ["BIS_noCoreConversations", true];_x disableConversation true} foreach allunits; go=false - Команда отключает любые разговоры

И наконец самое главное, после того, как вы написали свой собственный скрипт, не забудьте в инициализации юнита написать следующее: [] exec "myvideo.sqs", где myvideo, имя нашего файла. Не забудьте удалить [] exec "camera.sqs".

Для того,чтобы закончить свой ролик в конце своего скрипта необходимо добавить:
_camera cameraeffect ["terminate", "Back"]
camdestroy _camera - удаляет камеру.
endMission "END1" - заканчивает миссию.
exit - выход из скрипта.

Для того, чтобы ролик завершился плавно, а не в сию секунду, необходимо добавить:
titleCut ["","BLACK OUT", 2] - появление черной "завесы"
2 fademusic 0 -отключение музыки
2 fadesound 0 -отключение звуков.
~3 - пауза

Урок 2.
Теперь мы знаем как создать камеру, как закончить наш ролик, как сделать плавное затемнение.

В этом уроке мы попробуем создать ролик по сложнее.
Для этого копируем из наш файл из прошлой миссии и вставляем его в новую. Да и учитесь подгонять все свои скрипты под миссию, чтобы не писать или искать по интернету заново. Итак по сути мы имеем начало и конец. Все как в предыдущем уроке. не много дополним его.
Теперь наш танк должен поехать. Да-да! А камера должна медленно последовать за ним, сфокусироваться, а затем отдалиться!
Что для этого нужно?
Создаем танк и называем его tank, ставим его на тоже место где он у нас стоял и в прошлом ИНТРО.

Пишем команду tank disableai "MOVE" в нашем скрипте. Для чего мы это сделали?! Чтобы наш танк не уехал пока наша камера создается, а экран входит в рабочее состояние.
После того, как экран выходит из темной "завесы" дописываем tank enableai "MOVE".
Незабываем ставить танку чекпоинт. Итак, теперь наш абрамс двинется только после того, как экран выйдет из затемнения.
Теперь нам нужно чтобы камера последовала за танком, а затем и привязалась к нему.
_camera camsettarget tank
_camera camsetrelpos [0,1,1]
_camera camcommit 8

Данное действие говорит нам о том, что камера сфокусируется на танке относительно той позиции где она находится сейчас по заданным координатам 0,1,1, и выполнит это действие за 8 секунд.
#loop
_camera camsettarget tank
_camera camsetrelpos [0,6,1]
_camera camcommit 9
? (tank distance t1)<10:goto "next"
goto "loop"
#next

Ставим на пути танка игровую логику и обзываем ее t1, теперь камера приблизится к танку под заданными координатами и останется в таком положении по до логики не останется 10 метров и камера не сменит позицию на новую.
В нашем случае ролик просто завершается.
Пример скачать можно ЗДЕСЬ http://ifolder.ru/25221097



Fraps:
Вы так же можете снимать видео через Fraps, тут конечно возможностей побольше, но основы владения камерой тут все равно не помешают. Для этого вам потребуется программа Fraps, она вам пригодится не только для съемок видео, но еще и при получении скриншотов.
Но вот беда, 30 секунд снятого видео у нас весит почти 300 мб!
1. Перегоните видео в формат avi. Используя при этом программу WinAVI 8.0
2. При помощи программы VirtualDub и кодака (DivX521XP2K)), который необходим - сжимаем видео до пару мб.
Это лишь описание уменьшения размера нашего с вами видео, все остальное, как наложить эффекты, звуки, музыку, переходы, и какие программы лучше для этого подходят вы сможете сами.

А дальше только ваша фантазия и не много умения понимать, то что вы делаете. Полезная информация:

Замедленное движение
Для этого необходимо использовать команду 'SetTimeAcc'. По умолчанию ставится значение равное 1, варьирование значение от 0.1 - 1, замедляет кадры.

Прикрепление камеры
Чтобы прикрепить камеру к объекту мы используем пару стандартных команд, которые зацикливаем:


Все очень просто если расстояние машины до логики t1 меньше 10, то в таком случается сценарий проигрывается дальше, если же меньше, то действие повторяется.

Дрож камеры

Синтаксис: addCamShake [power, duration, frequency]
Параметры: power: Number - на сколько сильно камеру будет трясти
duration: Number - как долго будет длится эффект
frequency: Number - устанавливает ритм.
Примеры:
addCamShake [10, 1, 25]

Камера фокусируется на объекте

_camera camSetTarget player
_cam camsettarget foc1
_cam camsetrelpos [0,6,1.5]
Фокусируется на объекте используя заданные координаты.

Использование активной карты:
Скрипт

Вывод текстов в ролике.
Для этого достаточно написать:
titlecut [localize "STR_cut1","",3]
STR_cut1 это Key_ID контейнера в stringtable на который ссылается данная команда.

Проигрывание анимаций
unit switchmove "Имя_Анимации"
Вся разница между switchmove и playmove заключается в том, что первая команда проигрывает анимации незамедлительно.

Добавление ресурсов в ролики:
Например биноколь:
cutrsc ["binocular","plain down",1000]
_camera camPrepareTarget [0,0,0]
_camera camPreparePos [0,0,0]
_camera camPrepareFOV 0.700
_camera camCommitPrepared 0

Привязывание камеры к пуле
Снайперу с свд которого зовут sniper в инит пишем:
this AddEventHandler ["fired",{_this exec "bullet.sqs"}]
Скрипт bullet.sqs
_camera = "camera" camcreate [0,0,0]
_camera cameraeffect ["internal", "back"]
_Rocket = nearestObject [sniper,"B_762x54_noTracer"]
_camera camSetTarget _Rocket
#loop
?(IsNull _Rocket): goto "next"
_camera camSetRelPos [-0.5,-7,1]
_camera camCommit 0
goto "loop"
#next
_camera cameraeffect ["terminate", "Back"]
camdestroy _camera

sniper - имя стрелявшего.
"B_762x54_noTracer" - название боеприпаса к которому привязываем камеру.
Камера должна привязываться к пуле при каждом выстреле которые произведет этот юнит.
Что бы убрать привязывание камеры, активируем команду: sniper removeAllEventHandlers "Fired"

Спутник:

"colorCorrections" ppEffectEnable true; "filmGrain" ppEffectEnable true;
"filmGrain" ppEffectAdjust [0.1, -1, 0.1, 0.05, 2, false]; "filmGrain" ppEffectCommit 1;
"colorCorrections" ppEffectAdjust [1, 0.75, 0, [0.8,0.9,1,-0.1], [1,1,1,2], [-0.5,0,-1,5]]; "colorCorrections" ppEffectCommit 1;

РАСПРОСТРАНЕННЫЕ ОШИБКИ:
- не путайте _cam и _camera, если при создании камеры, вы указываете одно из приведенных названий, то вы должны использовать его на протяжении всего скрипта
- не создавайте камеру по 100 раз, это действие необходимо выполнить только 1 раз, в самом начале скрипта.
- будьте внимательны к синтаксису.
- не нагромождайте скрипт сразу, делайте все последовательно. Действуйте по принципу "Написал -проверил"
- не делайте из ролика, демонстрацию техники и юнитов, он должен нести определенный смысл.
- не нагромождайте ролик триггерами с отчетом времени и т.д (чтобы например через 50 секунд текст вывелся на экран). Велика вероятность что вы получите не очень хороший ролик.
___________________________________________________
Теперь вы более менее знаете, что нужно сделать, чтобы создать свой небольшой ролик.
Критику, благодарность, советы писать сюда: mikezarb@yandex.ru

Список используемой литературы:
"Учебник по созданию скриптовых роликов " от snYpir

"Пособие по созданию роликов" от PIONEER
"Активная карта" от Ринзы
"Справочник мапмэйкера. Arma.Версия- 2.0"
http://community.bistudio.com

Данное пособие подготовлено Mikezar для начинающих и уже ознакомленных с основами создания роликов.



Размер файла на сервере: 103.1Kb



Хотите еще больше новостей? Подпишитесь на рассылку

Введите e-mail адресс:

Похожие материалы
Дата добавления: 17.08.2011, 11:32
Категория: Полезная справочная информация | Добавил: PIONEER | Теги: роликов, статья, созданию
Автор: mikezarb
Версия: 1.1
Источник: http://arma.at.ua
Просмотров: 1505 | Загрузок: 114 | Всего Комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Верстка by ArmA-2