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

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

(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «== Физические свойства == '''Масса, плотность''' Можно указать либо плотность, либо массу. Есл...»)
Строка 1: Строка 1:
== Физические свойства ==
== Физические свойства ==
-
'''Масса, плотность'''
+
;Mass, Density:Можно указать либо плотность, либо массу. Если вы укажите что-либо из них, то другим задайте отрицательное значение (-1, или −0,01). Масса и плотность влияют на взаимодействий одних объектов с другими, а также влияет на плавучесть (они тонут, если их плотность больше, чем у воды). Нулевая масса твердого тела (когда масса и плотность равны 0) — в особых случаях означает «живость» твердого тела (перенесено из-за пределов физической системы). Отличием от статической сущности является то, что физика будет знать, что данный объект фактически динамичен, хотя и не будет непосредственно его имитировать.
 +
:Отметим, что оба значения описывают одни и те же физические свойства. При указании массы, плотность будет создана автоматически, и наоборот. Соотношение массы равно плотности помноженной на используемый объем. Из этого уравнения следует, что объект является твёрдым; если вы используете прямоугольник в качестве модели пустого ящика, то вы должны высчитать её плотность равную среднему значению между плотностью древесины и внутренней плотности воздуха.
 +
:Вот некоторые значения плотности (в кг/м³):
-
Можно указать либо плотность, либо массу. Если вы укажите что-либо из них, то другим задайте отрицательное значение (-1, или −0,01). Масса и плотность влияют на взаимодействий одних объектов с другими, а также влияет на плавучесть (они тонут, если их плотность больше, чем у воды). Нулевая масса твердого тела (когда масса и плотность равны 0) — в особых случаях означает «живость» твердого тела (перенесено из-за пределов физической системы). Отличием от статической сущности является то, что физика будет знать, что данный объект фактически динамичен, хотя и не будет непосредственно его имитировать.
+
:{|
-
Отметим, что оба значения описывают одни и те же физические свойства. При указании массы, плотность будет создана автоматически, и наоборот. Соотношение массы равно плотности помноженной на используемый объем. Из этого уравнения следует, что объект является твёрдым; если вы используете прямоугольник в качестве модели пустого ящика, то вы должны высчитать её плотность равную среднему значению между плотностью древесины и внутренней плотности воздуха.
+
-
Вот некоторые значения плотности (в кг/м³):
+
-
 
+
-
{|
+
|-
|-
! Материал
! Материал
Строка 28: Строка 26:
|}
|}
 +
;max_time_step (0.005..0.1):Задаёт максимальный шаг по времени, который может сделать сущность (по умолчанию 0,01). Меньший шаг по времени увеличивает стабильность (может быть необходимо для длинных и тонких объектов), но дорого обходится для производительности.
 +
:Каждый раз, когда физический мир запрашивает сделать шаг, объекты, у которых максимальный шаг ниже, чем запрашиваемый, то один кусок сделает большой шаг на более мелкие куски и выполнит несколько подшагов. Если несколько объектов находятся в контакте, то используется наименьший max_time_step.
-
'''max_time_step (0.005..0.1)'''
+
;damping (0..3):Задаёт силу затухающего колебания при движении объекта. Большинство объектов могут работать с нулевым затухающим колебанием; если объект трудно приспособиться к остальным, попробуйте значения, такие как 0.2-0.3. Значения 0.5 и выше выглядят как апериодичность.
-
Задаёт максимальный шаг по времени, который может сделать сущность (по умолчанию 0,01). Меньший шаг по времени увеличивает стабильность (может быть необходимо для длинных и тонких объектов), но дорого обходится для производительности.
+
:Отметим, что, когда несколько объектов находятся в контакте, то для всей группы используется наибольшее затухание.
-
Каждый раз, когда физический мир запрашивает сделать шаг, объекты, у которых максимальный шаг ниже, чем запрашиваемый, то один кусок сделает большой шаг на более мелкие куски и выполнит несколько подшагов. Если несколько объектов находятся в контакте, то используется наименьший max_time_step.
+
-
 
