Commit Graph

258 Commits

Author SHA1 Message Date
Jakub Grzesik 518d907914 ability to lock spatial nodes transform in editor 2017-11-11 12:56:37 +01:00
Webster Sheets 5c88ad9457 Dropping a mesh file into the scene no longer creates an instanced scene. 2017-11-10 16:31:53 -05:00
Przemysław Gołąb (n-pigeon) f1c2a18e57 Cleanups in Spatial Transform Gizmo
Fixed translation i local space - changed a bit how it was implemented.
Fixed bug with rotations when object is scaled.
Added safety check preventing scaling to 0 in local space.
All Gizmoz display numerical output message on the bottom of the viewport.
Unified code a bit, so it will be easier to maintain.
2017-11-10 08:22:11 +01:00
Daniel J. Ramirez 1b7f99d9e5 Several improvements to GridMap.
Fixed crash when undoing.
More ergonomic shortcuts.
Fixed freelook navigation.
2017-11-09 16:18:48 -06:00
Juan Linietsky a4ea63737c Ability to shrink 3D viewport by half 2017-10-31 14:23:47 -03:00
Marc Gilleron b9521f862d Add option to use freelook with a toggle shortcut (like Blender) instead of holding RMB (like Unity) 2017-10-30 23:23:55 +01:00
Rémi Verschelde 99c8a8c7b1 Merge pull request #11401 from SaracenOne/snapped_drag
Added snapping to spatial drag and drop.
2017-10-22 12:06:00 +02:00
Saracen c566899dcf Fix drag and drop collision with non-centred origin points. 2017-10-18 05:16:05 +01:00
Marc Gilleron 59e6a27da1 Added icon under zoom/speed indicator bar 2017-10-15 21:20:51 +02:00
Rémi Verschelde 61a26dc23e Merge pull request #11927 from Zylann/freelook_interpolation_fix
Freelook interpolation fixes
2017-10-15 20:40:16 +02:00
Daniel J. Ramirez c04f8721f3 Return camera to origin when creating a new scene and going to 3d editor. 2017-10-14 19:05:09 -05:00
Marc Gilleron de42e53671 Freelook interpolation fixes
- Smooth freelook position more explicitely
- Don't let orbit zoom produce translation when it shouldn't
- Make base speed framerate-independent (and tweaked setting for that)
- Don't rely on camera for calculations because it no longer reflect immediate state
- Avoid potential divide-by-zero with zoom inertia
- Make speed/zoom relation optional (if enabled, speed is adjusted from zoom)
- Never change zoom distance when freelook is active
- Orbit inertia also applies on freelook
2017-10-10 02:38:17 +02:00
Przemysław Gołąb (n-pigeon) a6ff281966 Fixed rotating in local space using 3D Gizmo. 2017-10-04 23:18:31 +02:00
Andreas Haas 5cd68abf88 Merge pull request #11478 from n-pigeon/scale_gizmo
Scale editing Gizmo for Spatial Editor
2017-10-03 00:03:01 +02:00
AndreaCatania 4537977d6d Renamed fixed_process to physics_process 2017-09-30 16:19:07 +02:00
Przemysław Gołąb (n-pigeon) aad234d5ac Scale editing Gizmo for Spatial Editor
Added support for axis locked scaling with handles, supports both world and local space. Local space recommended for most editing tasks.
Also fixed some small bugs, polished Gizmo looks and cleaned up some dead code.
Happy scaling! :)
2017-09-26 20:39:41 +02:00
Daniel J. Ramirez e2861a3b7c Removed transparency from spatial editor grid. 2017-09-25 21:45:53 -05:00
Rémi Verschelde f577efd47e Merge pull request #11424 from groud/control_node_presets
Implements set_margins_preset(...)
2017-09-26 00:11:46 +02:00
Juan Linietsky d3ea92257d -Fixed redraw always on 3D viewprot bug
-Changed manipulation inertia default values. Do not touch them again or I'll cut your fingers and eat them.
2017-09-23 17:28:28 -03:00
Gilles Roudiere 05bb8e0c10 Remove set_area_as_parent_rect and replace it by set_anchors_and_margins_preset(PRESET_WIDE) 2017-09-22 11:39:44 +02:00
Rémi Verschelde 2f82da7f72 Merge pull request #11222 from toger5/spatial_scrolling
Spatial scrolling update + better default inertia values
2017-09-21 10:35:25 +02:00
SaracenOne 3cecd0c6dc Box selection for MeshInstances and subscene nodes. 2017-09-20 14:04:18 +01:00
letheed 5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
SaracenOne 2e22c07f42 Added snapping to spatial drag and drop. 2017-09-20 01:54:01 +01:00
Rémi Verschelde 01e4d2672c Merge pull request #11327 from SaracenOne/drag_meshes
Drag and drop for meshes directly.
2017-09-19 23:38:10 +02:00
toger5 f328a356ae settings 'editors/3d' organized, sorted, new_defaults 2017-09-19 02:44:26 +02:00
toger5 117eb16adb update inertia/freelook settings values + renamed free_orbit... to
oribit...
2017-09-19 02:34:44 +02:00
toger5 1a8a80368e added precision scrolling to spatial editor zoom 2017-09-19 02:34:04 +02:00
toger5 81245a634b zoom inertia uses its own setting (not the same then translation) 2017-09-19 01:30:14 +02:00
SaracenOne a3b3886029 Drag and drop for meshes directly and fix drop restriction for non-Texture objects in canvas editor. 2017-09-18 22:50:05 +01:00
Rémi Verschelde 7655587efb Merge pull request #11251 from toger5/q_e_fix_freelook
swapped up down shortcut for freelook (to fit unreal)
2017-09-17 22:49:13 +02:00
Marcelo Fernandez ac9c400adc Compile fix for clang error on spatial_editor_plugin.cpp 2017-09-16 19:16:40 -03:00
Juan Linietsky 82f9836a1c forgot to set proper default values for new camera interpolation 2017-09-16 12:14:12 -03:00
Juan Linietsky 844c5e12e6 Fixed to InputDefault, button mask was wrong. Fixes to editor camera interpolation. 2017-09-16 12:12:41 -03:00
toger5 1d6f19f3a2 swapped up down shortcut for freelook (to fit unreal) 2017-09-14 01:36:42 +02:00
Rémi Verschelde 97a2ed6fa6 Merge pull request #11081 from djrm/pr_better_3d_grid
Better looking spatial editor grid
2017-09-13 19:30:47 +02:00
Rémi Verschelde 91a85d8805 Merge pull request #11047 from toger5/interpolation_chnage
Modify inertia implementation for freelook and orbit
2017-09-12 14:06:04 +02:00
toger5 226f2ae2f2 fix always updating +removed print +use EDITOR_DEF 2017-09-11 22:54:49 +02:00
Daniel J. Ramirez f8dad1e61b Better looking spatial editor grid 2017-09-08 18:49:30 -05:00
Hein-Pieter van Braam b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
toger5 b1f804094d Modify inertia implementation for freelook and orbit
- freelook now uses position based inertia (holding a key for a
   specific time always rults in the same distance traveled independent
of inertia setting)
 - orbit inertia now is angle bases. (not transformation based) ->
   camera always takes the same path.
 - added setting for orbit inertia
 - added setting hints for freelook settings.
