PhysicsTestMotionParameters3D

Успадковує: RefCounted < Object

Надає параметри для PhysicsServer3D.body_test_motion().

Опис

Змінюючи різні властивості цього об'єкта, такі як рух, можна налаштувати параметри для PhysicsServer3D.body_test_motion().

Властивості

bool

collide_separation_ray

false

Array[RID]

exclude_bodies

[]

Array[int]

exclude_objects

[]

Transform3D

from

Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)

float

margin

0.001

int

max_collisions

1

Vector3

motion

Vector3(0, 0, 0)

bool

recovery_as_collision

false


Описи властивостей

bool collide_separation_ray = false 🔗

  • void set_collide_separation_ray_enabled(value: bool)

  • bool is_collide_separation_ray_enabled()

Якщо встановити до true, форми типу PhysServer3D. SHAPE_SEPARATION_RAY використовується для виявлення зіткнень і може зупинити рух. Може бути корисною при попаданні на землю.

Якщо встановити до false, форми типу PhysServer3D. SHAPE_SEPARATION_RAY використовується для поділу при перекриттях з іншими тілами. Це основне використання для поділу променевих форм.


Array[RID] exclude_bodies = [] 🔗

Необов'язковий масив елементів body RID для виключення з колізії. Використовуйте метод CollisionObject3D.get_rid(), щоб отримати RID, пов'язаний з вузлом, похідним від CollisionObject3D.


Array[int] exclude_objects = [] 🔗

Необов'язковий масив унікального екземпляра ID для виключення з зіткнення. Див. Object.get_instance_id().


Transform3D from = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0) 🔗

Трансформація в глобальному просторі, де рух повинен початися. Зазвичай набір до Node3D.global_transform для перетворення поточного тіла.


float margin = 0.001 🔗

  • void set_margin(value: float)

  • float get_margin()

Підвищує розмір форм, залучених до виявлення зіткнення.


int max_collisions = 1 🔗

  • void set_max_collisions(value: int)

  • int get_max_collisions()

Максимальна кількість поновлюваних зіткнень, між 1 та 32. Завжди повертає найглибші виявлені зіткнення.


Vector3 motion = Vector3(0, 0, 0) 🔗

Вектор руху для визначення довжини і напрямку руху до тестування.


bool recovery_as_collision = false 🔗

  • void set_recovery_as_collision_enabled(value: bool)

  • bool is_recovery_as_collision_enabled()

Якщо встановити до true, будь-яке депенетування з фази відновлення повідомляється як зіткнення; це використовується наприклад CharacterBody3D для поліпшення виявлення підлоги під час перекриття підлоги.

Якщо встановити до false, повідомляється лише зіткнення, що виникли внаслідок руху, яка, як правило, потрібна поведінка.