Глава XVII. Машины, лифты, платформы.
§ 17.1 Создание машины
В этой статье мы расскажем, как создаются машины. Нам понадобятся следующие энтити-объекты:
Машины в CS появились не так давно, тогда в официальный мэппэк была добавлена карта de_jeepathon2k, которая быстренько оттуда исчезла в связи с многочисленными глюками, связанными с машинами. Так что не удивляйтесь, если Ваша машина провалится сквозь землю или наоборот зависнет на высоте 5 м.
На картинке ниже Вы можете увидеть, как будут выглядеть машины на нашей тестовой карте:
Сама машина - это брашевый энтити-объект
func_vehicle, в состав которого обязательно должен входить
ORIGIN-браш (т.к. машина - объект вращающийся). Сначала мы определяем несколькими брашами форму машины, затем создаем
ORIGIN-браш и превращаем все это в
func_vehicle. Конечно, не обязательно придавать машине форму машины. Можно заставить ездить и доску, и ящик, и бочку.
После этого необходимо создать зону, из которой игрок будет управлять машиной. Эта зона определяется брашевым энтити-объектом
func_vehiclecontrols, который необходимо со всех сторон закрасить текстурой
AAAtrigger. Зона управления не должна входить в состав машины, она просто размещается вокруг ее кабины.
Ну, и последнее, необходимо сделать два точечных энтити-объекта
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/