Commit Graph

6260 Commits (development)

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>
4 years ago
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>
4 years ago
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>
4 years ago
Chris Galvan 445385e146
Merge pull request #7617 from Bindless-Chicken/fix-assert-resource
Fix missing format parameter in RHI::Resource
4 years ago
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>
4 years ago
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>
4 years ago
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
4 years ago
Guthrie Adams 26c23d9ec0 Fixed non unity compiler issues and reverted a couple of changes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
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>
4 years ago
Olex Lozitskiy fdb9c053ce
Added MULTIPLAYER budget. Added profiler markers, visible in PIX. 4 years ago
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>
4 years ago
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>
4 years ago
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>
4 years ago
Luis Sempé c0299f0ad7
Merge pull request #7733 from aws-lumberyard-dev/scripting/error_format
Removed carriage return from errors
4 years ago
Olex Lozitskiy f94ec80d9f Improved profile marker names
Signed-off-by: Olex Lozitskiy <5432499+AMZN-Olex@users.noreply.github.com>
4 years ago
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
4 years ago
Luis Sempé 44187d50ee
Merge pull request #7730 from aws-lumberyard-dev/scripting/script_events
Fixed Script Event registration going to the incorrect Behavior Context
4 years ago
Alex Peterson aa2ba82cea
Fixing LyShine dependency in gem.json (#7728)
Signed-off-by: Alex Peterson <26804013+AMZN-alexpete@users.noreply.github.com>
4 years ago
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
4 years ago
Vincent Liu 2589cb20e5
Add required support for GameLift TLS certificate (#7564)
* Add required support for GameLift TLS certificate
* Update based on feedback
4 years ago
lsemp3d f346cf8f31 Removed carriage return from errors
Signed-off-by: lsemp3d <58790905+lsemp3d@users.noreply.github.com>
4 years ago
Jeremy Ong bc2589f3e8
Merge pull request #7529 from yaakuro/yaakuro-development-patch-7
Remove redundant ProgramVariant tag because it got deprecated.
4 years ago
Chris Galvan 9618078784
Merge pull request #7724 from aws-lumberyard-dev/cgalvan/ImageGradientHandleUnsupportedFormat
Added error handling for unsupported pixel formats on an image gradient
4 years ago
lsemp3d 1ed513d782 Fixed Script Event registration going to the incorrect Behavior Context
Signed-off-by: lsemp3d <58790905+lsemp3d@users.noreply.github.com>
4 years ago
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>
4 years ago
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
4 years ago
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
4 years ago
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>
4 years ago
Chris Galvan 3207e909f7 Added error handling for unsupported pixel formats on an image gradient
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
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>
4 years ago
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
4 years ago
Chris Galvan c4dce0da95
Merge pull request #7702 from aws-lumberyard-dev/cgalvan/FixedSetImageAssetPathAPI
Updated SetImageAssetPath on image gradient to be more robust
4 years ago
Olex Lozitskiy 4d8c8fdda3 Merge branch 'development' of https://github.com/o3de/o3de into Network/olexl/multiplayer_gem_profiler_markers_cr 4 years ago
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>
4 years ago
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>
4 years ago
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>
4 years ago
Chris Galvan 3f2aa7470a
Merge pull request #7679 from aws-lumberyard-dev/cgalvan/RemovedGradientImageBuilder
Removed unused Gradient Signal image builder and image processing component
4 years ago
Chris Galvan 506c5ec0a8 Fixed SetImageAssetPath API on image gradient
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
Chris Galvan 577767acc9
Merge pull request #7694 from aws-lumberyard-dev/TerrainBuildFix
Fix build error due to const qualifiers not matching
4 years ago
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
4 years ago
amzn-sj a6958e8166 Fix build error due to const qualifiers not matching
Signed-off-by: amzn-sj <srikkant@amazon.com>
4 years ago
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
4 years ago
dmcdiarmid-ly b9fd9a43c6
Merge pull request #7669 from aws-lumberyard-dev/Atom/dmcdiar/LYN-10373
MaterialEditor fix for MSAA state
4 years ago
amzn-sj fef53bf4be
Update ProcessFromListOfVector2 API functions to use bulk queries. (#7658) 4 years ago
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>
4 years ago
Chris Galvan b2c7cf4452 Moved GetValueFromImageAsset from ImageAsset to ImageGradientComponent
Signed-off-by: Chris Galvan <chgalvan@amazon.com>
4 years ago
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
4 years ago
Chris Galvan 283fe216dc Merge branch 'development' of https://github.com/o3de/o3de into cgalvan/RemovedGradientImageBuilder 4 years ago
Guthrie Adams ce754d31e5 Atom Tools: Moving behavior context reflection into respective classes
Signed-off-by: Guthrie Adams <guthadam@amazon.com>
4 years ago
Chris Galvan c2d6ba0c69
Merge pull request #7625 from aws-lumberyard-dev/cgalvan/AddSupportForUNORM_SRGB
Added support for several UNORM_SRGB formats
4 years ago