Для начала, как всегда, заготовка. В этот раз ничего
сложного, комната 512х512х160. Раскрасьте ее так, как вам хочется,
придерживаясь лабораторного стиля.
|
Ну, вот, заготовка для стационарного лазера готова.
Займемся самим лазером. В данном случае можно применить env_laser. Разместим
его в том месте, где должно быть начало лазера.
Важнейшие свойства лазера:
Name - имя лазера. Используется в том случае, если лазер работает не
постоянно, а включается/выключается
Render FX - способ отрисовки. Можно выбирать любой, но для лазера как
такового характерен Normal.
Target of laser - цель лазера. Обычно в качестве цели используется info_target,
но может быть использована любая другая Entity. В случае, если это point
entity, лазер будет нацелен в центр ее, если же используется brush
entity, то в комплект его должен входить браш из текстуры ORIGIN.
В таком случае, лазер будет нацелен в центр этого браша.
Brightness - яркость лазера. Чем больше значение - тем
"плотнее" лазер
Beam Color - цвет лазера. Привычный - красный цвет, как от рубинового
лазера.
Width of beam - толщина лазера.
Amount of noise - значение "дрожания" лазера. Чем больше
значение, тем больше отклонение лазера от прямой.
Sprite name - имя спрайта лазера. По умолчанию -
sprites/laserbeam.spr. Но можно использовать и любой другой.
End sprite - спрайт конца лазера. Он может отличаться от основного, но
не всегда используется.
Damage - повреждение в поле лазера за секунду.
Флаги:
Start on - изначально включен
StartSparks - искры у основания
EndSparks - искры у конца
Decal End - нанесение декалей (черная точка) в том месте, где лазер
соприкасается с чем-либо.
В нашем случае имя не обязательно, цель лазера - target, яркость -
100, цвет - рубиново-красный, толщина - 20, коэффициент дрожания - 0, спрайт
- sprites/laserbeam.spr, повреждение - 100. Отметим также флаги Start
on, EndSparks, Decal End, для большей правдоподобности
лазера.
Поместите там, где должен быть конец лазера, info_target с именем target.
Один лазер вполне готов и боеспособен.
|
|
Теперь создадим более продвинутый лазер. Помните, как
после катастрофы некоторые лазера двигаются по определенной траектории?
Скопируйте полностью браши, входящие в лазерную установку, и поставьте ее
рядом с первой. Только панель, куда упирается лазер, сделайте больше. Вот
так:
|
|
Теперь определимся с целью этого лазера. Поскольку лазер
должен двигаться, целью будет func_train. Надо только не забыть, что в
его состав должен входить браш с текстурой ORIGIN. Но одного этого
браша для func_train недостаточно, будет возникать ошибка. Поэтому при
помощи текстуры GLASS_BRIGHT создаем еще один браш. Отправляем его toEntity, Class - func_train, name - target1, render
mode - texture, fx amount - 0 (стекло будет полностью прозрачным), first stop
target - t1. Теперь разместим толчки
передвижения func_train. Это path_corner с разными именами,
первая из которых - t1. Разместите их как угодно, но так, чтобы при
движении по ним центр ORIGIN браша совпадал с плоскостью панели.
Теперь создадим кнопку, включающую func_train. Ничем особенным она не
отличается от любых других кнопок.
|
|
В
поле targetted object кнопки - manager. Отметьте также флаг Don't Move.
Теперь создадим env_laser в том месте, где предполагается начало
лазера. Установите его свойства так же, как и у первого лазера, но не
отмечайте флаг start on. Имя лазера пусть будет laser1. Для
того, чтобы он включался вместе с func_train, нужно использовать multi_manager
с именем manager. В полях этого менеджера отметим: laser1 с
параметром 1 и target1 с параметром 1.
Добавьте info_player_start и свет. Вот и все. Любуйтесь!
|
|