На главную

 

Два способа сделать лазер
 


 

Для начала, как всегда, заготовка. В этот раз ничего сложного, комната 512х512х160. Раскрасьте ее так, как вам хочется, придерживаясь лабораторного стиля.

 

Теперь при помощи вертексов и текстуры C2A4_LASGUN соорудите нечто, напоминающее лазерный стенд. Подведите к нему трубу из текстуры C1A1_LASER. Ну, примерно так:



 

Ну, вот, заготовка для стационарного лазера готова. Займемся самим лазером. В данном случае можно применить 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 и свет. Вот и все. Любуйтесь!

 


На главную
 

Hosted by uCoz