NavigationObstacle3D
Експериментальний: This class may be changed or removed in future versions.
Успадковує: Node3D < Node < Object
3D перешкода, що використовується для впливу на навігацію сітки або обмеження вентильованих агентів.
Опис
Навігація вимагає навігаційної карти і контурів пам'ятні вершини, визначені для роботи правильно. Нариси не можуть перехреститися або перекривати і обмежуються площиною проекції. Це означає, що я вісь вершин ігнорується, замість глобальної позиції Y-і-ікси використовується для розміщення. Випробувана форма виконана по висоті перешкод вздовж осі.
У процесі випікання навігаційної сітки можна ввімкнути affect_navigation_mesh. Вони не додають ходової геометрії, а їх роль полягає у відключенні іншої геометрії джерела всередині форми. Це може бути використаний для запобігання навігаційної сітки з з'являються в небажаних місцях, наприклад, всередині геометрії "солід" або зверху. Якщо carve_navigation_mesh ввімкнено форму запеченої форми не буде вражені офсетами навігаційної сітки, наприклад, радіусом агента.
За допомогою avoidance_enabled перешкода може перенапружувати вразливість з використанням агентів. У разі, якщо хребти перешкоди рани за годинниковим замовленням, агенти уникнення будуть виштовхуватися в перешкоді, інакше агенти, які не будуть виштовхуватися. Збільшувачі з використанням вершин і уникнення можуть загиближуватися на нову позицію, але не варто переміщати кожен окремий каркас, оскільки кожна зміна вимагає перебудови карти уникнення.
Посібники
Властивості
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методи
get_avoidance_layer_value(layer_number: int) const |
|
get_navigation_map() const |
|
get_rid() const |
|
void |
set_avoidance_layer_value(layer_number: int, value: bool) |
void |
set_navigation_map(navigation_map: RID) |
Описи властивостей
bool affect_navigation_mesh = false 🔗
Якщо ввімкнено та проаналізовано в процесі випікання навігаційної сітки, перешкода відкине вихідну геометрію всередині своєї vertices і height визначену форму.
bool avoidance_enabled = true 🔗
Якщо true перешкода впливає на уникнення використання агентів.
У бітфілді визначено шари уникнення для цієї перешкоди. Агенти з відповідним бітом на своїй масі уникнення будуть уникати цієї перешкоди.
bool carve_navigation_mesh = false 🔗
Якщо увімкнено перешкодні вершини перенесуть в випечений навігаційний сітчастий з формою, що неоцінюється додатковими офсетами (наприклад, радіусом агента).
Вплине на подальше постобробка процесу випічки, як кромка та полігонна спрощування.
Потрібні affect_navigation_mesh бути включеними.
Налаштовує висоту перешкод, що використовується в 2D уникнення. 2D уникнення за допомогою ігнорування агента, які нижче або вище їх.
Налаштовує радіус уникнення перешкоди.
bool use_3d_avoidance = false 🔗
Якщо true перешкода впливає на 3D уникнення за допомогою перешкоди агента.
Якщо false перешкода впливає на 2D уникнення використання агента з обох перешкод vertices, а також перешкоди radius.
Vector3 velocity = Vector3(0, 0, 0) 🔗
Налаштовує бажану швидкість для перешкоди, тому інші агенти можуть краще прогнозувати перешкоду, якщо вона регулярно переміщається зі швидкістю (вічно кадрі) замість того, щоб припинити нову позицію. Чи впливає тільки на уникнення перешкод radius. Нема нічого для перешкод статичних вершин.
PackedVector3Array vertices = PackedVector3Array() 🔗
void set_vertices(value: PackedVector3Array)
PackedVector3Array get_vertices()
Окреслення вершин перешкоди. Якщо вершини заморожені в цілодобовому порядку агенти будуть підштовхуватися в перешкоді, то ще вони будуть виштовхуватися. Не можна перетнути або перекривати. Якщо вершини, які використовують перешкоду, повинні бути виховані до нового агента, не можуть прогнозувати цей рух, і може отримати траурований всередині перешкоди.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedVector3Array for more details.
Описи методів
bool get_avoidance_layer_value(layer_number: int) const 🔗
Повертає, чи ввімкнено вказаний шар бітової маски avoidance_layers, залежно від значення layer_number від 1 до 32.
RID get_navigation_map() const 🔗
Повертаємо RID навігаційної карти для цього навігаційного вузла. Ця функція повертається завжди на карті, встановленому навігаційному вузлах, і не на карті абстрактної перешкоди на навігаційному сервері. Якщо карта перешкод змінюється безпосередньо з API навігаційного сервера NavigationServer у NavigationObstacle вузол не буде в курсі зміни карти. Використовуйте set_navigation_map() для зміни навігаційної карти для NavigationObstacle, а також оновлення перешкод на Навігаційній службі.
Повернення RID цієї перешкоди на NavigationServer3D.
void set_avoidance_layer_value(layer_number: int, value: bool) 🔗
На основі значення параметра value вмикає або вимикає вказаний шар у бітовій масці avoidance_layers, маючи значення layer_number від 1 до 32.
void set_navigation_map(navigation_map: RID) 🔗
Навігація RID навігаційної карти цього Навігаційного вузла повинні використовуватися, а також оновлення obstacle на навігаціїServer.