Commit Graph

6260 Commits

Author SHA1 Message Date
Tom Hulton-Harrop 6ffc2620e4 Updates to EMFX cameras and better support for character follow behavior (#7676)
* initial wip change to help resolve EMFX camera viewport issue

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* some updates to add/remove camera input API

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add additional comments and remove some optimize off calls

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* improvements to camera behavior in EMFX editor

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>

* add some tests for add/remove logic for cameras

Signed-off-by: Tom Hulton-Harrop <82228511+hultonha@users.noreply.github.com>
2022-02-21 09:44:21 +00:00
Benjamin Jillich d31200ee5c EMotion FX: Update skeleton transforms when either solid mesh rendering or any of the debug visualizations is enabled (#7747)
* Disabled depth testing for joint orientation debug rendering, so that we can also see them through the solid mesh rendering.
* Update transforms in case solid mesh rendering or any of the debug visualizations are enabled.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-21 08:51:53 +01:00
lumberyard-employee-dm 60adc098da Fixed implicit conversion to bool in AZStd::to_string. (#7755)
This specifically implies to the value returning to_string overloads

Added a range based StringFunc::Join overload.

Reduced the number of AZStd::to_string calls in the TranslationKey
operator<< function.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-02-18 17:16:30 -06:00
Chris Galvan 445385e146 Merge pull request #7617 from Bindless-Chicken/fix-assert-resource
Fix missing format parameter in RHI::Resource
2022-02-18 15:17:16 -06:00
Roman 464b225042 Prevent the character to go out of bound in animation viewport (#7667)
* Prevent the character to go out of bound

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

* CR feedback

Signed-off-by: rhhong <rhhong@amazon.com>
2022-02-18 12:51:13 -08:00
Tommy Walton 7de6bc5b23 Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h (#6989)
* Add RoundUpToMultiple and DivideAndRoundUp functions to MathUtils.h

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Rename DivideByMultiple2 back to DivideByMultiple, now that I've confirmed it's not in use in the codebase. RHI::DivideByMultiple can be fully deprecated in favor of AZ::DivideAndRoundUp at a later date, once the deprecation strategy has been finalized.

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Update based on PR feedback

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Switched from std::numeric_limits to AZStd::numeric_limits and updated the header to indicate it works for non-power of two alignments, but that SizeAlignUp is more efficient if the alignment is a power of 2

Signed-off-by: Tommy Walton <waltont@amazon.com>

* Added missing arguments to the assert, and a missing namespace and include that failed to compile on non-unity builds

Signed-off-by: Tommy Walton <waltont@amazon.com>
2022-02-18 12:29:44 -08:00
Guthrie Adams 49dba84fee Merge pull request #7744 from aws-lumberyard-dev/Atom/guthadam/atom_tools_document_inspector
Atom Tools: Saving tool settings, made inspector configurable, moved to ATF
2022-02-18 12:09:11 -06:00
Guthrie Adams 26c23d9ec0 Fixed non unity compiler issues and reverted a couple of changes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-18 10:39:20 -06:00
lumberyard-employee-dm 669caca9cc Updated Launching of Lua Editor to supply the project-path (#7706)
* Updated Launching of Lua Editor to supply the project-path

The Lua Launch logic also uses the AzFramework ProcessLauncher instead
of Qt. This has the benefit of being able to pass arguments as an array
instead of in a single string. Therefore paths with spaces in them also
work.

Tweak the Settings Registry logic to locate the
project-path/engine-path by scanning upwards for a
project.json/engine.json respectively to inject the found paths to the
front of the command line parameters instead of the back.
This has the effect of making sure that command line parameters for the
project-path/engine-path always takes precedence over scanning upwards
for a project.json/engine.json.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Removed prepend of EngineRoot in CheckProjectPathProvided

The Editor would attempt to validate that the project path supplied via
the command line contained a valid project.json file before contining
the Editor startup flow.

This was taking the engine root path and appending the project path to
it, which works when the project path is absolute

But when the project path is relative it is treated as relative to the
current working directory by the SettingsRegistry, but the logic in the
CheckProjectPathProvided was treating it has relative to the engine
root. Therefore supplying a relative path as part of the Editor.exe
launch command would fail.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>

* Fixed resolving of relative paths to absolute paths in the Editor

The Editor was changing the current working directory to the nearest
ancestor directory containing an `engine.json` file.
This resulted in the ConvertToAbsolutePath function resolving relative
paths to that directory instead of the launch directory of the Editor.

Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
2022-02-18 10:11:16 -06:00
Olex Lozitskiy fdb9c053ce Added MULTIPLAYER budget. Added profiler markers, visible in PIX. 2022-02-18 06:00:48 -06:00
Benjamin Jillich bb93b2e498 EMotion FX: Minimized distance between wireframe and solid mesh rendering (#7713)
while preventing Z-fighting

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-18 09:20:13 +01:00
Benjamin Jillich f4d68a0b0d EMotion FX: Limiting max values for playspeed, blend-in and blend-out times for the simple motion component (#7720)
GHI #5976 described that for really large numbers the edit field randomly changed digits. This does not happen on the latest version anymore and most likely was caused by a floating point issue that the editor team fixed. We're limiting the maximum values now additionally as in case such large numbers are needed, something is wrong with the global time scale.

Resolves #5976

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-18 09:19:47 +01:00
Guthrie Adams 01786b2966 Atom Tools: Saving tool settings, made inspector configurable, moved to ATF
Changed material editor inspector into generic, configurable, document inspector and moved to atom tools framework
Renamed atom tools framework settings registry utility functions
Added more settings registry utility functions to get, set, and save values and objects
Added saving tool settings to atom tools application

Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-18 00:55:04 -06:00
Luis Sempé c0299f0ad7 Merge pull request #7733 from aws-lumberyard-dev/scripting/error_format
Removed carriage return from errors
2022-02-17 17:22:39 -08:00
Olex Lozitskiy f94ec80d9f Improved profile marker names
Signed-off-by: Olex Lozitskiy <5432499+AMZN-Olex@users.noreply.github.com>
2022-02-17 19:49:31 -05:00
Luis Sempé 999fb76163 Merge pull request #7628 from aws-lumberyard-dev/scripting/translation_error
Fixed ambiguous translation key when a property and a method share the same name
2022-02-17 16:11:25 -08:00
Luis Sempé 44187d50ee Merge pull request #7730 from aws-lumberyard-dev/scripting/script_events
Fixed Script Event registration going to the incorrect Behavior Context
2022-02-17 16:10:26 -08:00
Alex Peterson aa2ba82cea Fixing LyShine dependency in gem.json (#7728)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
2022-02-17 14:01:20 -08:00
Scott Romero a20f48915e [development] Profiler gem cleanup (#7533)
Consolidated the contents of CpuProfilerImp.h into CpuProfiler.h
Renamed CpuProfilerImpl.cpp to CpuProfiler.cpp
Collapsed the CpuProfilerImpl class into the intermediary CpuProfiler interface class, removing that interface type
Replaced all calls to the old CpuProfiler interface with AZ::Debug::ProfilerSystemInterface
Added accessor to see if a continuous capture is in progress to AZ::Debug::ProfilerRequests

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2022-02-17 14:00:49 -08:00
Vincent Liu 2589cb20e5 Add required support for GameLift TLS certificate (#7564)
* Add required support for GameLift TLS certificate
* Update based on feedback
2022-02-17 13:44:44 -08:00
lsemp3d f346cf8f31 Removed carriage return from errors
Signed-off-by: lsemp3d <58790905+lsemp3d@users.noreply.github.com>
2022-02-17 13:31:35 -08:00
Jeremy Ong bc2589f3e8 Merge pull request #7529 from yaakuro/yaakuro-development-patch-7
Remove redundant ProgramVariant tag because it got deprecated.
2022-02-17 14:21:19 -07:00
Chris Galvan 9618078784 Merge pull request #7724 from aws-lumberyard-dev/cgalvan/ImageGradientHandleUnsupportedFormat
Added error handling for unsupported pixel formats on an image gradient
2022-02-17 14:21:43 -06:00
lsemp3d 1ed513d782 Fixed Script Event registration going to the incorrect Behavior Context
Signed-off-by: lsemp3d <58790905+lsemp3d@users.noreply.github.com>
2022-02-17 11:37:20 -08:00
Thomas Poulet a3e33f0c4f Add a debug message to renderdoc cmake like for PIX (#7715)
Signed-off-by: Bindless-Chicken <1039134+Bindless-Chicken@users.noreply.github.com>
2022-02-17 11:07:51 -08:00
Scott Romero 18fcdcd4f4 [development] added option to control update frequency in profiler visualizer (#7705)
resolves #4365

Increased the initial profiler ImGui window size
Updated thread render order so the main thread is always on top

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2022-02-17 11:05:45 -08:00
puvvadar 7dccb15fb7 Merge pull request #7609 from aws-lumberyard-dev/math_string_converters
[Impactful Change] Consolidate to_string implementations for math classes and add bool to_string
2022-02-17 09:40:06 -08:00
Ken Pruiksma e8b7bba0f2 Adding support for blending the terain detail material with the macro material. (#7557)
* Adding support for blending the terain detail material with the macro material. Also includes several bug fixes
- The detail materail manager wasn't querying for default terrain region materials when it initializes, so it was missing some creation events that it would later get destruction events for and explode.
- Change the way the default material weights against other surface weights to avoid some discontinuities
- Fixed an issue where a default material id wouldn't initialize as invalid.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Several improvements and bug fixes
- Adding explicit creation / destruction events for material regions.
- Material regions will no longer try to "hide" when they don't have any materials
- Default detail materials will now only be used in areas where there are no other material assignments
- Fixed a bug where materials might not show up on surfaces when they were assigned to multiple regions or surface tags.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Simplified loop that assigns materials based on surface tags. Slightly simplified shader code regarding detail material id coordinates.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Fixes from PR review

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>

* Making sure region changed doesn't get announced in the case where the old and new regions are both invalid.

Signed-off-by: Ken Pruiksma <pruiksma@amazon.com>
2022-02-17 11:06:24 -06:00
Chris Galvan 3207e909f7 Added error handling for unsupported pixel formats on an image gradient
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-17 10:54:43 -06:00
Qing Tao 846e2736a5 [new] ATOM-17253 Using AtomTressFX gem as an example to inject hair passes to main pipeline at run-time (#7661)
* Change AtomTressFX passes to write to exsiting DepthLinear buffer instead of creating a new one as output.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Added new api in RPI to apply render pipeline changes from FP

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Update AtomTressFX gem to create hair parent pass at runtime

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>

* Change Scene::ApplyRenderPipelineChange() to TryApplyRenderPIpelineChanges().
Have TryApplyRenderPIpelineChanges() called automatically when a render pipeline is added to a Scene.
Re-apply the render pipeline change when RenderPipeline got recreated (Pass hot-reloading support)
Add AddPassBefore() and AddPassAfter() function to RenderPIpeline class.

Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
2022-02-17 08:50:50 -08:00
jromnoa ca3018155e Merge pull request #7709 from aws-lumberyard-dev/Atom/jromnoa/AllowDescriptorHeapCompaction-set-true-for-AR
Sets AllowDescriptorHeapCompaction to true so the nightly GPU run won't time out
2022-02-17 07:38:32 -08:00
Chris Galvan c4dce0da95 Merge pull request #7702 from aws-lumberyard-dev/cgalvan/FixedSetImageAssetPathAPI
Updated SetImageAssetPath on image gradient to be more robust
2022-02-17 09:23:52 -06:00
Olex Lozitskiy 4d8c8fdda3 Merge branch 'development' of https://github.com/o3de/o3de into Network/olexl/multiplayer_gem_profiler_markers_cr 2022-02-17 09:04:39 -05:00
John Jones-Steele e57b854fca Cleaned up issues with multiple components ? button (#6555)
* Cleaned up issues with multiple components ? button

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Commit for merge

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Commit before merge

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* WIP

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Before merge from development

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Updated all HelpURL

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes from PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>

* Changes from PR

Signed-off-by: John Jones-Steele <82226755+jjjoness@users.noreply.github.com>
2022-02-17 09:04:01 +00:00
Benjamin Jillich c9432dc5e0 EMotion FX: Ported skeleton rendering to debug display and fixed depth testing for debug rendering (#7682)
* Ported line-based and solid skeleton rendering to debug display.
* Disabled depth testing for skeleton rendering so that we can see the skeleton through the solid mesh.
* Remembering the previous render flags and setting them back afterwards.
* Enabled depth testing for emfx debug, vertex & face normals, tangents and wireframe. We don't want to see them through the solid mesh to avoid visual clutter.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-02-17 09:14:24 +01:00
jromnoa 949ce436bb sets AllowDescriptorHeapCompaction to true instead of false so AR doesn't time out
Signed-off-by: jromnoa <80134229+jromnoa@users.noreply.github.com>
2022-02-16 18:14:40 -08:00
Chris Galvan 3f2aa7470a Merge pull request #7679 from aws-lumberyard-dev/cgalvan/RemovedGradientImageBuilder
Removed unused Gradient Signal image builder and image processing component
2022-02-16 16:40:24 -06:00
Chris Galvan 506c5ec0a8 Fixed SetImageAssetPath API on image gradient
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-16 16:09:40 -06:00
Chris Galvan 577767acc9 Merge pull request #7694 from aws-lumberyard-dev/TerrainBuildFix
Fix build error due to const qualifiers not matching
2022-02-16 16:00:41 -06:00
Guthrie Adams 7f16cd1643 Merge pull request #7677 from aws-lumberyard-dev/Atom/guthadam/atom_tools_move_document_reflection_into_classes
Atom Tools: Moving behavior context reflection into respective classes
2022-02-16 13:39:36 -06:00
amzn-sj a6958e8166 Fix build error due to const qualifiers not matching
Signed-off-by: amzn-sj <srikkant@amazon.com>
2022-02-16 11:28:07 -08:00
Scott Romero d119501760 [development] fixes for targeting macOS Monterey (12.x) (#7666)
Targeting macOS 12.x fails to compile due to some named constants being deprecated and replaced

Signed-off-by: AMZN-ScottR 24445312+AMZN-ScottR@users.noreply.github.com
2022-02-16 10:37:36 -08:00
dmcdiarmid-ly b9fd9a43c6 Merge pull request #7669 from aws-lumberyard-dev/Atom/dmcdiar/LYN-10373
MaterialEditor fix for MSAA state
2022-02-16 11:32:51 -07:00
amzn-sj fef53bf4be Update ProcessFromListOfVector2 API functions to use bulk queries. (#7658) 2022-02-16 10:08:17 -08:00
Roman f72c7da4a3 Change rotation camera to use RMB, and add orbit rotation camera using LMB + alt (#7610)
* Change rotation camera to use RMB, and add orbit rotation camera using LMB + Alt

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

* add lookScrollCamera

Signed-off-by: rhhong <rhhong@amazon.com>
2022-02-16 08:38:51 -08:00
Chris Galvan b2c7cf4452 Moved GetValueFromImageAsset from ImageAsset to ImageGradientComponent
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
2022-02-16 09:53:06 -06:00
Benjamin Jillich a9d2ea660c EMotion FX: Colliders now also render without the collider plugins #7643
* Colliders only rendered in case the given plugin was active, no matter if they were enabled or not in the 3D viewport which was confusing for users. Colliders as well as ragdoll debug draw now renders independently of the plugins.
* Added debug rendering for colliders and ragdoll joint limits to the Atom debug draw class
* Automatically clear selection when closing skeleton outliner

Resolves #5982
Resolves #5980

Signed-off-by: Benjamin Jillich jillich@amazon.com
2022-02-16 16:43:28 +01:00
Chris Galvan 283fe216dc Merge branch 'development' of https://github.com/o3de/o3de into cgalvan/RemovedGradientImageBuilder 2022-02-16 09:21:03 -06:00
Guthrie Adams ce754d31e5 Atom Tools: Moving behavior context reflection into respective classes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
2022-02-16 09:19:12 -06:00
Chris Galvan c2d6ba0c69 Merge pull request #7625 from aws-lumberyard-dev/cgalvan/AddSupportForUNORM_SRGB
Added support for several UNORM_SRGB formats
2022-02-16 09:18:34 -06:00