Физические свойства

Материал из CryWiki Russia

Перейти к: навигация, поиск

Физические свойства

Mass, Density
Можно указать либо плотность, либо массу. Если вы укажите что-либо из них, то другим задайте отрицательное значение (-1, или −0,01). Масса и плотность влияют на взаимодействий одних объектов с другими, а также влияет на плавучесть (они тонут, если их плотность больше, чем у воды). Нулевая масса твердого тела (когда масса и плотность равны 0) — в особых случаях означает «живость» твердого тела (перенесено из-за пределов физической системы). Отличием от статической сущности является то, что физика будет знать, что данный объект фактически динамичен, хотя и не будет непосредственно его имитировать.
Отметим, что оба значения описывают одни и те же физические свойства. При указании массы, плотность будет создана автоматически, и наоборот. Соотношение массы равно плотности помноженной на используемый объем. Из этого уравнения следует, что объект является твёрдым; если вы используете прямоугольник в качестве модели пустого ящика, то вы должны высчитать её плотность равную среднему значению между плотностью древесины и внутренней плотности воздуха.
Вот некоторые значения плотности (в кг/м³):
Материал Плотность (кг/м³)
Дерево 500-700
Лёд 900
Вода 1000
Резина 1500
Стекло 2600
Железо 7500
Свинец 11400
Золото 19300
max_time_step (0.005..0.1)
Задаёт максимальный шаг по времени, который может сделать сущность (по умолчанию 0,01). Меньший шаг по времени увеличивает стабильность (может быть необходимо для длинных и тонких объектов), но дорого обходится для производительности.
Каждый раз, когда физический мир запрашивает сделать шаг, объекты, у которых максимальный шаг ниже, чем запрашиваемый, то один кусок сделает большой шаг на более мелкие куски и выполнит несколько подшагов. Если несколько объектов находятся в контакте, то используется наименьший max_time_step.
damping (0..3)
Задаёт силу затухающего колебания при движении объекта. Большинство объектов могут работать с нулевым затухающим колебанием; если объект трудно приспособиться к остальным, попробуйте значения, такие как 0.2-0.3. Значения 0.5 и выше выглядят как апериодичность.
Отметим, что, когда несколько объектов находятся в контакте, то для всей группы используется наибольшее затухание.
FixedDamping (true/false)
Если истина (True), то у этого объекта будет усиленно его затухание на всю группу столкновения (используйте, когда вы не хотите чтобы конкретный объект замедлился от сильно затухающей сущности, такой как мёртвое тело).
sleep_speed (0.01..0.3)
Если кинетическая энергия объекта падает ниже некоторого предела в течение нескольких кадров, то объект считается «спящим». Этот предел пропорционален квадрату скорости сна. Скорость сна 0.01 слабо соответствует центру объекта, движущегося со скоростью порядка 1 см/с.
water_resistance (0..2000)
Коэффициент сопротивления воды. Если не-0, то рассчитывается точное сопротивление воды. В противном случае будет использоваться только water_damping (пропорционально объему погружения) для равномерно затухающего движения. Выглядит это не чрезмерно медленно, но всё-таки рекомендуется всегда устанавливать сопротивление воды. Сопротивление воды не слишком заметно на объекте, однако подходящие значения не дадут очень легким объектам тонуть в воде, и поток воды более реалистично подействует на объекты.
Обратите внимание, что затухание воды (water damping) используется независимо от того, равно ли сопротивление воды нулю, так что лучше установить затухание равное 0, если сопротивление включено.
water_density (100..1000)
Этот параметр может быть использован для указания того, что физическая геометрия объекта может протекать. Например, наземные транспортные средства, как правило, имеют довольно большие объемы геометрии, но геометрия не является водонепроницаемой, таким образом, архимедова сила, действующая на геометрию будет меньше, чем объём погружения умноженный на 1000 (1000 является фактической плотностью воды). Снижение эффективной плотности воды на объекте, позволит таким объектам сливаться (как и есть на самом деле) с большим объемом физической геометрии. Важное замечание: если вы хотите изменить стандартное значение (1000), настоятельно рекомендуется таким же образом изменить water_resistance (учтите правило: удерживайте их значения равными).

Специфические свойства состояний

RigidBody (true/false)
False означает что сущность статическая, true — симуляция твердого тела. Обратите внимание, что твердое тело может себя вести как статическая сущность, если имеет массу 0 (укажите её явно, или снимите галочку с RigidBodyActive). Основным различием между твердыми телами и истинной статикой, является то, что физическая система будет знать, что твердые тела могут быть перемещены другими инструментами (например, редактором кат-сцен). Это означает, что у объектов, которые будут внешне анимированы, должна быть нулевая масса, для правильного взаимодействия с физикализированными сущностями.
Resting (true/false)
Начальное состояние твердого тела — «сон». Твёрдое тело должно быть разбужено внешним раздражителем (попаданием пули, взрывом, столкновением, взаимодействием игрока и т.д.), для начала симуляции. У BasicEntities этот флаг выбран без возможности отключения.
CanBreakOthers (true/false)
Истина (True) если сущность может привести к поломке соединенных объектов путем столкновения с ними (если они преодолели предел прочности). У BasicEntities этот флаг выбран без возможности отключения.
Обратите внимание, что некоторые из этих свойств могут быть отключены только у сущности RigidBodyEx.

Специфические свойства AnimObject

Articulated (true/false)
Физикализация персонажа, как сочлененную физическую сущность (т. е. с гибкими суставами).
ActivatePhysicsThreshold]] (0..)
Значения больше 0 используются для объектов с предварительно подготовленной физической анимацией (требует включение свойства Articulated). Определяет степень силы (в долях от силы тяжести), которая должна влиять на части, чтобы те оторвались и полностью контролировались физикой.
ActivatePhysicsDist (0..)
Используется для объектов с предварительно подготовленной физической анимацией (требует включение свойства Articulated и требует значение ActivatePhysicsThreshold выше 0). Указывает расстояние от оси, после которого части автоматически отделят себя от анимации и в полной мере физикализируются. 0 отключает расстояние отрыва.


Дополнение: Таблица сухого статического трения

Материал-пара μ
Алюминий/алюминий 1.9
Алюминий/сталь 0.61
Кирпич/кирпич 0.65
Алмаз/алмаз 0.1
Стекло/стекло 0.94
Стекло/метал 0.5-0.7
Золото/Золото 2.5-4.0
Лёд/лёд 0.1
Резина/бетон 1.0-4.0
Сталь/сталь 0.74
Дерево/камень 0.4
Дерево/дерево 0.25-0.5
Камень/камень 0.4-0.7