Канал в IRC
RusNet: #cmt
Учебник по созданию карт
Глава XVII. Машины, лифты, платформы.

§ 17.1 Создание машины

В этой статье мы расскажем, как создаются машины. Нам понадобятся следующие энтити-объекты:
Машины в CS появились не так давно, тогда в официальный мэппэк была добавлена карта de_jeepathon2k, которая быстренько оттуда исчезла в связи с многочисленными глюками, связанными с машинами. Так что не удивляйтесь, если Ваша машина провалится сквозь землю или наоборот зависнет на высоте 5 м.

На картинке ниже Вы можете увидеть, как будут выглядеть машины на нашей тестовой карте:

Так будут выглядеть машины на тестовой карте


Сама машина - это брашевый энтити-объект func_vehicle, в состав которого обязательно должен входить ORIGIN-браш (т.к. машина - объект вращающийся). Сначала мы определяем несколькими брашами форму машины, затем создаем ORIGIN-браш и превращаем все это в func_vehicle. Конечно, не обязательно придавать машине форму машины. Можно заставить ездить и доску, и ящик, и бочку.

После этого необходимо создать зону, из которой игрок будет управлять машиной. Эта зона определяется брашевым энтити-объектом func_vehiclecontrols, который необходимо со всех сторон закрасить текстурой AAAtrigger. Зона управления не должна входить в состав машины, она просто размещается вокруг ее кабины.

Объектом func_vehiclecontrols определяем зону управления автомобилем


Ну, и последнее, необходимо сделать два точечных энтити-объекта path_track, которые определяют начальное направление машины (т.е. в какую сторону она будет развернута).

Создаем 2 точечных объекта path_track (один под машиной, другой немного в сторонке)


ВАЖНО: при создании машины, ее необходимо ориентировать на виде сверху кабиной налево (так задумано разработчиками), чтобы игра могла определить, где у машины перед.

В игре машина появится на первом объекте path_track и будет направлена на второй объект path_track. Таким образом, совсем необязательно размещать машину именно в том месте, где она должна появиться в игре. Машина появится на первом объекте path_track.


Про ORIGIN-браш в машинах

ORIGIN-браш необходимо размещать в центре машины, вокруг него машина будет вращаться. Размер ORIGIN-браша значения не имеет, более важно положение его центра, т.к. от него зависит расположение машины по вертикальной оси относительно дороги. Возможно, получится так, что машина появится на уровне висящей в воздухе или вкопаной в землю. В этом случае необходимо поправить параметр "Height above track" (т.е. высоту над землей).

Чтобы правильно определить значение параметра "Height above track", нужно в редакторе на 2D-виде сбоку посчитать расстояние от центра ORIGIN-браша до верхней стороны объекта path_track (см. рис. ниже).

Определение параметра


Это расстояние необходимо записать в параметр "Height above track" машины func_vehicle.

Ну, и напоследок, перед тем, как мы приведем свойства всех задействованных объектов, необходимо добавить, что в состав машины (объекта func_vehicle) можно включать CLIP-браши для блокирования передвижений игрока. Например, Вы не хотите, чтобы игроки могли залазить в кузов машины - создаете там CLIP-браш и затем вместе с ним создаете func_vehicle.

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

Func_vehicle (машина)
Name: car1 (имя машины, обязательно)
First stop target: path1 (имя первого объекта path_track)
Sound: 2 (звук, издаваемый при движении машины)
Length of the vehicle: 150 (длина машины в юнитах, рекомендуем поставить значение меньшее на 8-16 юнитов для удобства управления)
Width of the vehicle: 90 (ширина машины в юнитах, также лучше уменьшить на 8-16 юнитов)
Height above track: 8 (высота машины над дорогой, определяется, как написано выше)
Initial speed: 0 (начальная скорость машины, при значении > 0, машина сама поедет в начале раунда)
Speed: 550 (максимальная скорость машины, юнитов в секунду)
Damage on crush: 0 (количество отнимаемых у игрока процентов жизни при попадании под машину
Volume (10 = Loudest): 7 (громкость звука, значения от 0 до 10, где 10 - максимальная громкость)
Bank angle on turns:0 (угол наклона машины в поворотах)

Флаги:

No Pitch (X-rot) - если отмечено, то машина будет поворачиваться только вокруг вертикальной оси Z
No User Control - если отмечено, то игрок не сможет управлять машиной
Passable - если отмечено, то машина будет нематериальной, т.е. через нее можно будет проходить

Func_vehiclecontrols (зона управления машиной)
Vehicle name: car1 (имя машины, которой будет управлять игрок)

Path_track (определяет начальное положение машины)
Name: path1
Next stop target: path2 (впишите сюда имя второго объекта path_track)

Остальные параметры выстявлять не нужно.

Path_track (определяет начальное направление машины)
Name: path2
Next stop target: path1 (впишите сюда имя первого объекта path_track)

Остальные параметры выстявлять не нужно.

Ссылки

func_vehicle.zip [110Кб] - в архиве карта-пример в форматах BSP и RMF.


Глава XVII. Машины, лифты, платформы.


К оглавлению Учебника

© http://cs-mapper.by.ru/
CMT (CS Mapping Tutorials) - © 2006-2011. Created by VM
[ Script Execution time: 0.0197 ]