2017-09-07 15:55:58 +02:00
toger5 44f12be3f4 Revert "Removed camera interpolation in orthogonal mode (I have no idea how to fix this due to how orthogonal works), closes #10718"
This reverts commit 895140389a.
2017-09-07 15:55:58 +02:00
Juan Linietsky 895140389a Removed camera interpolation in orthogonal mode (I have no idea how to fix this due to how orthogonal works), closes #10718 2017-09-07 09:58:38 -03:00
Rémi Verschelde 7f262e484a Merge pull request #10907 from SaracenOne/spatial_edit_drag
Added support for drag and drop in spatial editor.
2017-09-04 23:05:31 +02:00
SaracenOne d3cb8d12ff Added support for drag and drop in spatial editor. 2017-09-03 05:00:23 +01:00
Rémi Verschelde dac150108a Merge pull request #10846 from hpvb/fix-sign-compare
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Juan Linietsky 8f30c52a37 Removed ontop property, added a material rendering priority system. Fixes #9935, closes #10135 2017-09-01 13:01:08 -03:00
Hein-Pieter van Braam f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Rémi Verschelde f00760b22c Merge pull request #10382 from toger5/dark_icons
Light Theme
2017-08-31 11:47:18 +02:00
toger5 7793bfc544 added icon updating to most ui elements 2017-08-30 21:47:09 +02:00
Daniel J. Ramirez 78c3cf6e68 Better spatial gizmo.
Now it is posible to move spatial nodes along a plane.
2017-08-28 20:39:45 -05:00
Rémi Verschelde 7e8a7dea2e Merge pull request #10667 from Zylann/freelook_inertia
Added freelook inertia
2017-08-28 00:06:25 +02:00
Rémi Verschelde 7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Marc Gilleron 28e1c88f6e Added freelook inertia 2017-08-27 02:21:26 +02:00
Juan Linietsky fbfed97a1b Changed camera interpolation to work when LMB is pressed and no modifiers are pressed 2017-08-26 09:10:57 -03:00
Juan Linietsky 1894157c9f -Massive clean up to gizmos
-Make sure handles are always visible (on top)
-Fixed instanced scene selection (should work properly now)
-Added interpolated camera
-Customizable gizmo colors in editor settings
2017-08-26 00:47:28 -03:00
Andreas Haas 6134d8741d Editor: Add some more translatable strings. 2017-08-25 18:49:45 +02:00
Hein-Pieter van Braam cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Ferenc Arn d9d9571c8c Fix the order of transformations for selection bounding box in spatial editor.
This was broken in #7438 where the ordering of scaling in Basis::scale() was fixed, but this line of code (which relied on the incorrect behavior) wasn't updated correctly.

