Generate complete freshwater and elevated terrain features
This commit is contained in:
parent
219c462181
commit
f2b96f2c1f
7 changed files with 2105 additions and 141 deletions
|
|
@ -199,6 +199,59 @@ func _validate_portable_water_body() -> void:
|
|||
mesh_derived_body.queue_free()
|
||||
await process_frame
|
||||
|
||||
var polygon_body := WaterBodyScene.instantiate() as WaterBodyAuthoring
|
||||
polygon_body.position = Vector3(30.0, 5.0, 20.0)
|
||||
polygon_body.surface_polygon = PackedVector2Array([
|
||||
Vector2(-4.0, -4.0),
|
||||
Vector2(4.0, -4.0),
|
||||
Vector2(4.0, 4.0),
|
||||
Vector2(0.0, 1.0),
|
||||
Vector2(-4.0, 4.0),
|
||||
])
|
||||
polygon_body.visual_surface_enabled = false
|
||||
polygon_body.fish_pool = PondPool
|
||||
root.add_child(polygon_body)
|
||||
await physics_frame
|
||||
await physics_frame
|
||||
|
||||
var polygon_fishing_region := polygon_body.get_node(
|
||||
"FishingRegion"
|
||||
) as FishableWaterRegionType
|
||||
var polygon_recovery_region := polygon_body.get_node(
|
||||
"RecoveryRegion"
|
||||
) as Area3D
|
||||
assert(polygon_fishing_region.get_child_count() == 3)
|
||||
assert(polygon_recovery_region.get_child_count() == 3)
|
||||
for child: Node in polygon_fishing_region.get_children():
|
||||
var polygon_shape_node := child as CollisionShape3D
|
||||
assert(polygon_shape_node != null)
|
||||
assert(polygon_shape_node.shape is ConvexPolygonShape3D)
|
||||
|
||||
var polygon_resolver := FishingSurfaceResolverType.new()
|
||||
var polygon_space_state := (
|
||||
polygon_body.get_world_3d().direct_space_state
|
||||
)
|
||||
var polygon_inside: FishingSurfaceSampleType = (
|
||||
polygon_resolver.resolve_surface(
|
||||
polygon_space_state,
|
||||
Vector3(30.0, 0.0, 20.0),
|
||||
8.0,
|
||||
)
|
||||
)
|
||||
assert(polygon_inside.is_fishable())
|
||||
assert(is_equal_approx(polygon_inside.position.y, 5.0))
|
||||
var polygon_notch: FishingSurfaceSampleType = (
|
||||
polygon_resolver.resolve_surface(
|
||||
polygon_space_state,
|
||||
Vector3(30.0, 0.0, 23.0),
|
||||
8.0,
|
||||
)
|
||||
)
|
||||
assert(not polygon_notch.has_surface)
|
||||
|
||||
polygon_body.queue_free()
|
||||
await process_frame
|
||||
|
||||
|
||||
func _validate_starter_region_surfaces() -> void:
|
||||
var region := StarterRegionScene.instantiate() as Node3D
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue