Движущийся прожектор-видоискательЗАДАНИЕ: Создать прожектор, луч которого и он сам движутся по заданной траектории (использован на вышках в карте Dam).
Для этого нам понадобится объект misc_spotlight. Это готовая анимированная модель прожектора с рассеянным лучом.
Допустим, у нас на карте уже есть вышка. В том месте, где мы хотим поставить прожектор, приготовим под него основу. Это может быть простая вертикальная палка (как в Dam) или же другая конструкция, которая якобы будет вращать прожектор и поставим на нее misc_spotlight. Заходим в его свойства и ставим галочку на start_on (включен изначально).
Откомпилировав карту, видим прожектор, направленный в одну точку и светящий рассеянным светом. Изменить направление фонаря ключом angle не удастся.
Чтобы создать траекторию луча прожектора или фиксированную точку освещения от него, в свойствах misc_spotlight задаем ключ target со значением wolf (произвольное).
Теперь нам нужно создать wolf.camera (текстовый документ) – этот файл и будет управлять действиями misc_spotlight. Помещаем его в папку cameras (Main).
Чтобы понять, как будет работать наш прожектор-камера, в оригинальной игре в папке cameras находим damspot1.camera. Разберем его значения.
cameraPathDef {
time 30.000000
camera_Spline {
time 0
type 2
name position
baseVelocity 2560.000000 //базовая скорость
target {
granularity 0.025000 //степень детализации
( -1464.000000 -3320.000000 2304.000000 )
( -1376.000000 -3332.000000 2304.000000 )
( -1340.000000 -3220.000000 2304.000000 )
( -1356.000000 -3100.000000 2304.000000 )
( -1384.000000 -3000.000000 2304.000000 )
( -1424.000000 -2904.000000 2304.000000 )
( -1460.000000 -2816.000000 2304.000000 )
( -1492.000000 -2692.000000 2304.000000 )
( -1512.000000 -2572.000000 2304.000000 )
( -1512.000000 -2464.000000 2304.000000 )
( -1512.000000 -2360.000000 2304.000000 )
( -1528.000000 -2236.000000 2304.000000 )
( -1564.000000 -2132.000000 2304.000000 )
( -1640.000000 -2132.000000 2304.000000 )
( -1716.000000 -2156.000000 2304.000000 )
( -1740.000000 -2264.000000 2304.000000 )
( -1744.000000 -2384.000000 2304.000000 )
( -1708.000000 -2516.000000 2304.000000 )
( -1660.000000 -2608.000000 2304.000000 )
( -1620.000000 -2776.000000 2304.000000 )
( -1572.000000 -2928.000000 2304.000000 )
( -1568.000000 -3060.000000 2304.000000 )
( -1572.000000 -3184.000000 2304.000000 )
( -1496.000000 -3292.000000 2304.000000 )
( -1348.000000 -3336.000000 2304.000000 )
( -1424.000000 -3240.000000 2304.000000 )
}
}
fov {
fov 5.000000 //плотность луча
startFOV 0.000000
endFOV 0.000000
time 0
}
}Итак, видим, что луч движется по Spline. Также указана базовая скорость и степень детализации луча. Ниже указаны координаты 26 точек кривой, по которых следует луч. 13 из них справа – налево, 13 (по той же траектории) – слева – направо (1-я вышка в карте Dam).
Этот же скрипт с изменениями мы можем использовать в своем wolf.camera, но для этого нужно изменить координаты точек кривой.
На практике, можно сделать так. В Радианте, в точке начала пути камеры, поставить любой объект и в свойствах скопировать его координаты (напр. 335 -582 43).
Копируем скрипт из damspot1.camera в наш wolf.camera и в первой строчке координат вместо ( -1464.000000 -3320.000000 2304.000000 ) ставим наши координаты до точки с нолями ( 335.000000 -582.000000 43.000000 ). И так изменяем все последующие координаты, двигая (не снимая выделения в виде сверху) объект в Радианте по нужной нам кривой.
Чем больше будет точек – тем более плавно будет двигаться луч прожектора. Сохраняем wolf.camera, компилируем карту и смотрим эффект.