Что это такое?
Внутриигровые ролики-новое в движке Source. Они позволяют проигрывать внешние игровые файлы в игре. Пример- возле каждого лифта между тестовыми комнатами
Создаем ролики!
1.Браш
Это бэкграунд, на котором будет проигрываться ролик. Создаем браш с текстурой "elevator/elevator_screen" (там где хотим видеть мувик) и превращаем в func_detail.Для этого тутора будет использоваться браш 64х128 юнитов. Запомните, что этот браш-бекграунд, видео проигрывает другая энтити
2.Энтити
Ставим vgui_movie_display в левом нижнем углу браша. Назовите его как хотите, чтоб вам легче запомнилось, потому что вам это скоро понадобится! Назовём его "Screen1". Установите его группу:"Screen_group" и измените значения "Panel Width"и"Panel Height" соответственно нашему брашу(64х128). Теперь выключаем "Smart edit" и добавляем "forcedslave" и "stretch", оба со значением 1(примечание:это необходимо, чтобы правильно всё активировалось)
Теперь создаём второй vgui_movie_display и называем, например, "Screen1_master"(имя, опять же, не имеет значения, главное, чтобы вы его запомнили)и ставим его куда хотим. Оно cкажет энтите movie_display что играть и даже заставит повторять видео [тут я не уверен, исправьте, если что]. Группу для этой энтити(vgui_movie_display)ставим ту же, что и предыдущей энтити("Screen_group") и изменяем "Movie Filename" на название одного из видео из папки "portal2/portal2/media". Поставьте разрешение повтора на "yes" или "no", как хотите, и установите высоту и ширину на 2
3.Триггер
Триггер необходим, чтобы начать видео. В этом туторе мы сделаем так, чтобы мувик начинался с загрузки карты. Для этого создаем logic_auto, и добавляем такие оутпуты:
Код: Выделить всё
OnMapSpawn->Screen1->Enable
OnMapSpawn->Screen1_master->Enable
4.Мувики как на лифтах
Если вы хотите проигрывать мувики на лифтовых экранах, вам нужно будет сделать скрипт. Для этого необходимо сделать 46 vgui_display[может, vgui_movie_display] как описано ранее. Они должны быть в группе "arrival_signs" либо "departure_signs", и называться "@arrival_sign_[number]" где [number]-номер экрана(от 1 до 46) для прибывающего лифта. Если вы посмотрите на лестницу, начинайте считать справа, 1-23-верхняя часть, 24-46 нижняя часть[fixed] сделайте 1 мастер-экран "@arrival_video_master". Если вы хотите уезжающий лифт, то изменитe arrival на departure.
Теперь скрипты. Делаем энтити logic_script "arrival_elevator-video_script" с скриптом "videos/video_splitter.nut". Этот скрипт содержит информацию о том, какое видео на какой карте будет проигрываться, соответственно, вам нужно его изменить.
Все в этом файле содержится в формате
Код: Выделить всё
{ map = "sp_a1_intro1", arrival = "", departure = "" }
То есть, вам нужно добавить в файл такую строчку
Код: Выделить всё
{ map = "my_map", arrival = "my_arrival_video", departure = "my_departure_video" }
После того, как вы сохранили скрипт, вам необходимо запустить фильм триггером. Всё делается также, как и было описано ранее, но с немного другими аутпутами. Если вы хотите сделать мувик, запускающийся при запуске карты, делаем энтити logic_auto с такими параметрами
Код: Выделить всё
OnMapSpawn->arrival_elevator-video_script->RunScriptCode->StartDestructedArrivalVideo(23,2)
Теперь у вас есть свой лифт с экранами :)
Примечания
Скриншоты
Префарбы лифта:просто лифт, лифт с экранами(настроить скрипт под себя)