+
-
'''damping (0..3)'''
+
-
Задаёт силу затухающего колебания при движении объекта. Большинство объектов могут работать с нулевым затухающим колебанием; если объект трудно приспособиться к остальным, попробуйте значения, такие как 0.2-0.3. Значения 0.5 и выше выглядят как апериодичность.
+
-
Отметим, что, когда несколько объектов находятся в контакте, то для всей группы используется наибольшее затухание.
+
-
'''FixedDamping (true/false)'''
+
;FixedDamping (true/false):Если истина (True), то у этого объекта будет усиленно его затухание на всю группу столкновения (используйте, когда вы не хотите чтобы конкретный объект замедлился от сильно затухающей сущносои, такой как мёртвое тело).
-
Если истина (True), то у этого объекта будет усиленно его затухание на всю группу столкновения (используйте, когда вы не хотите чтобы конкретный объект замедлился от сильно затухающей сущносои, такой как мёртвое тело).
+
-
'''sleep_speed (0.01..0.3)'''
+
;sleep_speed (0.01..0.3):If the object’s kinetic energy falls below some limit over several frames, the object is considered sleeping. This limit is proportional to the square of the sleep speed value. A sleep speed of 0.01 loosely corresponds to the object’s center moving at a velocity of the order of 1 cm/s.
-
If the object’s kinetic energy falls below some limit over several frames, the object is considered sleeping. This limit is proportional to the square of the sleep speed value. A sleep speed of 0.01 loosely corresponds to the object’s center moving at a velocity of the order of 1 cm/s.
+
-
'''water_resistance (0..2000)'''
+
;water_resistance (0..2000):Water resistance coefficient. If non-0, precise water resistance is calculated. Otherwise only water_damping (proportional to the submerged volume) is used to uniformely damp the movement. The former is somewhat slower, but not prohibitively, so it is advised to always set the water resistance. Although water resistance is not too visible on a general object, setting it to a suitable value will prevent very light objects from jumping in the water, and water flow will affect things more realistically.
-
Water resistance coefficient. If non-0, precise water resistance is calculated. Otherwise only water_damping (proportional to the submerged volume) is used to uniformely damp the movement. The former is somewhat slower, but not prohibitively, so it is advised to always set the water resistance. Although water resistance is not too visible on a general object, setting it to a suitable value will prevent very light objects from jumping in the water, and water flow will affect things more realistically.
+
Note that water damping is used regardless of whether water resistance is 0, so it is better to set damping to 0 when resistance is turned on.
Note that water damping is used regardless of whether water resistance is 0, so it is better to set damping to 0 when resistance is turned on.
-
'''water_density (100..1000)'''
+
;water_density (100..1000):This parameter could be used to specify that the object’s physical geometry can leak. For instance, ground vehicles usually have quite large geometry volumes, but they are not waterproof, thus Archimedean force acting on them will be less than submerged_volume*1000 (with 1000 being the actual water density). Decreasing per-object effective water density will allow such objects to sink (as they would in reality) while still having large-volume physical geometry. Important note: if you are changing the default value (1000), it’s highly recommended that you also change water_resistance in the same way (a rule of thumb might be to always keep them equal).
-
This parameter could be used to specify that the object’s physical geometry can leak. For instance, ground vehicles usually have quite large geometry volumes, but they are not waterproof, thus Archimedean force acting on them will be less than submerged_volume*1000 (with 1000 being the actual water density). Decreasing per-object effective water density will allow such objects to sink (as they would in reality) while still having large-volume physical geometry. Important note: if you are changing the default value (1000), it’s highly recommended that you also change water_resistance in the same way (a rule of thumb might be to always keep them equal).
+
Some state-specific properties:
Some state-specific properties:

Версия 17:41, 26 апреля 2011

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

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)
If the object’s kinetic energy falls below some limit over several frames, the object is considered sleeping. This limit is proportional to the square of the sleep speed value. A sleep speed of 0.01 loosely corresponds to the object’s center moving at a velocity of the order of 1 cm/s.
water_resistance (0..2000)
Water resistance coefficient. If non-0, precise water resistance is calculated. Otherwise only water_damping (proportional to the submerged volume) is used to uniformely damp the movement. The former is somewhat slower, but not prohibitively, so it is advised to always set the water resistance. Although water resistance is not too visible on a general object, setting it to a suitable value will prevent very light objects from jumping in the water, and water flow will affect things more realistically.

Note that water damping is used regardless of whether water resistance is 0, so it is better to set damping to 0 when resistance is turned on.

water_density (100..1000)
This parameter could be used to specify that the object’s physical geometry can leak. For instance, ground vehicles usually have quite large geometry volumes, but they are not waterproof, thus Archimedean force acting on them will be less than submerged_volume*1000 (with 1000 being the actual water density). Decreasing per-object effective water density will allow such objects to sink (as they would in reality) while still having large-volume physical geometry. Important note: if you are changing the default value (1000), it’s highly recommended that you also change water_resistance in the same way (a rule of thumb might be to always keep them equal).

Some state-specific properties:

RigidBody (true/false) False means a static entity, true — a simulated rigid body. Note that a rigid body can still behave like a static entity if it has mass 0 (set either explicitly or by unchecking RigidBodyActive). The main difference between these rigid bodies and pure statics is that the physics system knows that they can be moved by some other means (such as the trackview) and expects them to do so. This means that objects that are supposed to be externally animated should be mass-0 rigid bodies in order to interact properly with pure physicalized entities.

Resting (true/false) The rigid body’s initial state is sleeping. It’ll need to be awoken by an external stimulus (bullet hit, explosion, collision, player interaction, etc) in order to start being simulated. BasicEntities have this flag on unconditionally.

CanBreakOthers (true/false) True if the entity can break jointed objects by colliding with them (provided they overcome the strength limit). BasicEntities have this flag off unconditionally.

Note that some of these properties can are only exposed in the RigidBodyEx entity.


Some properties, specific to the AnimObject entity:

Articulated (true/false) Physicalizes the character as an articulated physical entity (i.e., with bendable joints).

ActivatePhysicsThreshold]] (0..) Greater than 0 values are used for objects with pre-backed physical animations (requires Articulated to be on). Specifies the amount of force (in fractions of gravity) that needs to be exerted on a part for it to become detached and fully controlled by the physics.

ActivatePhysicsDist (0..) Used for objects with pre-baked physical animations (requires Articulated to be on and ActivatePhysicsThreshold to be greater than 0). Specifies the distance from the pivot after which parts automatically detach themselves from the animation and become fully physicalized. 0 disables distance-based detachment.


Addition: Dry static friction reference table

Material pair μ
Aluminium/aluminium 1.9
Aluminium/steel 0.61
Brick/brick 0.65
Diamond/diamond 0.1
Glass/glass 0.94
Glass/metal 0.5-0.7
Gold/gold 2.5-4.0
Ice/ice 0.1
Rubber/concrete 1.0-4.0
Steel/steel 0.74
Wood/stone 0.4
Wood/wood 0.25-0.5
Stone/stone 0.4-0.7