Объект point_anglesensor используется для определения когда какой-нибудь объект "смотрит" в на другой объект.
Не обнаружены.
- объект func_breakable_surf, функция "Shatter"; - объект keyframe_rope, функция "SetForce"; - объект move_rope, функция "SetForce"; - объект shadow_control, функция "Direction";
csssdk_point_anglesensor.vmf
На карте установлено несколько угловых детекторов для разных объектов.
Первая вращающаяся стрелка (слева от точки появления игроков) проверяет: смотрит ли она на объект info_target, расположенный рядом. Если смотрит, то из земли пойдёт пар.
Вторая вращающаяся стрелка (справа от точки появления игроков), так же как и первая проверяет: смотрит ли она на объект info_target, расположенный рядом. В отличие от первой стрелки, пар для этой стрелки пойдёт лишь спустя 2 секунды, как она начнёт смотреть на свой info_target.
Третья вращающаяся стрелка, расположенная чуть дальше первой, изменяет свой цвет в зависимости от того насколько точно она смотрит на свой info_target. Чем точнее она смотрит на info_target, тех зеленее она выглядит. Перед этой стрелкой стоит пульт с кнопкой. Нажатие на кнопку пульта вызывает функцию "Test" для объекта point_anglesensor, которая заставляет выполняться событие "OnFacingLookat" или "OnNotFacingLookat".
Последняя стрелка на карте демонстрирует что цель "Look At Entity" так же может быть подвижна, как и сам объект "Target Entity Name".
В качестве демонстрации возможного применения объекта point_anglesensor на практике, на карту была помещена "лазерная пушка". При помощи пульта управления направьте лазерный луч на мишень на стене. Если направление лазерного луча будет достаточно точным, то с верху стены упадёт бочка.
Обратите внимание, что некоторые Brush-объекты, помещённые на карту, повёрнуты в редакторе Hammer вовсе не так как они повёрнуты в игре. Это особенности Brush-объектов, которая не позволяет указывать им угол поворота до компиляции карты. В нашем случае, нам нужны точные углы поворота но так же необходимо "отворачивать" Brush-объекты в начале раунда. Чтобы Brush-объекты автоматически повернулись на нужный угол в начале каждого раунда для них просто указывается свойство "Pitch Yaw Roll (Y Z X)" (keyvalue = angles). Особенно важно понимать и знать, что Brush-объекты поворачиваются на нужный угол до того как будет выполнена привязка объектов через свойство "Parent". А это подразумевает, что нужно указывать свойство "Pitch Yaw Roll (Y Z X)" для всех зависимых друг от друга Brush-объектов. На карте таким образом была повёрнута первая стрелка и лазерная пушка. Что касается объекта env_laser, для него нужно обязательно указывать свойство "Pitch Yaw Roll (Y Z X)", иначе его лазерный луч будет отображён с ошибкой. Это баг, о котором можете подробнее почитать в пункте "Ошибки" объекта env_laser.