Bläddra i källkod

Fix click selection in the editor 3D viewport

jfons 3 år sedan
förälder
incheckning
83fd0e0c70
1 ändrade filer med 2 tillägg och 2 borttagningar
  1. 2 2
      editor/plugins/node_3d_editor_plugin.cpp

+ 2 - 2
editor/plugins/node_3d_editor_plugin.cpp

@@ -489,7 +489,7 @@ ObjectID Node3DEditorViewport::_select_ray(const Point2 &p_pos) {
 		RS::get_singleton()->sdfgi_set_debug_probe_select(pos, ray);
 		RS::get_singleton()->sdfgi_set_debug_probe_select(pos, ray);
 	}
 	}
 
 
-	Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, ray, get_tree()->get_root()->get_world_3d()->get_scenario());
+	Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, pos + ray * camera->get_far(), get_tree()->get_root()->get_world_3d()->get_scenario());
 	Set<Ref<EditorNode3DGizmo>> found_gizmos;
 	Set<Ref<EditorNode3DGizmo>> found_gizmos;
 
 
 	Node *edited_scene = get_tree()->get_edited_scene_root();
 	Node *edited_scene = get_tree()->get_edited_scene_root();
@@ -552,7 +552,7 @@ void Node3DEditorViewport::_find_items_at_pos(const Point2 &p_pos, Vector<_RayRe
 	Vector3 ray = _get_ray(p_pos);
 	Vector3 ray = _get_ray(p_pos);
 	Vector3 pos = _get_ray_pos(p_pos);
 	Vector3 pos = _get_ray_pos(p_pos);
 
 
-	Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, ray, get_tree()->get_root()->get_world_3d()->get_scenario());
+	Vector<ObjectID> instances = RenderingServer::get_singleton()->instances_cull_ray(pos, pos + ray * camera->get_far(), get_tree()->get_root()->get_world_3d()->get_scenario());
 	Set<Node3D *> found_nodes;
 	Set<Node3D *> found_nodes;
 
 
 	for (int i = 0; i < instances.size(); i++) {
 	for (int i = 0; i < instances.size(); i++) {