Phys pulleyconstraint

Материал из CSM Wiki
Перейти к навигации Перейти к поиску

Оригинал Phys_pulleyconstraint

Описание

Объект phys_pulleyconstraint – это ограничитель физики, используемый для соединения двух физических объектов невидимой перекидной верёвкой. При таком типе соединения верёвка между физическими объектами как бы перекинута через невидимый блок, с двух концов которого свисают концы верёвки. Если один физический объект движется вверх, то второй физический объект, расположенный на другом краю верёвки, будет в это же время двигаться вниз. Этот физический ограничитель сохраняет сумму длин концов это невидимой верёвки.

Особенности использования

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • На карте может быть установлено множество этих объектов
  • Для объекта должны быть установлены оба свойства "Entity 1" или "Entity 2", иначе в игре могут возникнуть ошибки физики.
  • Первый конец верёвки идёт от этого объекта до физического объекта "Entity 1". Второй конец веревки идёт от точки "Pulley Position 2" до физического объекта "Entity 2".

Ошибки

Не обнаружены.

Заметки

Заметки: Этот объект может быть использован для создания весов.

Параметры

  • Entity 1 – имя первого физического объекта для ограничителя;
  • Entity 2 – имя второго физического объекта для ограничителя;
  • Constraint System Manager – имя объекта phys_constraintsystem, в который будет добавлен этот ограничитель физики; все ограничители физики, добавленные в единую систему ограничений (phys_constraintsystem), не будут бороться друг с другом за право управлять объектами, что позволяет снизить нагрузку на сервер и выполнять более сложные физические взаимодействия не опасаясь физических коллизий; если указано это свойство, то функции "TurnOn" и "TurnOff" не будут работать;
  • Force Limit to Break (lbs) – минимальная сила, которую необходимо приложить для того чтобы сломать этот физический ограничитель;
  • Torque Limit to Break (lbs * dist) – минимальный момент силы, который необходимо приложить чтобы сломать этот физический ограничитель;
  • Play Sound on Break – звук, воспроизводимый когда ломается этот физический ограничитель (выбирается в Sound Resource Browser); громкость звука постоянна.
  • Additional Length – дополнительная длина верёвки; значение этого свойства может быть как положительным числом, так и отрицательным числом; если значение этого свойства положительное, то верёвка сможет растягиваться, а если отрицательное, то верёвка будет сжиматься в начале каждого раунда;
  • Pulley Gear Ratio – соотношение длин двух концов верёвки; чем больше это значение, тем медленнее уменьшается конец верёвки с объектом "Entity 2" и тем быстрее увеличивается конец верёвки с объектом "Entity 1" при совершении равных перемещений объектов "Entity 1" и "Entity 2"; 1.0 – оба конца верёвки изменяются одинаково; 0.5 - конец верёвки с объектом "Entity 1" движется в два раза медленнее чем конец верёвки с объектом "Entity 2"; 2.0 - конец верёвки с объектом "Entity 1" движется в два раза быстрее чем конец верёвки с объектом "Entity 2";
  • Pulley Position 2 – точка откуда выходит продолжение верёвки, к которому будет прикреплен объект "Entity 2" (указывается при помощи Helper’а);
  • Angles Fix (Read-Only) – используется только для того, чтобы в редакторе Hammer не выводилось сообщение об ошибке: Entity (phys_constraint) has unused keyvalue "angles"; не используется игрой CS:S.

Флаги

  • No Collision until Break – если указан один из физических объектов "Entity 1" или "Entity 2", то он НЕ будет сталкиваться с World-геометрией карты; если указаны оба физических объекта "Entity 1" и "Entity 2", то они не будут сталкиваться между собой; эти ограничения накладываются до тех пор, пока не будет сломан этот физический ограничитель, или пока этот физический ограничитель не будет выключен функцией "TurnOff";
  • Start Inactive – в начале каждого раунда автоматически выполнять функцию "TurnOff"; не используется если указано свойство "Constraint System Manager".
  • Keep Rigid – физический ограничитель будет стараться держать длину верёвки всегда постоянной; это делает движения объектов "Entity 1" и "Entity 2" более правильными, поэтому рекомендуется всегда устанавливать этот флажок.

Inputs

  • TurnOn – включить объект; не работает если указано свойство "Constraint System Manager";
  • TurnOff – выключить объект; не работает если указано свойство "Constraint System Manager";
  • Break – сломать этот физический ограничитель; после вызова этой функции этот физический ограничитель удаляется, поэтому нельзя будет включать и выключать этот его функциями "TurnOn" и "TurnOff";
  • ConstraintBroken – аналогична функции "Break".

Outputs

  • OnBreak – вызывается тогда, когда объект ломается;

Карта

csssdk_phys_pulleyconstraint.vmf

Используются объекты

  • phys_pulleyconstraint
  • func_detail
  • func_movelinear
  • prop_physics
  • prop_dynamic
  • func_rotating
  • env_spark
  • move_rope
  • keyframe_rope
  • logic_measure_movement
  • logic_timer

Описание карты

На карте синхронно вверх и вниз движутся сразу несколько объектов func_movelinear. К каждому их этих объектов приставлен объект phys_pulleyconstraint, на другом конце которого подвешена бочка. Когда объект func_movelinear начинает своё движение соответствующая бочка тоже начинает своё движение в сторону, определённую расположением объекта phys_pulleyconstraint относительно объекта func_movelinear. В первом ряду все бочки движутся в стороны обратные движению объектов phys_pulleyconstraint. Это происходит из-за того, что объекты phys_pulleyconstraint и их точки "Pulley Position 2" размещены выше бочек и объектов func_movelinear. Во втором ряду бочки движутся в том же направление что и объекты func_movelinear. Это происходит из-за того, что объекты phys_pulleyconstraint размещены ниже объекта func_movelinear, а их точки "Pulley Position 2" размещены выше бочек. Видимые верёвки (move_rope и keyframe_rope) и вращающиеся объекты prop_dynamic просто создают видимость движения верёвок phys_pulleyconstraint.

Кстати, на бочках и платформах func_movelinear можно покататься.

Смотрите также