Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Краткое справочное руковод...doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
218.11 Кб
Скачать

Copyright (c) 2004, Компания "Best Way"

Краткое справочное руководство по системе взаимодействия объектов (interactions)

Содержание

1 Принципы работы 2

1.1 Общие сведения 2

1.2 Описание interactions 2

1.3 Структура файлов interactions 2

2 Физические параметры 3

3 События 3

4 Условия 5

5 Действия 6

5.1 Управление анимациями 6

5.2 Управление звуками 7

5.3 Управление волюмами 7

5.4 Управление компонентами 8

5.5 Управление зонами 9

5.6 Управление спецэффектами 9

5.7 Управление экипажем 10

5.8 Управление здоровьем 11

5.9 Другие действия 12

5.9.1 spawn 12

5.9.2 able 13

5.9.3 blastwave 13

5.9.4 bullet_detonate 14

5.9.5 chassis_work 14

5.9.6 weapon_work 14

5.9.7 clear_inventory 15

5.9.8 delete 15

5.9.9 hide 15

5.9.10 ik_enable 15

5.9.11 say 16

5.9.12 tear 16

5.9.13 impulse 16

6 Дополнительные возможности 17

6.1 Отладка 17

  1. Принципы работы

    1. Общие сведения

Описание взаимодействия между объектами в игровом мире производится с помощью системы interactions. Система оперирует такими понятиями, как физические параметры, события, условия, действия.

    1. Описание interactions

Для задания interactions используется конфигурационный файл set\interaction.set. Он включает в себя все файлы со взаимодействиями. В interaction.set существуют два раздела – patterns, описывающий свойства объектов, заданных через props, и terrains, описывающих взаимодействия с различными типами территорий.

В данный момент в interaction.set включены следующие файлы:

  • set\interaction\generic.inc – описываются взаимодействия с материалами;

  • set\interaction\dummy.inc – различные примитивные сущности (куски от трупов, куски домов, бомбы, гранаты, мины, взлетающие бочки…);

  • set\interaction\flora.inc – природа (растения);

  • set\interaction\fauna.inc – природа (животные);

  • set\interaction\human.inc – люди;

  • set\interaction\vehicle.inc – транспортные средства (общие свойства);

  • set\interaction\car.inc – машины;

  • set\interaction\moto.inc – мотоциклы;

  • set\interaction\tank.inc – танки;

  • set\interaction\building.inc – дома;

  • set\interaction\construction.inc – другие строения;

  • set\interaction\terrain\terrain.inc – взаимодействия объектов с типами территорий;

Для того, чтобы какой-то объект (сущность, юнит, модель) начал взаимодействовать с окружающим миром по определенным правилам, необходимо в файле описания модели (.def) определить его свойства (props).

Например, для людей свойства могут быть определены следующим образом:

{props “flesh” “human”}

для танков:

{props “steel” “vehicle” “tank” “turret”}

При задании свойства дополняют друг друга. Например, если в файле описания модели написано {props “vehicle” “car”}, а затем {props “car” “wheeled”}, то результирующими будут свойства “vehicle” “car” “wheeled”;

    1. Структура файлов interactions

Файлы с описаниями interactions задаются в формате SDL и имеют следующую структуру:

{<свойство>

{<физические параметры>}

{on <событие>

{if <условие>

{<действие>}

}

}

}

При этом внутри события условия и действия могут произвольно комбинироваться.

Важное свойство формата SDL – количество открываемых фигурных скобок должно соответствовать количеству закрываемых. При этом желательно (для удобства читаемости) производить форматирование блоков, как показано выше.

  1. Физические параметры

Для объектов могут быть заданы следующие физические параметры:

  • коэффициент трения. Характеризует, во сколько раз сила трения больше чем сила, с которой действует тело. Изменяется в диапазоне от нуля до бесконечности. Значение по умолчанию равно 1;

{friction <значение>}

  • коэффициент упругости. Изменяется в диапазоне от нуля до единицы. Значение по умолчанию равно 0.3;

{restitution <значение>}

  • коэффициент поглощения взрывной волны. Означает, сколько единиц энергии (кг. тротила) поглощает в себе каждый волюм. Изменяется в диапазоне от нуля до бесконечности. Значение по умолчанию равно нулю.

{blast_absorption <значение>}

Пример записи физических параметров:

{friction 0.5}

{restitution 0.2}

{blast_absorption 2}