Commit Graph

40 Commits

Author SHA1 Message Date
hultonha 80e08dd947 Fix issue with mouse input for viewport camera (#3210)
* fix for drift accumulating in the viewport camera

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fix typo and update how events are stored

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* respond to PR feedback and fix linux and windows build issues

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fix failing unit tests in camera input

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-19 09:06:24 +01:00
moudgils c2b8542bbd Support for refresh rate and sync interval (#2989)
* Add support for querying the refresh rate and sync interval
2021-08-12 12:07:46 -07:00
hultonha 1169c82b98 Make camera controller priority customizable (#2826)
* make 'should handle' logic customizable

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* updates to get priority function

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* minor comment tweak

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-05 09:45:03 +01:00
hultonha 7393c86416 some formatting and naming changes after PR feedback
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-03 15:24:54 +01:00
hultonha 86758fda35 documentation pass for modular viewport camera controller
Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-08-03 13:44:21 +01:00
hultonha 4268376587 Ensure camera system correctly consumes events when it is active (#2346)
* add typename for struct initializer

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* fix for ensuring while the camera is 'active', events are consumed and not propagated

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* refactor how we decide which priority to repsond to events to

Signed-off-by: hultonha <hultonha@amazon.co.uk>

* also -> only

Signed-off-by: hultonha <hultonha@amazon.co.uk>
2021-07-23 08:52:44 +02:00
Steve Pham 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
2021-07-16 15:25:48 -07:00
Nicholas Van Sickle 867ae23664 Make Viewport input events fully Qt based (#2142)
* Make Viewport input events fully Qt based.

This should fix an issue with Qt touch event -> mouse event translation in the Editor, and may also fix issues with the Mac Editor and remote desktop (though, lacking the requisite hardware, I can test precisely none of these things personally).

See https://github.com/o3de/o3de/issues/1889

- Adapted LegacyViewportCameraController to use Movement::X & Y (mostly for testing purposes, it's on the slate for being removed soon)
- Moved cursor capture logic from RenderViewportWidget into QtEventToAzInputManager so that it can make sure it generates correct movement deltas
- Removed ViewportMouseCursorRequests::PreviousViewportCursorScreenPosition to have our viewport controllers use our dedicated Movement::X and Y channels instead, which will work in the launcher

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Address review feedback

Signed-off-by: nvsickle <nvsickle@amazon.com>

* Fix Linux build

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-13 20:58:48 -07:00
Chris Galvan 3b1873b045 Merged stabilization/2106 -> development (resolved merge conflicts).
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-08 13:56:47 -05:00
nvsickle 4babf69361 Address a few more review things
Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-07 13:50:09 -07:00
nvsickle 52ae7433b3 Use synthetic keyboard and mouse devices instead of synthetic input channels
Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-07 13:50:06 -07:00
nvsickle f4c96fc9df -Rework input handling to filter through a global event filter
-Attempt to support remote desktop for viewport cursor capture

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-07 13:50:00 -07:00
nvsickle a4a038cb28 Switch RenderViewportWidget to using Qt events instead of AzFramework input events
Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-07 13:49:58 -07:00
nvsickle 6b76eceb1f Add GetDpiScaleFactor to native window API
-This includes implementations of the API for the Editor and Windows, all other platforms will have a 1.0 scale for now

Signed-off-by: nvsickle <nvsickle@amazon.com>
2021-07-07 11:51:08 -07:00
Chris Galvan d7574777a8 Resolved merge conflicts
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2021-07-02 12:42:44 -05:00
Steve Pham b4a2edec6a Final update copyright headers to reference license files at the repo root (#1693)
* Final update copyright headers to reference license files at the repo root

Signed-off-by: spham <spham@amazon.com>

* Fix copyright validator unit tests to support the stale O3DE header scenario

Signed-off-by: spham <spham@amazon.com>
2021-06-30 19:51:55 -07:00
Gene Walters 4e14c0069b Merge branch 'upstream/stabilization/2106' into genewalt/gitflow_210628 2021-06-28 19:09:20 -07:00
Steve Pham 70042fcdcd O3DE Copyright Updates for Linux Foundation (#1504) 2021-06-23 10:55:22 -07:00
Tom Hulton-Harrop dc343e2b65 Small camera updates (#1460, LYN-2315)
* add interpolation for goto position/orientation

* resize default camera look-at point
2021-06-22 12:53:20 +01:00
Tom Hulton-Harrop 0f09a6d8bf Move new camera settings to the Settings Registry and connect them to viewport border elements (#1267)
* ensure the new camera respects changing ui values and move camera settings to the settings registry

* factor out creation of modular camera controller

* small updates before posting PR

* updates following review feedback

* updates following review feedback
2021-06-14 12:32:35 +01:00
Tom Hulton-Harrop cf08f4dab1 Improve camera orbit behavior (#1060) 2021-06-03 15:48:44 +01:00
Tom Hulton-Harrop 3947dcf213 Add some extra cvars to control orbit point appearance and remove unused ones (#1032) 2021-06-01 09:36:00 +01:00
Nicholas Van Sickle 5e87250f67 Fix viewport icon rendering on high DPI devices (#1006)
* Clarify ViewportWorldToScreen being in widget space and add DeviceScalingFactor

* -Fix viewport icons being draw wrong on high DPI displays
-Fix loading viewport icons from absolute paths, which

* Address review feedback, fix build
2021-05-27 16:31:30 -07:00
Tom Hulton-Harrop 50f5976e59 Rename and move ModernViewportCameraController (#866)
* rename ModernViewportCameraController to ModularViewportCameraController and move to AtomToolsFramework

* update names and includes after file moves
2021-05-25 17:28:51 +01:00
Tom Hulton-Harrop b2523217c3 Update snapping settings to be stored in the Settings Registry (#646)
* add overload to ActionManager to support capturing an AZStd::function

* move snapping settings to new settings registry

* remove unneeded reference in ViewportSettings

* move viewport setting function implementations to .cpp file

* add more sensible default values for snapping

* fix variable name for angle snapping

* remove const from function prototype value parameters

* add import/export api for free functions

* change from std::bind to a lambda

* remove redundant const for constexpr string_view

* add AZStd alias for std::abs
2021-05-10 18:40:32 +01:00
Tom Hulton-Harrop c5a06b8953 Restore grid and angle snapping (#640)
Restore grid and angle snapping (LYN-3367)
2021-05-07 17:21:12 +01:00
AMZN-mnaumov 5fb923738e Merge pull request #614 from aws-lumberyard-dev/Atom/mnaumov/ATOM-15474
[ATOM-15474] Material Editor camera controller zoom respects viewport boundary
2021-05-06 17:45:47 -07:00
mnaumov dfd0cbb0fd Material Editor camera controller zoom respects viewport boundary 2021-05-06 13:10:55 -07:00
hultonha a206896074 remove QPoint from lower-level interfaces, switch to use AzFramework::ScreenPoint 2021-05-04 17:32:47 +01:00
Nicholas Van Sickle 3c5c692148 Merge pull request #411 from aws-lumberyard-dev/nvsickle/FixBoxSelect
Fix viewport box selection
2021-04-29 11:19:28 -07:00
AMZN-koppersr 5e4094b258 Revamped AzFramework::Scene (#332)
Updated AzFramework::Scene to allow it to serve as the one-stop location for localized singletons. Localized singletons in this case are instance that can only occur once in an environment but multiple times within an application. As an example, this allows settings up a single camera per viewport for instance.

Highlights of changes:

Replaced the original ebuses with interfaces and events for easy of use and performance.
Removed the Entity Context specific code and moved that to new locations within the Entity Context itself.
Allowed basic inheritance. If a subsystem isn't found in a scene the parent can optionally be searched.
Scenes can enter a zombie state and avoid immediately being deleted. This is needed for situations where subsystems can't be destroyed until async calls have been completed.
2021-04-29 08:50:48 -07:00
nvsickle 9311dc4cb9 Fix RenderViewportWidget::ViewportWorldToScreen, which fixes box selection 2021-04-28 17:42:43 -07:00
nvsickle fb2ca8e02c Fix Editor crash in test teardown calling set_view_pane_layout
If Atom isn't initialized and able to produce a ViewportContext, the Editor would crash. This attempts to make the initialization fail a bit more gracefully and fixes the crash in the cases I've tested.
2021-04-23 00:26:09 -07:00
nvsickle dd7334471f Fix comment punctuation 2021-04-19 15:13:08 -07:00
nvsickle d2fadcb0e3 Fix context menu handling in multi-viewport scenarios (the logic bugs here were many and nuanced, but we're narrowing in on something robust).
Specifically this:
-Ensures key/mouse up event propagation works across multiple viewports
-Ensures that mouse up events for manipulators only get delivered if there's a corresponding mouse down event
-Also tidies up the "are we done processing events this tick?" logic in ViewportManipulatorController
2021-04-19 15:13:06 -07:00
Alex Peterson 921eb742d4 Merge branch 'main' into github/staging 2021-04-13 09:46:26 -07:00
nvsickle 1dabb39b98 Migrate fixes from CodeCommit branch 2021-04-09 12:40:43 -07:00
alexpete c5b955d281 Integrating github/staging through commit b0dd7ed 2021-04-09 12:03:26 -07:00
alexpete 75dc720198 Integrating latest 47acbe8 2021-03-25 13:57:57 -07:00
alexpete a10351f38d Initial commit 2021-03-08 14:30:57 -08:00