ZDoom. Камеры.

Предисловие

В данном уроке мы разберем 3 вида камер:

  1. Security Camera
  2. Aiming Camera
  3. Moving Camera

Приступим.

Покачивающаяся камера (SecurityCamera)

Рассмотрим самую простую камеру «Security Camera«. Для начала, добавьте «Security Camera» к себе на карту.

И задайте ему нужные настройки.

  • Maximum Yaw: указывает максимальный угол поворота камеры (влево / вправо)
  • Cycle Time (octics): указывает время, за которое камера повернется влево / вправо. Чем меньше время, тем быстрее поворачивается камера.

Мы указали этой камере tag: 1, что-бы можно было на неё переключится. Для переключения, используется комманда ChangeCamera.

Теперь перепишите следующий код к себе в ACS:

#include "zcommon.acs"
script 1 ENTER
{
 ChangeCamera(1,0,0);
}

Скрипт 1 запустится, в момент подключения игрока на карту (ENTER). Разберем синтаксис ChangeCamera:

ChangeCamera(tid_камеры, tid_игрока, revert);
  • tid_камеры — игрок будет видеть изображение этой камеры.
  • tid_игрока — кто будет видеть изображение камеры.
  • revert — если true, то любое действие вернет игроку его исходную камеру.

Теперь запустим.

Перейдем к следующей камере.

Камера с наведением (AimingCamera).

Данная камера постоянно наводится на объект, с нужным tid.

Сначала, поставьте «Aiming Camera» на свою карту.

И настройте камеру.

  • Pitch — указывает начальный поворот камеры вверх / вниз.
  • Max. yaw per second — задает скорость изменения yaw, при наведении.
  • Max. pitch per second — задает скорость изменения pitch, при наведении.
  • Target Thing Tag — указывает tid предмета, на который наводится камера.

Теперь в ACS, с помощью ChangeCamera, переключитесь на нужную камеру.

ChangeCamera(2,0,0);

И поставьте монстра на карту, с tid = 100. Готово, теперь камера будет наводится на монстра.

Но, если вы хотите, что-бы камера наводилась на игрока, то придется немного повозится. Первым делом, добавьте следующий код в ACS:

script 1 ENTER
{
 Thing_ChangeTID(0,100);
 ChangeCamera(2,0,0);
}

Комманда Thing_ChangeTID заменила объекты с tid = 0, на объекты с tid = 100. На деле это значит, что у игрока теперь tid = 100.

Теперь, камера будет наводится на игрока.

Двигающаяся камера (MovingCamera)

Данная камера самая продвинутая, и самая интересная, на мой взгляд. Это та самая камера, что вы видели на превью.

Перво наперво, поставьте «Moving Camera» на карту.

И задайте ей, нужные настройки.

«Moving Camera» работает в связке с «Interpolation Point«, поэтому в графе Interpolation Point Tag — задаем tag первой точки (в нашем случае 4).

Подробнее об Interpolation Point, я рассказывал в уроке ZDoom. Двигающийся SkyBox.

Ок, накидаем путь нашей камере.

Также, к любому из «Interpolation Point» можно привязать действие (вызов скрипта, открытие двери). Делается это с помощью «Interpolation Special«.

Создаем «Interpolation Special» и присваиваем ему тот же tid, что и «Interpolation Point«

И указываем ему нужный Action, в нашем случае вызов скрипта. Кстати, код этого скрипта представлен ниже.

script 100 (void)
{
 ChangeCamera(0,0,0);
}

Данный скрипт, возвращает камеру игроку.

Смотрим, что получилось.

Итоговый результат.

avatar

Пожалуйста отключи блокировщик рекламы, или внеси сайт в белый список!

Please disable your adblocker or whitelist this site!