Fixes #9894.
2017-08-22 20:05:41 -04:00
Juan Linietsky 541fdffc0a Merge pull request #10319 from neikeq/pr-engine-editor-hint
Adds Engine::is_editor_hint() method
2017-08-20 12:55:46 -03:00
Marc Gilleron a88c759ff1 Added option for mouse orbit sensitivity 2017-08-19 21:57:43 +02:00
Ignacio Etcheverry 90b8a5b71e Removes editor_hint from SceneTree 2017-08-19 01:29:45 +02:00
Rémi Verschelde b1ecaaa22b Merge pull request #10307 from Rubonnek/update-argument-names
Updated function argument names
2017-08-16 17:17:56 +02:00
Rémi Verschelde 6345347190 Merge pull request #10326 from kubecz3k/spatial-click-improve
spatial selection if subscene geometry is far from origin
2017-08-16 17:13:27 +02:00
Jakub Grzesik 78e72c8e79 spatial selection if subscene geometry is far from origin 2017-08-14 09:53:46 +02:00
Gilles Roudiere 0d35d4d53b Replace GUI anchor type by a float between 0 and 1 2017-08-13 21:20:13 +02:00
Wilson E. Alvarez 428f03cf06 Updated function argument names 2017-08-12 15:12:49 -04:00
Jakub Grzesik be8ae8df93 fix crash after click on MeshInstance with no owner
Due to how spatial selection works, after clicking on
MeshInstance that had no owner editor was crashing.
2017-08-11 19:59:30 +02:00
Jakub Grzesik d2d62122e2 ability to click on spatial subscene to select it 2017-08-09 18:40:02 +02:00
Juan Linietsky 5e1116da4c Added proper local transform snapping, closes #4985 2017-08-08 07:55:21 -03:00
Rémi Verschelde 3121b3a4f4 Merge pull request #10141 from ISylvox/lower_case_godot_api
Makes all Godot API's Methods lower_case
2017-08-07 14:59:39 +02:00
Rémi Verschelde 722011bb75 Merge pull request #10082 from Noshyaar/pr-viewport2
SpatialEditor: fix "Top", overflow preview button
2017-08-07 14:42:31 +02:00
Indah Sylvia 5ae78fdf6a Makes all Godot API's methods Lower Case 2017-08-07 18:24:35 +07:00
Poommetee Ketson 1cc655a40d SpatialEditor: fix "Top", overflow preview button 2017-08-04 20:46:22 +07:00
Poommetee Ketson b8feae4db6 SpatialEditor: uniform min/max of fov,znear,zfar
Clamp FOV to [0.01, 179], Znear and Zfar to [0.01, 10000]
2017-08-04 18:23:10 +07:00
Poommetee Ketson 6dde105be7 SpatialEditor: fix transform dialog 2017-07-31 20:00:02 +07:00
Marc Gilleron 754679da0a Initialize freelook shortcuts properly 2017-07-27 04:00:23 +02:00
Marc Gilleron 9d970b11ae Added configurable modifier key to activate freelook 2017-07-23 02:13:08 +02:00
Juan Linietsky 25678b1876 -Renamed GlobalConfig to ProjectSettings, makes more sense.
-Added system for feature overrides, it's pretty cool :)
2017-07-19 17:06:03 -03:00
Juan Linietsky bbada82f80 -Reorganized all properties of project settings (Sorry, Again).
(Lot's of bloat accumulated, so it was time for clean up.)
-Made EditorSettings and ProjectSettings search more useful (search in sections too)
2017-07-17 22:18:58 -03:00
Juan Linietsky 2e73be99d8 Lots of work on Audio & Physics engine:
-Added new 3D stream player node
-Added ability for Area to capture sound from streams
-Added small features in physics to be able to properly guess distance to areas for sound
-Fixed 3D CollisionObject so shapes are added the same as in 2D, directly from children
-Fixed KinematicBody API to make it the same as 2D.
2017-07-15 08:32:34 -03:00
TwistedTwigleg 44ecfb028d Fixed syntax inconsistency in Vector3.snap and Vector3.snapped 2017-07-03 16:29:03 -04:00
Marc Gilleron 0fd66a4f8f Fixed freelook conflict with text inputs 2017-06-20 02:50:25 +02:00
Thomas Herzog 6b93455b6b Merge pull request #9099 from kubecz3k/plugin-camera-expose
EditorPlugin can request user inputs from editor 3d view
2017-06-19 22:43:33 +02:00
Hugo Locurcio cdcc3c919b Increase the default perspective camera FOV
This does not affect existing projects, but will affect newly-created
editor settings and Camera nodes.
2017-06-16 12:07:07 +02:00
Unknown d8b65b1657 EditorPlugin can request user inputs from editor 3d view 2017-06-12 17:55:15 +02:00
Juan Linietsky 61c82f4356 Restored everything related to information polling, and added information box for viewport. 2017-06-11 18:13:04 -03:00
Juan Linietsky 4d50c7ad8c Restored multiple viewport function, as well as view modes. 2017-06-11 15:52:03 -03:00
Juan Linietsky ec015a32ae Multiple 3D viewports are not operational. 2017-06-11 11:29:51 -03:00
alexholly 935f730170 renamed all Rect3.pos to Rect3.position 2017-06-09 15:54:02 +02:00
Juan Linietsky 5bf810b5db -Added proper access to depth texture from shader
-Split Mesh into Mesh (abstrat class) and ArrayMesh, to allow to proper mesh primitives, as well as streamable meshes in the future.
2017-06-07 18:20:04 -03:00
alexholly a3c90b0293 renamed all Rect2.pos to Rect2.position 2017-06-04 02:09:17 +02:00
Andreas Haas 9bc5348961
InputEvent: Renamed "pos" property to "position"
Make the naming consistent with other classes.
2017-06-03 11:26:39 +02:00
Juan Linietsky bb20f230ad -Added .hdr format support
-Added default environment editor setting
-Added environment created by default in new projects
-Removed default light and ambient from spatial editor, to make the editor more PBR compliant
2017-05-28 21:48:05 -03:00
Juan Linietsky 5b3709d309 Removal of InputEvent as built-in Variant type..
this might cause bugs I haven't found yet..
2017-05-20 17:05:38 -03:00
Rémi Verschelde 231511b2a6 Merge pull request #8631 from volzhs/editor-theme-custom
New customizable editor theme
2017-05-20 07:16:11 +02:00
volzhs bb81293047 New customizable editor theme 2017-05-09 17:46:54 +09:00
Marc Gilleron aaf9cacf5f Improved freelook
- Fix movement input affecting all viewports even when clicking outside
- Freelook up movement is now relative
- Prevent tool shortcut conflict when moving
- De-hardcode tool shortcuts (select, move, rotate, scale, wireframe)
- Movement speed depends on zoom distance (like panning)
- Mouse wheel controls speed (Blender-style) due to above point
- Added zoom distance indicator, hides after short delay
2017-05-08 02:57:20 +02:00
Andreas Haas 7839a89027
Spatial Editor: Mouse warping for orbit & freelook modes. 2017-05-06 14:46:42 +02:00
Marc Gilleron 442006b4bf Added 3D freelook navigation mode
- Triggered by holding RMB
- Can look around in FPS style
- Can move with WASD
- Movement speed accelerates over time
- Can multiply speed with a modifier key to go faster or slower
- Configurable in editor settings and shortcuts
2017-05-04 01:38:12 +02:00
Sergey Pusnei 8589ca3903 Rename [gs]et_pos to [gs]et_position for Controls
Control set_pos -> set_position
Control set_global_pos -> set_global_position
[gs]et_mouse_pos -> [gs]et_mouse_position
[gs]et_global_mouse_pos -> [gs]et_global_mouse_position
fixes #8005
2017-04-10 08:27:34 +02:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Juan Linietsky 74808ac4d9 New particle system, mostly working, some small features missing. 2017-04-06 23:49:27 -03:00
supaiku d51fe99a8b Fix highlight typo 2017-04-06 17:35:08 +02:00
Pedro J. Estébanez f5004b78d0 Implement warped mouse panning for 2D & 3D editors
Enabled by default as in Blender, but can be disabled separately for 2D & 3D;
the core functionality is in Input so this could be reused or even exposed to scripts in the future
2017-03-22 21:36:52 +01:00
Rémi Verschelde 5dbf1809c6 A Whole New World (clang-format edition)
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?

I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon

A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format

A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
2017-03-05 16:44:50 +01:00
Rémi Verschelde 49c065d29c Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.
2017-03-05 14:21:25 +01:00