1
0
Fork 0
Commit Graph

173 Commits

Author SHA1 Message Date
nocommentsgood 65a2d733b7 Rename Camera2D set_position_smoothing_enabled parameter 2025-07-30 16:05:30 -05:00
kobewi 9a941441c4 Fix smoothed camera position with limits 2025-07-02 13:54:30 +02:00
Haoyu Qiu a7ab249a2a Make `PROPERTY_HINT_GROUP_ENABLE` hide properties by default 2025-06-16 20:03:49 +08:00
kobewi efbc5aabe1 Allow overriding 2D editor cursor 2025-06-12 14:00:19 +02:00
kobewi 2bb3217819 Add a dedicated editor for Camera2D limits 2025-06-12 13:49:59 +02:00
Rémi Verschelde 590225f3d1
Merge pull request #106690 from NessaTeal/expose-camera2d-current-rotation
Expose Camera2D current rotation
2025-06-05 13:12:07 +02:00
Nessa Teal cf59d74b15 Expose Camera2D current rotation 2025-06-04 00:22:18 +03:00
Logan Detrick 1a427d3dec Add feature hint string and "On" text for checkable groups 2025-05-21 14:56:55 -07:00
David Nikdel 5afb64e167 Fix for camera limits
This commit makes 2D camera limits have a well defined behavior for cases when the limits are smaller than the screen rect.

Presently the RIGHT and TOP limit take prescidence simply because they are applied second. This change adjusts behavior to split the difference in cases where both the LEFT/RIGHT or TOP/BOTTOM limits would both apply.
2025-05-20 11:09:47 -04:00
Thaddeus Crews d9c8376fe0
Merge pull request #105825 from Alex-Onceanu/playground
Fix `Camera2D` right and bottom limit to depend on bottom right corner
2025-05-13 16:22:24 -05:00
Alex Onceanu 1bdf237558
Fix Camera2D right and bottom limit to depend on bottom right corner 2025-05-12 19:05:08 +02:00
lawnjelly f8f350a32a Add `GLOBAL_GET` cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
Thaddeus Crews 0bae1116af
Merge pull request #105473 from rbaker87/camera2d_smoothing_fix
Fix process callback state getting overwritten by calls to `set_process_smoothing_speed`
2025-04-28 10:01:26 -05:00
Ryan Baker b7200d1e73 Fix process callback state getting overwritten by calls to set_process_smoothing_speed 2025-04-27 20:40:43 -04:00
cier ebe9370724 Add enable checkboxes to editor sections
Fixes https://github.com/godotengine/godot-proposals/issues/4173
2025-04-15 13:49:41 -07:00
kobewi ecda6b9b0b Camera2D code cleanup 2025-03-15 19:20:48 +01:00
Lazy-Rabbit-2001 5ca70d88a7 Improve usability of Camera2D 2025-03-12 09:57:31 +08:00
arkology 698cc24416 Fix `Camera2D` limits drawing 2025-02-15 10:02:58 +03:00
lawnjelly e46993f0db Physics Interpolation - Auto-reset on `set_physics_interpolation_mode()`
Fixes historical bug where auto-reset wasn't working correctly.
Also fixes process modes on Cameras when mode is changed.
2025-02-10 10:19:54 +00:00
Ricardo Buring 56fc0fd175 CPUParticles2D - Add ability to follow physics interpolated target
Allows a non-interpolated particle system to closely follow an interpolated target without tracking ahead of the target, by performing fixed timestep interpolation on the particle system global transform, and using this for emission.

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2025-01-24 14:13:20 +01:00
Yufeng Ying 73d85f46c9 Remove unused headers in scene.
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-24 00:40:09 +08:00
arkology 99886f3204
Remove double `is_editor_hint()` check inside `NOTIFICATION_READY` for `Camera2D` node
`Engine::get_singleton()->is_editor_hint()` is already a part of `is_part_of_edited_scene()` function.
2024-11-25 09:28:16 +03:00
Michael Alexsander 16524a8a01
Add "Game" editor for better runtime debugging 2024-10-30 11:42:17 -03:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Ricardo Buring ceadbaa299 Fixed Timestep Interpolation: Fix behaviour on pause
Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-07-07 16:48:17 +02:00
kobewi 9f7f1809ff Update Camera2D gizmos when screen size changes 2024-06-11 18:38:43 +02:00
Ricardo Buring efb6a1c23d Fix Parallax2D fixed timestep interpolation
The camera_screen_center value was stale in case of interpolation.
2024-05-26 23:08:35 +02:00
Bn-Fang 5d0a229a58 Fixed Typo in Camera 2D node's anchor mode
Fixed the Camera 2D node's anchor mode descriptor from "Fixed TopLeft" to "Fixed Top Left"
2024-04-23 16:24:45 -04:00
ajreckof 07406af6cc Fix negative value for position_smoothing_speed being allowed. 2024-04-04 17:15:53 +02:00
Ricardo Buring 2ed2ccc2d8 Fixed Timestep Interpolation (2D)
Adds fixed timestep interpolation to the rendering server (2D only).
Switchable on and off with a project setting (default is off).

