mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-30 21:21:10 +00:00 
			
		
		
		
	Added snapping to spatial drag and drop.
This commit is contained in:
		
							parent
							
								
									cd2ffdc672
								
							
						
					
					
						commit
						2e22c07f42
					
				
					 6 changed files with 33 additions and 25 deletions
				
			
		|  | @ -2663,7 +2663,7 @@ bool SpatialEditorViewport::_create_instance(Node *parent, String &path, const P | |||
| 	if (parent_spatial) | ||||
| 		global_transform = parent_spatial->get_global_transform(); | ||||
| 
 | ||||
| 	global_transform.origin = _get_instance_position(p_point); | ||||
| 	global_transform.origin = spatial_editor->snap_point(_get_instance_position(p_point)); | ||||
| 
 | ||||
| 	editor_data->get_undo_redo().add_do_method(instanced_scene, "set_global_transform", global_transform); | ||||
| 
 | ||||
|  | @ -4618,6 +4618,15 @@ void SpatialEditor::snap_cursor_to_plane(const Plane &p_plane) { | |||
| 	//cursor.pos=p_plane.project(cursor.pos);
 | ||||
| } | ||||
| 
 | ||||
| Vector3 SpatialEditor::snap_point(Vector3 p_target, Vector3 p_start) const { | ||||
| 	if (is_snap_enabled()) { | ||||
| 		p_target.x = Math::snap_scalar(0.0, get_translate_snap(), p_target.x); | ||||
| 		p_target.y = Math::snap_scalar(0.0, get_translate_snap(), p_target.y); | ||||
| 		p_target.z = Math::snap_scalar(0.0, get_translate_snap(), p_target.z); | ||||
| 	} | ||||
| 	return p_target; | ||||
| } | ||||
| 
 | ||||
| void SpatialEditorPlugin::_bind_methods() { | ||||
| 
 | ||||
| 	ClassDB::bind_method("snap_cursor_to_plane", &SpatialEditorPlugin::snap_cursor_to_plane); | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 SaracenOne
						SaracenOne