Настройка физических объектов — различия между версиями

Материал из xrWiki
Перейти к: навигация, поиск
м
м
 
(не показаны 2 промежуточные версии этого же участника)
Строка 3: Строка 3:
  
 
В сталкире доступно 5 видов сочлений:
 
В сталкире доступно 5 видов сочлений:
* '''Rigid''' -- твёрдое тело
+
* '''Rigid''' твёрдое тело
* '''Cloth''' -- мягкое тело (тряпка)
+
* '''Cloth''' мягкое тело (тряпка)
* '''Joint''' -- сустав или шарнир (вращение по XYZ)
+
* '''Joint''' сустав или шарнир (вращение по XYZ)
* '''Wheel''' -- колесо (можно управлять осью X при вращении по оси Z)
+
* '''Wheel''' колесо (можно управлять осью X при вращении по оси Z)
* '''Slider''' -- скольжение (перемещение и вращение по Z)
+
* '''Slider''' скольжение (перемещение и вращение по Z)
  
 
Виды примитивов (collision shape) для просчёта столкновений:
 
Виды примитивов (collision shape) для просчёта столкновений:
Строка 13: Строка 13:
 
* '''Sphere''' (сфера)
 
* '''Sphere''' (сфера)
 
* '''Cylinder''' (цилиндр)
 
* '''Cylinder''' (цилиндр)
В простых обхъектах обычно используется один примитив (например, бочка использует один цилиндр). Сложные (составные) модели могут использовать несколько примитивов (например, стол использует один параллелепипед для столешницы и четыре для ножек).
+
В простых объектах обычно используется один примитив (например, бочка использует один цилиндр). Сложные (составные) модели могут использовать несколько примитивов (например, стол использует один параллелепипед для столешницы и четыре для ножек).
  
 
== Свойства тела ==
 
== Свойства тела ==
Строка 19: Строка 19:
 
* '''Mass''' (масса)
 
* '''Mass''' (масса)
 
* '''Center of Mass''' (позиция центра массы)
 
* '''Center of Mass''' (позиция центра массы)
* '''Friction''' -- коэффициент трения. Чем меньше, тем более "скользким" считается элемент.
+
* '''Friction''' коэффициент трения. Чем меньше, тем более "скользким" считается элемент.
* '''Spring Factor''' -- пружинистость. Чем меньше, тем мячге пружина.
+
* '''Spring Factor''' пружинистость. Чем меньше, тем мягче пружина.
* '''Damping Factor''' -- демпфирование. Чем больше, тем быстрее затухают колебания.
+
* '''Damping Factor''' демпфирование. Чем больше, тем быстрее затухают колебания.
  
 
== Свойства движения и остановки ==
 
== Свойства движения и остановки ==
Строка 33: Строка 33:
 
=== Пример скольжения: выдвижной ящик ===
 
=== Пример скольжения: выдвижной ящик ===
  
 +
== Параметры отключения физики ==
 +
Актуальны для любой модели. Если не установлены – используются значения по умолчанию.
 +
<syntaxhighlight lang="ini">[disable]
 +
linear_factor  = 0.3
 +
angular_factor  = 0.3</syntaxhighlight>
  
[[Категория:Справка]]
+
== Захват предметов ==
 +
Если нет этой секции, то возможность отключена.
 +
<syntaxhighlight lang="ini">[capture]
 +
bone            = bip01_tail      ; кость, за которую хватать
 +
distance        = 0.45            ; объект можно захватить в пределах этого расстояния
 +
time_limit      = 500            ; максимальное время в секундах для попытки захвата
 +
pull_force      = 50000.          ; максимальная сила для захвата
 +
pull_distance    = 2.              ; максимальное расстояние, на которое можно перетащить объект
 +
velocity_scale  = 0.015          ; скорость вытаскивания
 +
capture_force    = 10000.          ; максимальная сила для удержания</syntaxhighlight>
 +
 
 +
[[Категория:Actor Editor]]

Текущая версия на 12:01, 24 февраля 2024

Вводная[править]

Система координат в ODE аналогична используемой в OpenGL: вертикальная Y направлена снизу вверх, X слева направо, Z к наблюдателю.

В сталкире доступно 5 видов сочлений:

  • Rigid – твёрдое тело
  • Cloth – мягкое тело (тряпка)
  • Joint – сустав или шарнир (вращение по XYZ)
  • Wheel – колесо (можно управлять осью X при вращении по оси Z)
  • Slider – скольжение (перемещение и вращение по Z)

Виды примитивов (collision shape) для просчёта столкновений:

  • Box (параллелепипед)
  • Sphere (сфера)
  • Cylinder (цилиндр)

В простых объектах обычно используется один примитив (например, бочка использует один цилиндр). Сложные (составные) модели могут использовать несколько примитивов (например, стол использует один параллелепипед для столешницы и четыре для ножек).

Свойства тела[править]

Жесткие тела в сталкире обладают следующими основными свойствами:

  • Mass (масса)
  • Center of Mass (позиция центра массы)
  • Friction – коэффициент трения. Чем меньше, тем более "скользким" считается элемент.
  • Spring Factor – пружинистость. Чем меньше, тем мягче пружина.
  • Damping Factor – демпфирование. Чем больше, тем быстрее затухают колебания.

Свойства движения и остановки[править]

Диапазон движения/остановки ограничивается т.н. лимитами. Они задают диапазон, в котором сустав может перемещаться/вращаться.

Примеры[править]

Пример жёсткого тела: ящик и бочка[править]

Пример мягкого тела: мешок с песком[править]

Пример сустава: цепь с грузом[править]

Пример с колесами: тележка[править]

Пример скольжения: выдвижной ящик[править]

Параметры отключения физики[править]

Актуальны для любой модели. Если не установлены – используются значения по умолчанию.

[disable]
linear_factor   = 0.3
angular_factor  = 0.3

Захват предметов[править]

Если нет этой секции, то возможность отключена.

[capture]
bone             = bip01_tail      ; кость, за которую хватать
distance         = 0.45            ; объект можно захватить в пределах этого расстояния
time_limit       = 500             ; максимальное время в секундах для попытки захвата
pull_force       = 50000.          ; максимальная сила для захвата
pull_distance    = 2.              ; максимальное расстояние, на которое можно перетащить объект
velocity_scale   = 0.015           ; скорость вытаскивания
capture_force    = 10000.          ; максимальная сила для удержания