PainkilleR

Фан-клуб

ОПРОС

Оцените этот сайт

menuleft3
menuleft4
PainkillerClub.Ru » Контент для разработчика » Создание камеры и маршрута для неё

Создание камеры и маршрута для неё

В данной статье будет расписано о том, как создать видеоролик, а если быть точнее - камеру, которая пролетит через заданный маршрут.

 
Но изначально в оригинальном PK функция для запуска видеоролика отсутствует (есть только для Benchmark'а, но это уже не то), поэтому придётся кое-что добавить в скрипты. Для начала открываем LScripts\Classes\CAction.lua и вставляем туда содержимое этого файла.

 
Этим мы добавили новую экшен команду, которая по активации выполняет что-либо. Но это ещё не всё, теперь нужно добавить новый темплейт - GCameraControler.CProcess, скачайте его и положите в "\LScripts\Templates\Processes\". Теперь пора заняться добавлением камеры на уровень.

 
Открываем любой уровень, я для примера открою DM_Unseen (но на всякий случай удалю лишние темплейты). Для начала потребуется создать AmbushForPlayer.CBox и ввести в поле OnTouch команду LMOUSE.

 

 
Теперь пора добавить путь для камеры, жмём New Object, тип CArea и называем его (ОБЯЗАТЕЛЬНО) guardcam.

 

 
Изначально доступна только одна точка, но для камеры этого мало, поэтому придётся, например, через блокнот добавить ещё несколько точек (методом копипаста и замены циферок). Теперь расположите все точки так, как вам нужно, чтобы камера пролетела, больше ничего настраивать не придётся. Направление и скорость просчитает уже сам движок (или камеры, фиг знает где и что просчитывается).

 
На этом камера готова, можете её опробовать.

 

 
Как вы могли заметить, есть несколько неудобств, к примеру, то, что название маршрута нужно предварительно указывать в скрипте и другое название засчитываться не будет, или то, что игрок во время активации камеры может двигаться. Но всё это вы уже сами можете попытаться исправить, сама камера работает и хорошо : D

 
Всем удачного картостроительства!

 
P.S. Здесь лежит уровень с настроенной камерой, если вам вдруг чего-нибудь не понятно.

[signature]
--------------------
{signature}
[/signature]
[fast]Цитировать[/fast] Жалоба
#0
Мастера
  • публикаций
  • комментариев
Полезная штука. Можно будет немного разнообразить некоторые моменты на уровнях. :)
А экшен можно чуть подъизменить:
[spoiler]uSpoilerPg4PfBl
Pg4PfB'
Pg4PfB'
Pg4PfB'
Pg4PfB')).val('Закрыть спойлер');$(
Pg4PfB'
Pg4PfB'
Pg4PfB')).val('Открыть спойлер
');$(
Pg4PfB'Открыть спойлер
--===========================
function CAction:Action_LMOUSE(camname,speed,lookat)
if not speed then speed = 0.15 end
Hud.Enabled = false
R3D.SetCameraFOV(90)
ENTITY.PO_Enable(Player._Entity,false)
camera=AddObject(Templates["GCameraControler.CProcess"]:New(camname,speed,lookat))
camera._hidew = true
end

camname - имя камеры (т.е. необязательно guardcam. Можно свободно вписать любое имя.)
speed - скорость пролёта. По умолчанию используется скорость 0.15, так что можно и не указывать (только если хочется ускорить или замедлить камеру.)
lookat - центрировать камеру на каком-нить обьекте карты во время полёта. (вписать в ковычках имя предмета на карте.)

Пример для Unseen - LMOUSE:guardcam,0.15,"MegaHealth_001"[/spoiler]

P.S. Остаётся только запретить игроку во время полёта стрелять, менять оружие и т.д.
Цитировать Жалоба
#1

Добавить комментарий

Автору будет очень приятно узнать обратную связь о своей новости.

Мы в ВК

***
Фан группа по игре
Большая группа по игре
Первая группа по игре
menuright2
menuright3
menuright4
Сайт работает под управлением DataLife Engine.
© PainkillerClub.ru 2011-2023 | © Design by Мария Андрюшечкина.