___________________________
Облеты карт камерой - один из самых простых и распространенных спецэффектов, который можно использовать при создании фрагмувиков и вообще игрового видео. И, хотя, сам по себе этот эффект давно не впечатляет, с помощью него можно решать целый ряд других задач. Как например монтаж или плавный переход между двумя несовпадающими фрагментами демок. Но вот проблема - если мы управляем камерой вручную, движения ее получаются неровными. Как заставить камеру двигаться плавно по заданной траектории? В движке Source для реализации этой задачи существует инструмент Smooth. Я считаю эту функцию довольно базовой, так как с помощью нее, все же, нельзя решить кое-каких задач, а некоторые вещи требуют долгой и кропотливой работы. Однако этот гайд поможет вам разобраться в методах простого смуфинга Source-демок.
1. DemoUI
Я думаю все знакомы с интерфейсом просмотра демок Source.
Вызывается он комбинацией клавиш SHIFT + F2 или консольной командой demoui. Большинство элементов окна Demo Playback нам знакомы, так как они используются для просмотра демок и похожи на интерфейс управления любого видеопроигрывателя. Интерес вызывают три нижние кнопки диалога - Drive, Edit и Smooth. Кнопка Drive позволяет отключить автоматическое управление камерой в POV демке и передать контроль над ней пользователю. Drive работает по механизму выключателя, т.е. имеет два состояния - нажата и отпущена. Кнопка Edit открывает диалог Demo Editor, содержащий базовые функции редактирования демок. Кнопка Smooth открывает диалог смуфинга демок - основное наше рабочее окно.
2.Рабочий материал
Так устроен движок Source, что для смуфинга подойдет не любая демка. Для работы она должна удовлетворять следующим условиям:
Это должна быть POV демка.
Это может быть POV демка спектатора.
Персонаж в POV демке должен быть "живым", т.е. не в состоянии смерти.
Зайдите на сервер за команду, выберите класс и запишите POV демку. Не обязательно что-то делать, достаточно просто постоять на месте. Завершите запись демо, выйдите с сервера. Далее нам понадобится, только эта демка - рабочий материал для смуфинга. Научившись работать с такой простой демкой, позже вы сможете работать с POV демками реальных игроков и игр. Разница небольшая. Загрузите нашу демку и нажмите кнопку Pause. Режим паузы при работе необходим, так как демка во время вашей работы над ней проигрываться не должна.
3.Demo Smoother
Что же, пришло время нажать кнопку Smooth!
Диалог Demo Smoother содержит базовые настройки и элементы управления для смуфинга. Строго говоря, теперь мы будем работать с нашей демкой как с видеофайлом в видеоредакторе с той лишь разницей, что фрейм видеоролика - двухмерный, а фрейм демки - 3D пространство. Для начала мы должны начать кнопку Reload, чтобы сообщить движку перейти в режим смуфинга демки. Теперь нам необходимо выбрать начальный и конечный тики оригинальной демки. Начальный тик соответствует моменту начала движения камеры, конечный тик - конечному моменту пути камеры. Если из конечного тика вычесть начальный, то мы получим длинну конечной демки, которую движок создаст исходя из новых данных движения камеры. В нашем случае в поле Start Tick введем 0, а в поле End Tick - 1000 (предположим что исходная демка длинее 1000 тиков). Для того чтобы сказать движку о том, что мы выбрали тики, необходимо нажать кнопку Select.
4.Построение траектории
Траектория полета камеры строится по опорным или промежуточным точкам, которые расставляете вы. Каждая точка представляет собой положение и направление взгляда камеры в текущем тике. Движок автоматически строит между опорными точками плавную линию. Поэтому сейчас нам нужно перейти на начальный тик смуфинга. Введем в поле Jump To значение 50 и нажмем на кнопку Jump To. Мы сообщили двигу, что та опорная точка, которую мы сейчас поставим на карте будет находится на 50 тике. Теперь в DemoUI нажимем кнопку Drive. Удерживая левую кнопку мыши на кнопке Make Keyframe при помощи клавиш движения перемещаем камеру в нужное нам место. Прилетев в нужную точку, нам необходимо отпустить кнопку Make Keyframe. Отметьте, что если выключить режим Drive и включить функцию Back Off, вы сможете находиться рядом с вашей созданной опорной точкой, т.е. видеть ее со стороны. Сейчас мы создали опорную точку, с вашим текущим положением камеры и направлением взгляда. Чтобы сменить направление взгляда, поверните камеру как вам нужно и нажмите кнопку Make Look Target. После смуфинга все направления взглядов камер будут так же плавно интерполированы, т.е. камера будет плавно поворачиваться. Далее мы должны облететь все места, какие нам необходимы и расставить там опорные точки, не забывая при этом менять тики кнопкой Jump To. Стоит сказать, что вы можете перемещаться между тиками при помощи двух стрелочек по бокам клавиши Resume, внизу диалога смуфинга демок. Это довольно утомительная операция, но Valve не оставили нам другой возможности. Используйте кнопку Resume/Pause в этом случае для быстрого перемещения между тиками. После построения, траектория должна выглядеть примерно так (зеленым цветом):
Чуть выше кнопки Resume/Pause есть две кнопки, которые позволят вам " на месте" проверить получившийся путь камеры. Если вы нажмете Show Original, то камера проследует по оригинальному пути камеры, который был изначально в демке. Show Processed покажет новую, созданную вами траекторию полета. Обратите внимание, что при включенной функции Back Off камера будет двигаться назад.
5.Настройки смуфинга.
На самой траектории полета камеры есть некоторое количество элементов, которые отображают различного рода информацию. Для настроки отображения этих элементов можно использовать ряд опций диалога Demo Smoother:
Show All - показать все элементы траектории.
Hide legend - скрыть линию траектории.
Hide original - скрыть оригинальную линию траектории камеры, если она была в демке.
Hide processed - скрыть линии взгляда на траектории.
Далее нам интересна кнопка Process->. При помощи этого меню можно задать способ смуфинга а так же способ смуфинга положения взгляда камеры. Поэтому мы выбираем опцию Spline Origins, чтобы сгладить поворот камеры. На остальных опциях меню Process остановлюсь кратко, так как они не слишком юзабельны:
Smooth Selection Angles - опция убирает высокочастотный шум и помехи, которые могут возникнуть при движении камеры.
Smooth Selection Origin - тоже самое, что и опция выше, только смуфинг происходит по другому алгоритму. Эта опция чаще всего используется для устранения высокочастотных колебаний при движении камеры.
Linear Interp Angles - способ смуфинга, который берет только начальную и конечную точки пути и, затем, линейно интерполирует движение камеры между ними.
Linear Interp Origin - тоже самое, что и предыдущая опция однако действия производятся с выбранными вами точками.
Так же можете выбрать опцию Spline Angles для сглаживания углов. Вот, собственно, и все. Теперь нажмите кнопку Save в окне Demo Smoother.
6.Заключение
После того как вы выйдите из вашей оригинальной демки, вы найдете в папке с демками новый DEM-файл с приставкой "smooth" в конце имени. Вы можете ее загрузить и посмотреть на получившиеся движения камеры. Для записи этого при помощи fraps или через startmovie не забудте выключить отображение модели игрока командой "cl_drawviewmodel 0" и выключить отображение HUD, командой "cl_drawhud 0". Если Вас не устраивает скорость камеры, ее можно изменить, ускорив или замедлив проигрывание самой демки.
7. FAQ
Q. Я когда-то читал тутор по смуфигну по CSS и там перед тем как начать смуф, нужно было нажать кнопку Revert, а не Reload. Ну я собственно так и делал. А в чем разница? Никто не подскажет?
A. Если Вы нажмете Revert в начале работы, то ничем. Но если тебе надо быстро убрать все что Вы наделали и начать заного, то эта кнопочка как раз для этого. Хотя, в настоящий момент кнопка Reload делает тоже самое.
Q. Можно ли как-нибудь сделать так чтобы было видно себя?
A. Нельзя. Вы - камера. Себя никак не увидеть...