Commit graph

347 commits

Author SHA1 Message Date
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
Renamed from tools/editor/plugins/spatial_editor_plugin.cpp (Browse further)