extends Node @onready var p1 = $Polygon2D @onready var p2 = $Polygon2D2 @onready var p3 = $Polygon2D3 @onready var meshInstance = MeshInstance3D.new() var lines = [] func _process(delta: float) -> void: for l in lines: DebugDraw3D.draw_lines(l, Color.DARK_RED) meshInstance.rotate(Vector3.UP, (0.9 * delta)) meshInstance.rotate(Vector3.RIGHT, (0.9 * delta)) func _ready() -> void: var p1_vectors = [Vector2(4, 0), Vector2(4, 4), Vector2(0, 4), Vector2(0, 0)] var p2_vectors = [Vector2(0, 2), Vector2(0, 1), Vector2(2, 1), Vector2(2, 2)] var p3_vectors = [Vector2(2, 2), Vector2(2, 1), Vector2(4, 1), Vector2(4, 2)] p2_vectors.reverse() p3_vectors.reverse() p1.polygon = p1_vectors p2.polygon = p2_vectors p3.polygon = p3_vectors p2.color = Color(1, 0, 1) var trianglizationInstance = GeoPolyTriangulization.new(p1, [p2, p3], -0.001) var vector_indexes = trianglizationInstance.triangulate() print(vector_indexes) var vectors_points = trianglizationInstance.vectors var meshGenerator = GeoPolyMesh.new(vector_indexes, vectors_points) var mesh = meshGenerator.commit_mesh() meshInstance.mesh = mesh add_child(meshInstance)