Эта первая статья из серии CoD4 Moviemaking. В таких случаях принято начинать с основ, но об этом как-нибудь позже. В этой же статье мы поговорим о всех тех интересных "фишках", которые можно организовать, используя один лишь движок CoD4.
Солнце Мувик Cereal Killers 1.337 многие сочли переполненным ненужными эффектами, но в нем впервые были использованы некоторые эффекты "на движке" CoD'а. К примеру, "крутящееся" солнце на 1:15. За угол, под которым падает свет от солнца, отвечает переменная r_lighttweaksundirection. Значение переменной - вектор x y z. Например: r_lighttweaksundirection "0 180 360". Для того чтоб солнце прокрутить на 360, необходимо динамически менять значения этого самого вектора. В этом нам поможет vstr. Данная команда позволяет работать с пользовательскими переменными. Вот как мы сделаем: set solnce0 "r_lighttweaksundirection -50 0 0; wait 1; vstr solnce1" set solnce1 "r_lighttweaksundirection -50 1 0; wait 1; vstr solnce2" set solnce2 "r_lighttweaksundirection -50 2 0; wait 1; vstr solnce3" ... set solnce360 "r_lighttweaksundirection -50 360 0;" где: set - команда, инициализирующая переменные solnce0 - название переменной. Может быть любым, но желательно использовать следующие символы - a-z, A-Z,0-9, _ "..." - тут пишем значение wait 1 - пауза в 1 миллисекунду vstr solnce1 - обращаемся к следующей переменной В solnce360 нет wait и vstr, т.к. полный круг уже пройден, а зацикливание нам не нужно.
Всё это сохраняем в текстовый файл, называем его, например, sun.cfg и кидаем в папку "main", находящуюся в директории, в которую был установлен CoD4 (обычно это "x:\Program Files\Activision\Call of Duty 4 - Modern Warfare\"). Затем, при просмотре демки с нужным нам фрагментом, в консоли пишем "/exec sun.cfg" (можно сделать бинд) и затем вызываем solnce0 - "/vstr solnce0" (опять же, можно сделать бинд, например bind F1 "vstr solnce0"). Можно прописать timescale 0.001 - это замедлит перемещение игроков, но солнце при этом будет крутится с обычной скоростью - смотрится эффектно. После timescale также можно прописать cl_freezedemo - при этом действие на экране застынет, а солнце будет продолжать крутиться! Если все было сделано правильно - наслаждаемся результатом. Рабочий пример скрипта в архиве.
Туда-обратно И опять Mazarini, на этот раз с, наверное, лучшим мувом по CoD4 - Carrera Rapida. Все видели на 5:54 минуте, как оружие постепенно отдаляется и потом идет +15. Делается это аналогично примеру с солнцем, только в этом случаем нам поможет переменная cg_fovscale: set fvscl0 "cg_fovscale 1.125; wait 1; vstr fvscl1" set fvscl1 "cg_fovscale 1.124; wait 1; vstr fvscl2" set fvscl2 "cg_fovscale 1.123; wait 1; vstr fvscl3" ... set fvscl5 "cg_fovscale 0.2;" В архиве с примерами есть 3 варианта: fov.cfg - приближение с 1.125 до 0.2 и обратно fov01 - только отдаление fov10 - только приближение Этот эффект также можно использовать совместно с timescale/cl_freezedemo.
360° Этот эффект частенько появляется в CoD-мувиках - камера плавно крутится вокруг 3D-модельки персонажа. Система та же, переменная - cg_thirdpersonangle: set spinr0 "cg_thirdpersonangle 0; wait 1; vstr spinr1" set spinr1 "cg_thirdpersonangle 0.5; wait 1; vstr spinr2" set spinr2 "cg_thirdpersonangle 1; wait 1; vstr spinr3" ... set spinr720 "cg_thirdpersonangle 360; wait 1; vstr spinr721" set spinr721 "cg_thirdperson 1;" Пример взят из конфига vacuum'а и состоит из двух частей: поворот на 360 влево и вправо. Данный трюк отлично работает с cl_freezedemo - матрица, да и только.
Left Handed В мувике Redesert от Rna многим понравилось оружие в левой руке. Сделать это очень просто, за положение оружия отвечают переменные cg_gun_y, cg_gun_x и cg_gun_z. Для того, чтобы переместить оружие влево, нужно увеличить значение cg_gun_y. Например, /cg_gun_y 10. Можете также поэкспериментировать со значениями x и z.
Ночь
В том же Redesert автор использовал еще один интересный прием: действие происходило в темное время суток. Для этого: r_filmtweaksunlight 0 - выключаем тени (можно оставить, если планируется яркая луна) r_filmtweakdarktint 0 0 1 - делаем все вокруг синим. Конечно же, выглядит неестественно, так что нужно будет поэкспериментировать со значениями R G B. r_filmtweaklighttint 0 0 1 - делаем синим небо (так же нужно подбирать значения) Для большего реализма можно подкрутить яркость и контраст: r_filmtweakbrightness и r_filmtweakcontrast.
Конфиги с примерами -скачать можно сдесь здесь.
|