Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
NavigationPathQueryParameters3D
Експериментальний: This class may be changed or removed in future versions.
Успадковує: RefCounted < Object
Забезпечує параметри для 3D навігаційних запитів.
Опис
При зміні різних властивостей цього об'єкта, таких як початок і цільова позиція, ви можете налаштувати запити на шлях до NavigationServer3D.
Посібники
Властивості
|
||
|
||
|
||
BitField[PathMetadataFlags] |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Переліки
enum PathfindingAlgorithm: 🔗
PathfindingAlgorithm PATHFINDING_ALGORITHM_ASTAR = 0
За допомогою алгоритму стипендії за замовчуванням A*.
enum PathPostProcessing: 🔗
PathPostProcessing PATH_POSTPROCESSING_CORRIDORFUNNEL = 0
Застосує алгоритм воронку до сирого коридору, знайденого алгоритмом доріжок. Це призведе до максимально короткого шляху в коридорі шляху. Цей поштовий процес дуже залежить від розташування навігаційної сітки та створеного коридору. Особливо цегляні або сітчасті макети можуть зіткнутися зі штучними куточками з діагональним рухом через джегований шляховий коридор, який накладається формами комірки.
PathPostProcessing PATH_POSTPROCESSING_EDGECENTERED = 1
Центри кожного шляху положення в середині проїзної навігаційної сітки полігон краю. Це створює кращі доріжки для кахельних або сітчастих макетів, які обмежують рух до центру клітин.
PathPostProcessing PATH_POSTPROCESSING_NONE = 2
Не застосовує постобробку та повертає необроблений коридор шляху, знайдений алгоритмом пошуку шляху.
flags PathMetadataFlags: 🔗
PathMetadataFlags PATH_METADATA_INCLUDE_NONE = 0
Не містить додаткових метаданих щодо способу повернення.
PathMetadataFlags PATH_METADATA_INCLUDE_TYPES = 1
Включаючи тип навігаційної примітивності (регіон або посилання), що кожен пункт шляху проходить через.
PathMetadataFlags PATH_METADATA_INCLUDE_RIDS = 2
У тому числі RID регіонів і посилань, які кожен пункт шляху проходить через.
PathMetadataFlags PATH_METADATA_INCLUDE_OWNERS = 4
Включіть ObjectID Object, які керують регіонами та зв'язують кожну точку шляху.
PathMetadataFlags PATH_METADATA_INCLUDE_ALL = 7
Включаючи всі наявні метадані про зворотний шлях.
Описи властивостей
Array[RID] excluded_regions = [] 🔗
Список регіонів RID, які будуть виключені із запиту шляху. Використовуйте метод NavigationRegion3D.get_rid(), щоб отримати RID, пов'язаний з вузлом NavigationRegion3D.
Примітка: Повернений масив копіюється, і будь-які зміни в ньому не оновлять початкове значення властивості. Щоб оновити значення, потрібно змінити повернений масив, а потім знову встановити для нього значення властивості.
Array[RID] included_regions = [] 🔗
Список регіонів RID, які будуть включені до запиту шляху. Використовуйте метод NavigationRegion3D.get_rid(), щоб отримати RID, пов'язаний з вузлом NavigationRegion3D. Якщо залишити поле порожнім, будуть включені всі регіони. Якщо регіон буде одночасно включено та виключено, його буде виключено.
Примітка: Повернений масив копіюється, і будь-які зміни в ньому не оновлять початкове значення властивості. Щоб оновити значення, потрібно змінити повернений масив, а потім знову встановити для нього значення властивості.
Навігація RID використовується в доріжці запиту.
BitField[PathMetadataFlags] metadata_flags = 7 🔗
void set_metadata_flags(value: BitField[PathMetadataFlags])
BitField[PathMetadataFlags] get_metadata_flags()
Додаткова інформація включає в себе навігаційний шлях.
Навігація шарів запиту буде використовуватися (як трохимаска).
PathPostProcessing path_postprocessing = 0 🔗
void set_path_postprocessing(value: PathPostProcessing)
PathPostProcessing get_path_postprocessing()
Постообробка шляху, застосована до необробленого коридору шляху, знайденого за допомогою pathfinding_algorithm.
float path_return_max_length = 0.0 🔗
Максимально допустима довжина повернутого шляху в одиницях одиниць виміру. Шлях буде обрізано при перевищенні цієї довжини. Значення 0 або нижче вважається вимкненим.
float path_return_max_radius = 0.0 🔗
Максимально допустимий радіус у світових одиницях, який може мати повернутий шлях від початку шляху. Шлях буде обрізано при перевищенні цього радіуса. Значення 0 або нижче вважається вимкненим.
Примітка: Це виконає операцію обрізання шляху у формі сфери, причому перша позиція шляху буде центральним положенням сфери.
float path_search_max_distance = 0.0 🔗
Максимальна відстань, на якій може знаходитися пошуковий полігон від початкового полігону, перш ніж пошук шляху скасовує пошук шляху до (можливо, недосяжного або дуже далекого) полігону цільової позиції. У цьому випадку пошук шляху скидається та будує шлях від початкового полігону до полігону, який був знайдений найближчим до цільової позиції на даний момент. Значення 0 або нижче вважається необмеженим. У разі необмеженого значення пошук шляху шукатиме всі полігони, пов'язані з початковим полігоном, доки не буде знайдено полігон цільової позиції або не будуть вичерпані всі доступні опції пошуку полігонів.
int path_search_max_polygons = 4096 🔗
Максимальна кількість полігонів, що обшукуються перед пошуком шляху, скасовує пошук шляху до (можливо, недосяжного або дуже далекого) полігону цільової позиції. У цьому випадку пошук шляху скидається та будує шлях від початкового полігону до полігону, який був знайдений найближчим до цільової позиції на даний момент. Значення 0 або нижче вважається необмеженим. У разі необмеженого значення пошук шляху шукатиме всі полігони, пов'язані з початковим полігоном, доки не буде знайдено полігон цільової позиції або не будуть вичерпані всі доступні опції пошуку полігонів.
PathfindingAlgorithm pathfinding_algorithm = 0 🔗
void set_pathfinding_algorithm(value: PathfindingAlgorithm)
PathfindingAlgorithm get_pathfinding_algorithm()
Алгоритм стипендії, що використовується в доріжці.
float simplify_epsilon = 0.0 🔗
Сума спрощення шляху у світових підрозділах.
Якщо true буде повернуто спрощену версію шляху з менш критичними точками шляху. Сума спрощування здійснюється за допомогою simplify_epsilon. Спрощування використовує варіант алгоритму Ramer-Douglas-Peucker для децимації кривих точок.
Удосконалення шляху може бути корисним, щоб пом'якшити різні шляхи, такі проблеми, які можуть виникати з певними типами агента та поведінками скриптів. Наприклад, агенти або уникнення в «відкритих полях».
Vector3 start_position = Vector3(0, 0, 0) 🔗
Почати позицію в глобальних координатах.
Vector3 target_position = Vector3(0, 0, 0) 🔗
Цільова позиція у глобальних координатах.