PhysicsDirectSpaceState3D
Успадковує: Object
Успадковано від: PhysicsDirectSpaceState3DExtension
Забезпечує прямий доступ до фізичного простору в PhysicsServer3D.
Опис
Надає прямий доступ до фізичного простору в PhysicsServer3D. Він використовується переважно для виконання запитів до об'єктів та областей, що знаходяться в заданому просторі.
Примітка: Цей клас не призначений для безпосереднього створення екземплярів. Використовуйте World3D.direct_space_state, щоб отримати стан тривимірного фізичного простору світу.
Посібники
Методи
cast_motion(parameters: PhysicsShapeQueryParameters3D) |
|
collide_shape(parameters: PhysicsShapeQueryParameters3D, max_results: int = 32) |
|
get_rest_info(parameters: PhysicsShapeQueryParameters3D) |
|
intersect_point(parameters: PhysicsPointQueryParameters3D, max_results: int = 32) |
|
intersect_ray(parameters: PhysicsRayQueryParameters3D) |
|
intersect_shape(parameters: PhysicsShapeQueryParameters3D, max_results: int = 32) |
Описи методів
PackedFloat32Array cast_motion(parameters: PhysicsShapeQueryParameters3D) 🔗
Перевіряє, наскільки далеко може рухатися Shape3D без зіткнення. Усі параметри запиту, включаючи фігуру та рух, надаються через об'єкт PhysicsShapeQueryParameters3D.
Повертає масив із безпечними та небезпечними пропорціями (між 0 та 1) руху. Безпечна пропорція – це максимальна частка руху, яку можна здійснити без зіткнення. Небезпечна пропорція – це мінімальна частка відстані, на яку потрібно переміститися для зіткнення. Якщо зіткнення не виявлено, буде повернуто результат [1.0, 1.0].
Примітка: Будь-які Shape3D, з якими фігура вже зіткнеться, наприклад, всередині, будуть ігноруватися. Використовуйте метод collide_shape, щоб визначити Shape3D, з якими фігура вже зіткнеться.
Array[Vector3] collide_shape(parameters: PhysicsShapeQueryParameters3D, max_results: int = 32) 🔗
Перевіряє перехрестя форми, за допомогою PhysicsShapeQueryParameters3D об'єкта, проти простору. Отриманий масив містить список точок, де форма перетинає інший. Як і з intersect_shape(), кількість отриманих результатів можна обмежити час обробки.
Повернення очок - список пар контактних точок. Для кожної пари перша у формі, що пропущена в PhysicsShapeQueryParameters3D об'єкт, другий - у складеній формі з фізичного простору.
Примітка: Цей метод не враховує motion властивість об'єкту.
Dictionary get_rest_info(parameters: PhysicsShapeQueryParameters3D) 🔗
Перевіряє перетини фігури, заданої через об’єкт PhysicsShapeQueryParameters3D, з пробілом. Якщо вона стикається з кількома фігурами, вибирається найближча. Повернений об’єкт – це словник, що містить такі поля:
collider_id: ідентифікатор об’єкта зіткнення.
лінійна_швидкість: швидкість об’єкта, що зіткнувся Vector3. Якщо об’єкт є Area3D, результатом є (0, 0, 0).
нормаль: нормаль зіткнення фігури запиту в точці перетину, спрямована від об’єкта, що перетинається.
точка: точка перетину.
rid: RID об’єкта, що перетинається.
форма: індекс фігури, що зіштовхується.
Якщо фігура нічого не перетинає, замість неї повертається порожній словник.
Примітка. Цей метод не враховує властивість motion об’єкта.
Array[Dictionary] intersect_point(parameters: PhysicsPointQueryParameters3D, max_results: int = 32) 🔗
Перевірте, чи є точка всередині будь-якої твердої форми. Положення та інші параметри визначаються за допомогою PhysicsPointQueryParameters3D. Форми точки всередині подаються в масиві, що містить словники з наступними полями:
collider: Об'єкт зв'язку.
collider_id: Код об'єкта.
rid: Інтерсекційний об'єкт RID.
`` форма``: Індекс форми згортання форми.
Кількість перехрестя може бути обмежена параметром max_results, щоб скоротити час обробки.
Dictionary intersect_ray(parameters: PhysicsRayQueryParameters3D) 🔗
Включає промінь в заданому просторі. Рентгенівська позиція та інші параметри визначаються за допомогою PhysicsRayQueryParameters3D. Повернутий об'єкт є словником з наступними полями:
collider: Об'єкт зв'язку.
collider_id: Код об'єкта.
нормальний: Нормальною поверхнею об'єкта на місці перетину, або Vector3(0, 0, 0), якщо промен починається всередині форми і PhysicsRayQueryParameters3D.hit_from_inside є true.
позиція: Точка перетину.
face_index: Індекс обличчя на перетині точки.
Примітка: Повертає дійсний номер тільки якщо міжсектифікована форма є ConcavePolygonShape3D. В іншому випадку -1 повертається.
`` рід``: Інтерсекційний об'єкт RID.
`` форма``: Індекс форми згортання форми.
Якщо промен не перев'язував нічого, то повернувся порожній словник.
Array[Dictionary] intersect_shape(parameters: PhysicsShapeQueryParameters3D, max_results: int = 32) 🔗
Перевіряє перехрестя форми, за допомогою PhysicsShapeQueryParameters3D об'єкта, проти простору. У масиві, що містить словники з наступними полями:
collider: Об'єкт зв'язку.
collider_id: Код об'єкта.
rid: Інтерсекційний об'єкт RID.
`` форма ``: Індекс форми згортання форми.
Кількість перехрестя може бути обмежена параметром max_results, щоб скоротити час обробки.
Примітка: Цей метод не враховує motion властивість об'єкту.