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) 🔗
Цільова позиція у глобальних координатах.