Phys ragdollconstraint

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

Оригинал Phys_ragdollconstraint

Описание

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

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

  • Этот объект обновляется в каждом раунде. Это означает что любые изменения объекта НЕ будут наследоваться в последующих раундах.
  • Объект должен быть установлен там, где будет использоваться.
  • На карте может быть установлено множество этих объектов
  • Если не указано свойство "Entity 1" или "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); громкость звука постоянна.
  • Limit Min (X axis) – (от -180 до 180) ограничить минимальную разницу в углах поворота по оси X между физическими объектами; значение этого свойства должно быть больше или равно значения свойства "Limit Max (X axis)", иначе в игре возникнут ошибки физики;
  • Limit Max (X axis) – (от -180 до 180) ограничить максимальную разницу в углах поворота по оси X между физическими объектами; значение этого свойства должно быть меньше или равно значения свойства "Limit Min (X axis)", иначе в игре возникнут ошибки физики;
  • Limit Min (Y axis) – (от -180 до 180) ограничить минимальную разницу в углах поворота по оси Y между физическими объектами; значение этого свойства должно быть больше или равно значения свойства "Limit Max (Y axis)", иначе в игре возникнут ошибки физики;
  • Limit Max (Y axis) – (от -180 до 180) ограничить максимальную разницу в углах поворота по оси Y между физическими объектами; значение этого свойства должно быть меньше или равно значения свойства "Limit Min (Y axis)", иначе в игре возникнут ошибки физики;
  • Limit Min (Z axis) – (от -180 до 180) ограничить минимальную разницу в углах поворота по оси Z между физическими объектами; значение этого свойства должно быть больше или равно значения свойства "Limit Max (Z axis)", иначе в игре возникнут ошибки физики;
  • Limit Max (Z axis) – (от -180 до 180) ограничить максимальную разницу в углах поворота по оси Z между физическими объектами; значение этого свойства должно быть меньше или равно значения свойства "Limit Min (Z axis)", иначе в игре возникнут ошибки физики;
  • Friction (X axis) – трение, возникающее при вращении физических объектов по оси X;
  • Friction (Y axis) – трение, возникающее при вращении физических объектов по оси Y;
  • Friction (Z axis) – трение, возникающее при вращении физических объектов по оси Z;
  • 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".
  • Only Limit Rotation – физические объекты не будут сохраняться своё положение относительно друг друга, но для них по-прежнему будут использоваться ограничения на углы вращения.

Inputs

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

Outputs

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

Карта

csssdk_phys_ragdollconstraint.vmf

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

  • phys_ragdollconstraint
  • phys_ballsocket
  • func_detail
  • func_physbox
  • prop_physics
  • phys_hinge

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

На карте несколько автомобильных покрышек. Каждая из этих покрышек соединена через объект phys_ragdollconstraint с объектом func_physbox, в виде креста. Объекты func_physbox висят в воздухе, удерживаемые физическим ограничителем phys_ballsocket. Игрок может стрелять как в покрышки, так и объекты func_physbox, вращая их. При вращении можно заметить как настройки физического ограничителя phys_ragdollconstraint влияют на поведение этих объектов. Какие-то зависимы полностью, какие-то частично, а какие-то полностью не зависимы друг от друга.

Обратите внимание где и как расставлены объекты phys_ragdollconstraint на карте. От точки их размещения на карте зависит то как будут ввести себя физические объекты.

  • physbox1-tire1 – объект phys_ragdollconstraint располагается на карте в произвольном месте, потому что для этих физических объектов заданы жёсткие лимиты вращения, не позволяющие им вращаться относительно друг друга;
  • physbox2-tire2 - объект phys_ragdollconstraint должен располагаться на оси вращения этих физических объектов, иначе ось вращения будет смещена и желаемый результат не будет достигнут; попробуйте сместить этот phys_ragdollconstraint немного в сторону и посмотрите на последствия;
  • physbox3-tire3 – так же как и в случае с physbox2-tire2;
  • physbox4-tire4 - так же как и в случае с physbox2-tire2;
  • physbox5-tire5 - так же как и в случае с physbox2-tire2;
  • physbox6-tire6 – объект phys_ragdollconstraint располагается на карте в произвольном месте, потому что объект phys_ragdollconstraint использует флажок "Only limit rotation" и для него указаны оба физических объекта "Entity 1" и "Entity 2";
  • physbox7 – так как для объекта phys_ragdollconstraint использует флажок "Only limit rotation" и для него указан только один физический объект "Entity 2", то в этом случае объект phys_ragdollconstraint должен располагаться на оси вращения объекта physbox7, иначе объект physbox7 будет иметь две оси вращения и не сможет двигаться; попробуйте передвинуть этот phys_ragdollconstraint немного в сторону и проследите за результатом;
  • physbox8_1- physbox8_2 - так же как и в случае с physbox6-tire6.

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