Co-authored-by: lawnjelly <lawnjelly@gmail.com>
2024-03-23 12:28:36 +01:00
markdibarry a62870956a Add new Parallax2D node 2024-03-03 15:46:40 -05:00
Danni 734166f796 Ensure Camera2D scroll is updated on transform like 3.x 2023-11-05 18:01:34 -05:00
kleonc 836d80b306 Fix screen center position returned for rotated Camera2D 2023-10-16 09:02:49 +02:00
Mounir Tohami 4e4a725fff Fix Camera2D is not working inside EditorPlugin 2023-08-13 22:14:13 +00:00
Adam Scott deb45c0cab
Fix Camera2D crash when edited scene root is null 2023-07-18 20:36:40 -04:00
Yuri Sizov 553fd238cf
Merge pull request #73897 from TheSecondReal0/camera-line-width
Draw Camera2D outlines as 2 point primitives instead of 4 (consistent with how origin is drawn in 2D editor)
2023-03-25 13:49:12 +01:00
Asa Sprow 574293532d Draw Camera2D outlines as 2 point primitives instead of 4 2023-03-23 15:19:32 -07:00
Marcus Elg a835dfd96d Fix Camera2D position smoothing properties not being grouped 2023-03-03 19:28:39 +01:00
kobewi cf50eb130e Fix custom viewports in Camera2D 2023-02-24 13:26:31 +01:00
kobewi 3f31c64300 Fix camera reparenting 2023-02-10 23:46:55 +01:00
kobewi 724d6581d6 Fix Camera2D crashes 2023-02-01 23:49:02 +01:00
Rémi Verschelde 14a4408e02
Merge pull request #65698 from KoBeWi/cameraman
Rework how current Camera2D is determined
2023-01-31 18:56:20 +01:00
Ninni Pipping bbf203bc32 Hide clip_children for non-drawn CanvasItems 2023-01-30 08:22:06 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Richard Adenling a3d8a78f1b Fix for 2D viewport not updating in the editor when the camera moves
This fixes a problem with 2D viewports not taking the camera position
into consideration when previewed in the editor.

Fixes #40441
2022-12-06 11:34:32 +01:00
kobewi 7e2a8afb57 Rework how current Camera2D is determined 2022-12-02 00:05:02 +01:00
kobewi e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Micky 43b9cc96da Rename Camera2D's `smoothing` to `position_smoothing`
For Camera2D:
`smoothing_enabled` ->  `position_smoothing_enabled`
`set_enable_follow_smoothing` -> `set_position_smoothing_enabled`
`is_follow_smoothing_enabled` -> `is_position_smoothing_enabled`
`smoothing_speed` -> `position_smoothing_speed`
`set_follow_smoothing` -> `set_position_smoothing_speed`
`get_follow_smoothing` -> `get_position_smoothing_speed`
2022-10-11 16:51:26 +02:00
Luis Lopez c262589e26 Add rotation smoothing to Camera2D
Camera2D has follow smoothing to interpolate towards a target position, but no rotation smoothing to align with the target rotation.

This adds rotation smoothing directly into the Camera2D API by having two new properties:
  - `rotation_smoothing_enabled`
  - `rotation_smoothing_speed`
2022-10-04 17:14:03 +02:00
Micky ee16de583f Reverse Camera2D.`rotating` to `ignore_rotation`
`rotating` is misleading, as Camera2D is affected by `rotation` and `global_rotation` like any other Node2D

Updates description in the docs, as well.
2022-09-21 01:52:12 +02:00