31 lines
784 B
GDScript3
31 lines
784 B
GDScript3
|
extends GridMap
|
||
|
|
||
|
var timer: float = 0
|
||
|
|
||
|
func _process(delta: float) -> void:
|
||
|
timer += delta
|
||
|
if timer > 1:
|
||
|
timer = 0
|
||
|
test_path()
|
||
|
|
||
|
if NavigationServer3D.get_maps().is_empty():
|
||
|
return
|
||
|
|
||
|
|
||
|
func test_path() -> void:
|
||
|
if NavigationServer3D.get_maps().is_empty():
|
||
|
return
|
||
|
|
||
|
var map_rid: RID = NavigationServer3D.get_maps()[0]
|
||
|
|
||
|
for region_rid in NavigationServer3D.map_get_regions(map_rid):
|
||
|
NavigationServer3D.region_set_travel_cost(region_rid, randf_range(0, 10))
|
||
|
|
||
|
var a: Vector3 = Vector3(1, 1, 1)
|
||
|
var b: Vector3 = Vector3(20,1,20)
|
||
|
var path: PackedVector3Array = NavigationServer3D.map_get_path(map_rid, a, b, true, 1)
|
||
|
|
||
|
DebugDraw3D.draw_sphere(a, 0.5, Color.GREEN, 1)
|
||
|
DebugDraw3D.draw_sphere(b, 0.5, Color.RED, 1)
|
||
|
DebugDraw3D.draw_line_path(path, Color.YELLOW, 1)
|