Переглянути джерело

Merge pull request #2444 from TheHX/issue_2117

Fix for problem when drawing CollisionPolygon when parented (#2117)
Juan Linietsky 9 роки тому
батько
коміт
9a7769f194

+ 5 - 0
tools/editor/plugins/collision_polygon_editor_plugin.cpp

@@ -113,6 +113,7 @@ bool CollisionPolygonEditor::forward_spatial_input_event(Camera* p_camera,const
 		return false;
 
 	Transform gt = node->get_global_transform();
+	Transform gi = gt.affine_inverse();
 	float depth = node->get_depth()*0.5;
 	Vector3 n = gt.basis.get_axis(2).normalized();
 	Plane p(gt.origin+n*depth,n);
@@ -135,6 +136,8 @@ bool CollisionPolygonEditor::forward_spatial_input_event(Camera* p_camera,const
 			if (!p.intersects_ray(ray_from,ray_dir,&spoint))
 				break;
 
+			spoint = gi.xform(spoint);
+
 			Vector2 cpoint(spoint.x,spoint.y);
 
 			cpoint=CanvasItemEditor::get_singleton()->snap_point(cpoint);
@@ -349,6 +352,8 @@ bool CollisionPolygonEditor::forward_spatial_input_event(Camera* p_camera,const
 				if (!p.intersects_ray(ray_from,ray_dir,&spoint))
 					break;
 
+				spoint = gi.xform(spoint);
+
 				Vector2 cpoint(spoint.x,spoint.y);
 
 				cpoint=CanvasItemEditor::get_singleton()->snap_point(cpoint);