1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-07 12:30:27 +00:00

Fix for issue #2117

This commit is contained in:
Franklin Sobrinho
2015-09-07 08:20:33 -03:00
parent b0aa49accb
commit d6aed94651

View File

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