From 9ae11c36027cfd5128af6215536cffb8a3203bb9 Mon Sep 17 00:00:00 2001 From: darapan Date: Wed, 23 Jun 2021 22:24:23 -0700 Subject: [PATCH 01/24] "Adding new test" --- .../Gem/PythonTests/smoke/CMakeLists.txt | 36 ++++++ ...st_GameLauncher_EnterExitGameMode_Works.py | 108 ++++++++++++++++++ 2 files changed, 144 insertions(+) create mode 100644 AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 18ffa1944d..f8435df172 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -42,4 +42,40 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) COMPONENT Sandbox ) + + ly_add_pytest( + NAME AutomatedTesting::SmokeTest + TEST_SUITE smoke + TEST_SERIAL + TEST_REQUIRES gpu + PATH ${CMAKE_CURRENT_LIST_DIR}/test_Editor_NewExistingLevels_Works.py + PYTEST_MARKS "SUITE_smoke" + TIMEOUT 500 + RUNTIME_DEPENDENCIES + AZ::AssetProcessor + AZ::PythonBindingsExample + Legacy::Editor + AutomatedTesting.GameLauncher + AutomatedTesting.Assets + COMPONENT + Smoke + ) + + ly_add_pytest( + NAME AutomatedTesting::SmokeTest + TEST_SUITE smoke + TEST_SERIAL + TEST_REQUIRES gpu + PATH ${CMAKE_CURRENT_LIST_DIR}/test_GameLauncher_EnterExitGameMode_Works.py + PYTEST_MARKS "SUITE_smoke" + TIMEOUT 500 + RUNTIME_DEPENDENCIES + AZ::AssetProcessor + AZ::PythonBindingsExample + Legacy::Editor + AutomatedTesting.GameLauncher + AutomatedTesting.Assets + COMPONENT + Smoke + ) endif() \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py new file mode 100644 index 0000000000..1a79944c4e --- /dev/null +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py @@ -0,0 +1,108 @@ +""" +All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or +its licensors. + +For complete copyright and license terms please see the LICENSE at the root of this +distribution (the "License"). All use of this software is governed by the License, +or, if provided, by the license below or the license accompanying this file. Do not +remove or modify any license notices. This file is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + + +UI Apps: AutomatedTesting.GameLauncher +Launch AutomatedTesting.GameLauncher with Simple level +""" + +import pytest +import psutil + +# Bail on the test if ly_test_tools doesn't exist. +pytest.importorskip("ly_test_tools") +import ly_test_tools.environment.waiter as waiter +from ly_remote_console.remote_console_commands import RemoteConsole as RemoteConsole +from ly_remote_console.remote_console_commands import ( + send_command_and_expect_response as send_command_and_expect_response, +) + + +@pytest.mark.parametrize("launcher_platform", ["windows"]) +@pytest.mark.parametrize("project", ["AutomatedTesting"]) +@pytest.mark.parametrize("level", ["Simple"]) +@pytest.mark.SUITE_smoke +class TestGameLauncherEnterExitGameModeWorks(object): + @pytest.fixture + def remote_console_instance(self, request): + console = RemoteConsole() + + def teardown(): + if console.connected: + console.stop() + + request.addfinalizer(teardown) + + return console + + def test_CLITool_PythonBindingsExample_Works(self, launcher, level, remote_console_instance, launcher_platform): + expected_lines = ['Level system is loading "Simple"'] + + self.launch_and_validate_results_launcher(launcher, level, remote_console_instance, expected_lines) + + def launch_and_validate_results_launcher( + self, + launcher, + level, + remote_console_instance, + expected_lines, + null_renderer=True, + port_listener_timeout=120, + log_monitor_timeout=300, + remote_console_port=4600, + ): + """ + Runs the launcher with the specified level, and monitors Game.log for expected lines. + :param launcher: Configured launcher object to run test against. + :param level: The level to load in the launcher. + :param remote_console_instance: Configured Remote Console object. + :param expected_lines: Expected lines to search log for. + :oaram null_renderer: Specifies the test does not require the renderer. Defaults to True. + :param port_listener_timeout: Timeout for verifying successful connection to Remote Console. + :param log_monitor_timeout: Timeout for monitoring for lines in Game.log + :param remote_console_port: The port used to communicate with the Remote Console. + """ + + def _check_for_listening_port(port): + """ + Checks to see if the connection to the designated port was established. + :param port: Port to listen to. + :return: True if port is listening. + """ + port_listening = False + for conn in psutil.net_connections(): + if "port={}".format(port) in str(conn): + port_listening = True + return port_listening + + if null_renderer: + launcher.args.extend(["-NullRenderer"]) + + # Start the Launcher + with launcher.start(): + + # Ensure Remote Console can be reached + waiter.wait_for( + lambda: _check_for_listening_port(remote_console_port), + port_listener_timeout, + exc=AssertionError("Port {} not listening.".format(remote_console_port)), + ) + remote_console_instance.start(timeout=30) + + # Load the specified level in the launcher + send_command_and_expect_response( + remote_console_instance, f"loadlevel {level}", "LEVEL_LOAD_END", timeout=30 + ) + + # Monitor the console for expected lines + for line in expected_lines: + assert remote_console_instance.expect_log_line( + line, log_monitor_timeout + ), f"Expected line not found: {line}" From d443a6f5c2d158556995f3ad8d42267126bd498e Mon Sep 17 00:00:00 2001 From: darapan Date: Wed, 23 Jun 2021 22:28:24 -0700 Subject: [PATCH 02/24] "Adding new line at the end" --- AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index f8435df172..8e5e5e8c32 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -78,4 +78,4 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) COMPONENT Smoke ) -endif() \ No newline at end of file +endif() From 0d600180002ad0fa6769b6ff3c88a8820c15d3a0 Mon Sep 17 00:00:00 2001 From: darapan Date: Thu, 24 Jun 2021 09:29:57 -0700 Subject: [PATCH 03/24] "Updating cmake" --- .../Gem/PythonTests/smoke/CMakeLists.txt | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 8e5e5e8c32..736aa8d8ab 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -44,38 +44,28 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) ) ly_add_pytest( - NAME AutomatedTesting::SmokeTest - TEST_SUITE smoke - TEST_SERIAL + NAME AutomatedTesting::EditorTestWithGPU TEST_REQUIRES gpu PATH ${CMAKE_CURRENT_LIST_DIR}/test_Editor_NewExistingLevels_Works.py - PYTEST_MARKS "SUITE_smoke" - TIMEOUT 500 + TIMEOUT 100 RUNTIME_DEPENDENCIES AZ::AssetProcessor AZ::PythonBindingsExample Legacy::Editor AutomatedTesting.GameLauncher AutomatedTesting.Assets - COMPONENT - Smoke ) ly_add_pytest( - NAME AutomatedTesting::SmokeTest - TEST_SUITE smoke - TEST_SERIAL + NAME AutomatedTesting::GameLauncherWithGPU TEST_REQUIRES gpu PATH ${CMAKE_CURRENT_LIST_DIR}/test_GameLauncher_EnterExitGameMode_Works.py - PYTEST_MARKS "SUITE_smoke" - TIMEOUT 500 + TIMEOUT 100 RUNTIME_DEPENDENCIES AZ::AssetProcessor AZ::PythonBindingsExample Legacy::Editor AutomatedTesting.GameLauncher AutomatedTesting.Assets - COMPONENT - Smoke ) endif() From d3516053f3df76f5956bfb149f7c2855b177904d Mon Sep 17 00:00:00 2001 From: darapan Date: Thu, 24 Jun 2021 11:06:20 -0700 Subject: [PATCH 04/24] "Fixing review comments" --- .../PythonTests/smoke/test_Editor_NewExistingLevels_Works.py | 2 ++ .../smoke/test_GameLauncher_EnterExitGameMode_Works.py | 1 + 2 files changed, 3 insertions(+) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py index 985740307f..8bdd0b8fad 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py @@ -7,6 +7,8 @@ distribution (the "License"). All use of this software is governed by the Licens or, if provided, by the license below or the license accompanying this file. Do not remove or modify any license notices. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + +Test should run in both gpu and non gpu """ import pytest diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py index 1a79944c4e..5f1e5f866e 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py @@ -11,6 +11,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. UI Apps: AutomatedTesting.GameLauncher Launch AutomatedTesting.GameLauncher with Simple level +Test should run in both gpu and non gpu """ import pytest From aaf3edb467c923e06164d2908bcdf007f09a7849 Mon Sep 17 00:00:00 2001 From: darapan Date: Thu, 24 Jun 2021 23:02:11 -0700 Subject: [PATCH 05/24] "Fixing review comments" --- ...eMode_Works.py => test_RemoteConsole_LoadLevel_Works.py} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename AutomatedTesting/Gem/PythonTests/smoke/{test_GameLauncher_EnterExitGameMode_Works.py => test_RemoteConsole_LoadLevel_Works.py} (95%) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py similarity index 95% rename from AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py rename to AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py index 5f1e5f866e..ba23b2d523 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_GameLauncher_EnterExitGameMode_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py @@ -30,7 +30,7 @@ from ly_remote_console.remote_console_commands import ( @pytest.mark.parametrize("project", ["AutomatedTesting"]) @pytest.mark.parametrize("level", ["Simple"]) @pytest.mark.SUITE_smoke -class TestGameLauncherEnterExitGameModeWorks(object): +class TestRemoteConsoleLoadLevelWorks(object): @pytest.fixture def remote_console_instance(self, request): console = RemoteConsole() @@ -43,7 +43,7 @@ class TestGameLauncherEnterExitGameModeWorks(object): return console - def test_CLITool_PythonBindingsExample_Works(self, launcher, level, remote_console_instance, launcher_platform): + def test_RemoteConsole_LoadLevel_Works(self, launcher, level, remote_console_instance, launcher_platform): expected_lines = ['Level system is loading "Simple"'] self.launch_and_validate_results_launcher(launcher, level, remote_console_instance, expected_lines) @@ -54,7 +54,7 @@ class TestGameLauncherEnterExitGameModeWorks(object): level, remote_console_instance, expected_lines, - null_renderer=True, + null_renderer=False, port_listener_timeout=120, log_monitor_timeout=300, remote_console_port=4600, From 72ed95f09501d7db5bec1126f2b328878ff60c03 Mon Sep 17 00:00:00 2001 From: darapan Date: Fri, 25 Jun 2021 08:17:36 -0700 Subject: [PATCH 06/24] "Resolving merge conflicts" --- .../Gem/PythonTests/smoke/CMakeLists.txt | 30 ++----------------- .../test_Editor_NewExistingLevels_Works.py | 2 -- 2 files changed, 2 insertions(+), 30 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 736aa8d8ab..a3b6e36250 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -40,32 +40,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) AutomatedTesting.GameLauncher AutomatedTesting.Assets COMPONENT - Sandbox + Smoke ) - - ly_add_pytest( - NAME AutomatedTesting::EditorTestWithGPU - TEST_REQUIRES gpu - PATH ${CMAKE_CURRENT_LIST_DIR}/test_Editor_NewExistingLevels_Works.py - TIMEOUT 100 - RUNTIME_DEPENDENCIES - AZ::AssetProcessor - AZ::PythonBindingsExample - Legacy::Editor - AutomatedTesting.GameLauncher - AutomatedTesting.Assets - ) - - ly_add_pytest( - NAME AutomatedTesting::GameLauncherWithGPU - TEST_REQUIRES gpu - PATH ${CMAKE_CURRENT_LIST_DIR}/test_GameLauncher_EnterExitGameMode_Works.py - TIMEOUT 100 - RUNTIME_DEPENDENCIES - AZ::AssetProcessor - AZ::PythonBindingsExample - Legacy::Editor - AutomatedTesting.GameLauncher - AutomatedTesting.Assets - ) -endif() +endif() \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py index 8bdd0b8fad..985740307f 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py @@ -7,8 +7,6 @@ distribution (the "License"). All use of this software is governed by the Licens or, if provided, by the license below or the license accompanying this file. Do not remove or modify any license notices. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - -Test should run in both gpu and non gpu """ import pytest From 7d833b87a5a5d89e93abb4fc77b2de8dca49eb1b Mon Sep 17 00:00:00 2001 From: darapan Date: Fri, 25 Jun 2021 08:19:23 -0700 Subject: [PATCH 07/24] "Resoving merge conflcts" --- AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index a3b6e36250..141dfa0a45 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -40,6 +40,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) AutomatedTesting.GameLauncher AutomatedTesting.Assets COMPONENT - Smoke + Sandbox ) -endif() \ No newline at end of file +endif() From ae9e3737c17b3cf44c2c4ee802edc2d512992a2d Mon Sep 17 00:00:00 2001 From: darapan Date: Fri, 25 Jun 2021 08:21:44 -0700 Subject: [PATCH 08/24] "" --- AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 141dfa0a45..18ffa1944d 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -42,4 +42,4 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) COMPONENT Sandbox ) -endif() +endif() \ No newline at end of file From 0ef72afdbad053a295000250103536318fd2c19e Mon Sep 17 00:00:00 2001 From: darapan Date: Fri, 25 Jun 2021 09:03:53 -0700 Subject: [PATCH 09/24] "Resoved Merge Conflicts" --- .../Gem/PythonTests/smoke/CMakeLists.txt | 26 +++++++++++++++++++ .../test_Editor_NewExistingLevels_Works.py | 3 +++ .../test_RemoteConsole_LoadLevel_Works.py | 9 ++----- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 7ef1d56ad1..0168e64b52 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -38,4 +38,30 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) COMPONENT Sandbox ) + + ly_add_pytest( + NAME AutomatedTesting::EditorTestWithGPU + TEST_REQUIRES gpu + PATH ${CMAKE_CURRENT_LIST_DIR}/test_Editor_NewExistingLevels_Works.py + TIMEOUT 100 + RUNTIME_DEPENDENCIES + AZ::AssetProcessor + AZ::PythonBindingsExample + Legacy::Editor + AutomatedTesting.GameLauncher + AutomatedTesting.Assets + ) + + ly_add_pytest( + NAME AutomatedTesting::GameLauncherWithGPU + TEST_REQUIRES gpu + PATH ${CMAKE_CURRENT_LIST_DIR}/test_GameLauncher_EnterExitGameMode_Works.py + TIMEOUT 100 + RUNTIME_DEPENDENCIES + AZ::AssetProcessor + AZ::PythonBindingsExample + Legacy::Editor + AutomatedTesting.GameLauncher + AutomatedTesting.Assets + ) endif() \ No newline at end of file diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py index 56cd0e2f6e..394a6c8336 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_Editor_NewExistingLevels_Works.py @@ -2,6 +2,9 @@ Copyright (c) Contributors to the Open 3D Engine Project SPDX-License-Identifier: Apache-2.0 OR MIT + + +Test should run in both gpu and non gpu """ import pytest diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py index ba23b2d523..4b464817b2 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py @@ -1,12 +1,7 @@ """ -All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or -its licensors. +Copyright (c) Contributors to the Open 3D Engine Project -For complete copyright and license terms please see the LICENSE at the root of this -distribution (the "License"). All use of this software is governed by the License, -or, if provided, by the license below or the license accompanying this file. Do not -remove or modify any license notices. This file is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +SPDX-License-Identifier: Apache-2.0 OR MIT UI Apps: AutomatedTesting.GameLauncher From 0c468e4c31a4dd3353db68f748773357fd581d00 Mon Sep 17 00:00:00 2001 From: darapan Date: Fri, 25 Jun 2021 09:05:37 -0700 Subject: [PATCH 10/24] "Adding new line" --- AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt index 0168e64b52..0c6baff6b6 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt +++ b/AutomatedTesting/Gem/PythonTests/smoke/CMakeLists.txt @@ -64,4 +64,4 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS) AutomatedTesting.GameLauncher AutomatedTesting.Assets ) -endif() \ No newline at end of file +endif() From 19695cfd127f6856f549dc0410465c2b5c752ab4 Mon Sep 17 00:00:00 2001 From: darapan Date: Mon, 28 Jun 2021 10:02:30 -0700 Subject: [PATCH 11/24] "Fixing review comments" --- .../Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py index 4b464817b2..bcb78b9c8e 100644 --- a/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py +++ b/AutomatedTesting/Gem/PythonTests/smoke/test_RemoteConsole_LoadLevel_Works.py @@ -24,7 +24,7 @@ from ly_remote_console.remote_console_commands import ( @pytest.mark.parametrize("launcher_platform", ["windows"]) @pytest.mark.parametrize("project", ["AutomatedTesting"]) @pytest.mark.parametrize("level", ["Simple"]) -@pytest.mark.SUITE_smoke +@pytest.mark.SUITE_sandbox class TestRemoteConsoleLoadLevelWorks(object): @pytest.fixture def remote_console_instance(self, request): From 0b28c15637f8fd7e5885bcf0a146ff214f42e310 Mon Sep 17 00:00:00 2001 From: mnaumov Date: Wed, 16 Jun 2021 20:26:04 -0700 Subject: [PATCH 12/24] [LYN-4544] Fixing thumbnail crashing on bad data Signed-off-by: mnaumov --- .../Rendering/ThumbnailRendererSteps/CaptureStep.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Thumbnails/Rendering/ThumbnailRendererSteps/CaptureStep.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Thumbnails/Rendering/ThumbnailRendererSteps/CaptureStep.cpp index 0da880d29d..a795b9a119 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Thumbnails/Rendering/ThumbnailRendererSteps/CaptureStep.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Thumbnails/Rendering/ThumbnailRendererSteps/CaptureStep.cpp @@ -91,6 +91,13 @@ namespace AZ RPI::AttachmentReadback::CallbackFunction readbackCallback = [&](const RPI::AttachmentReadback::ReadbackResult& result) { + if (!result.m_dataBuffer) + { + AzToolsFramework::Thumbnailer::ThumbnailerRendererNotificationBus::Event( + m_context->GetData()->m_thumbnailKeyRendered, + &AzToolsFramework::Thumbnailer::ThumbnailerRendererNotifications::ThumbnailFailedToRender); + return; + } uchar* data = result.m_dataBuffer.get()->data(); QImage image( data, result.m_imageDescriptor.m_size.m_width, result.m_imageDescriptor.m_size.m_height, QImage::Format_RGBA8888); From 73c0efbd904eeb6e8f2fe826167ece9c5a4b9e3d Mon Sep 17 00:00:00 2001 From: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com> Date: Tue, 29 Jun 2021 12:37:04 -0700 Subject: [PATCH 13/24] [cpack/2106-progress-screen] generalize progress screen text and split out download/execution progress Signed-off-by: AMZN-ScottR <24445312+AMZN-ScottR@users.noreply.github.com> --- .../Windows/Packaging/BootstrapperTheme.wxl.in | 6 +++--- .../Windows/Packaging/BootstrapperTheme.xml.in | 10 +++++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in b/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in index 7da81d0397..0c532fa4d8 100644 --- a/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in +++ b/cmake/Platform/Windows/Packaging/BootstrapperTheme.wxl.in @@ -32,9 +32,9 @@ Setup will install [WixBundleName] on your computer. Click install to continue, &Close - Installing @CPACK_PACKAGE_FULL_NAME@... - Processing: - Initializing... + Processing @CPACK_PACKAGE_FULL_NAME@... + Caching Progress + Execution Progress &Cancel diff --git a/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in b/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in index 93984d06b8..62980a35f7 100644 --- a/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in +++ b/cmake/Platform/Windows/Packaging/BootstrapperTheme.xml.in @@ -54,9 +54,13 @@ #(loc.ProgressHeader) - #(loc.ProgressLabel) - #(loc.OverallProgressPackageText) - + #(loc.CacheProgressLabel) + + + + #(loc.ExecuteProgressLabel) + + From 57d2f28826dfb5b734002cd93bb7c43458d9af96 Mon Sep 17 00:00:00 2001 From: Riegger Date: Tue, 29 Jun 2021 10:48:39 -0700 Subject: [PATCH 14/24] Bumping threadgroup sizes Signed-off-by: Riegger --- .../Assets/Shaders/Math/GaussianFilterFloatHorizontal.azsl | 2 +- .../Common/Assets/Shaders/Math/GaussianFilterFloatVertical.azsl | 2 +- .../Common/Assets/Shaders/Shadow/DepthExponentiation.azsl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatHorizontal.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatHorizontal.azsl index 8dc42cbc33..160a3d362e 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatHorizontal.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatHorizontal.azsl @@ -11,7 +11,7 @@ #include #include -[numthreads(8,8,1)] +[numthreads(16,16,1)] void MainCS(uint3 dispatchId: SV_DispatchThreadID) { const float3 inputSize = GetImageSize(FilterPassSrg::m_inputImage); diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatVertical.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatVertical.azsl index 2d993c7af9..c7d2ed433d 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatVertical.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/Math/GaussianFilterFloatVertical.azsl @@ -11,7 +11,7 @@ #include #include -[numthreads(8,8,1)] +[numthreads(16,16,1)] void MainCS(uint3 dispatchId: SV_DispatchThreadID) { const float3 inputSize = GetImageSize(FilterPassSrg::m_inputImage); diff --git a/Gems/Atom/Feature/Common/Assets/Shaders/Shadow/DepthExponentiation.azsl b/Gems/Atom/Feature/Common/Assets/Shaders/Shadow/DepthExponentiation.azsl index 7b4613d8fa..ba2a4aaf92 100644 --- a/Gems/Atom/Feature/Common/Assets/Shaders/Shadow/DepthExponentiation.azsl +++ b/Gems/Atom/Feature/Common/Assets/Shaders/Shadow/DepthExponentiation.azsl @@ -28,7 +28,7 @@ ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback StructuredBuffer m_filterParameters; } -[numthreads(8,8,1)] +[numthreads(16,16,1)] void MainCS(uint3 dispatchId: SV_DispatchThreadID) { const float3 inputSize = GetImageSize(PassSrg::m_inputShadowmap); From f7c96e44b00987bfaf42ffe4c3d2a7282c6167d9 Mon Sep 17 00:00:00 2001 From: Vincent Liu <5900509+onecent1101@users.noreply.github.com> Date: Tue, 29 Jun 2021 14:56:09 -0700 Subject: [PATCH 15/24] [LYN-4848] Migrate remaining doc links to o3de.org (#1632) --- .../Editor/Attribution/AWSCoreAttributionConsentDialog.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConsentDialog.cpp b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConsentDialog.cpp index d67c53f389..69c4472f59 100644 --- a/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConsentDialog.cpp +++ b/Gems/AWSCore/Code/Source/Editor/Attribution/AWSCoreAttributionConsentDialog.cpp @@ -14,12 +14,12 @@ namespace AWSCore { constexpr const char* AWSAttributionConsentDialogTitle = "AWS Core Gem Usage Agreement"; constexpr const char* AWSAttributionConsentDialogMessage = "The AWS Core Gem has detected credentials for an Amazon Web Services account for this
\ - instance of O3DE. Click here to learn more about AWS integration, including how to
\ + instance of O3DE. Click here to learn more about AWS integration, including how to
\ manage your AWS credentials.

\ Please note: when credentials are detected, AWS Core Gem sends telemetry data to AWS,
\ which helps us improve AWS services for O3DE. You can change this setting below, and at
\ any time in Settings: Global Preferences. Data sent is subject to the AWS Privacy Policy.
\ - Click here to learn more about what data is sent to AWS."; + Click here to learn more about what data is sent to AWS."; constexpr const char* AWSAttributionConsentDialogCheckboxText = "Please share the information about my use of AWS Core Gem with AWS."; From ffc05872ccedbd9ba2c0e907d32c1440f5798461 Mon Sep 17 00:00:00 2001 From: Terry Michaels Date: Tue, 29 Jun 2021 17:37:34 -0500 Subject: [PATCH 16/24] Updated Helpers Icon per UX (#1658) Signed-off-by: Terry Michaels --- .../AzQtComponents/Images/Menu/helpers.svg | 36 +++++++------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/helpers.svg b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/helpers.svg index e782a7066a..41f9638134 100644 --- a/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/helpers.svg +++ b/Code/Framework/AzQtComponents/AzQtComponents/Images/Menu/helpers.svg @@ -1,24 +1,12 @@ - - - Helpers Icon - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + From b65a2da548bf74da2b56377eeb3bc5a8cd5c84a6 Mon Sep 17 00:00:00 2001 From: dmcdiar Date: Tue, 29 Jun 2021 16:10:03 -0700 Subject: [PATCH 17/24] Changed the DiffuseProbeGrid and ReflectionProbe components to only override the Box size if it's at the default (unit) Signed-off-by: dmcdiar --- .../DiffuseProbeGridComponentConstants.h | 4 ++-- .../DiffuseProbeGridComponentController.cpp | 17 ++++++++++++++--- .../DiffuseProbeGridComponentController.h | 2 ++ .../EditorDiffuseProbeGridComponent.cpp | 3 +++ .../ReflectionProbeComponentConstants.h | 1 + .../ReflectionProbeComponentController.cpp | 18 +++++++++++++++--- .../ReflectionProbeComponentController.h | 13 +++++++------ 7 files changed, 44 insertions(+), 14 deletions(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentConstants.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentConstants.h index 6c5042f5d9..c539cd0607 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentConstants.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentConstants.h @@ -13,8 +13,8 @@ namespace AZ { static constexpr const char* const DiffuseProbeGridComponentTypeId = "{9B900A04-192F-4F5E-AE31-762605D8159A}"; static constexpr const char* const EditorDiffuseProbeGridComponentTypeId = "{F80086E1-ECE7-4E8C-B727-A750D10F7D83}"; - static constexpr float DefaultDiffuseProbeGridSpacing = 4.0f; - static constexpr float DefaultDiffuseProbeGridExtents = 20.0f; + static constexpr float DefaultDiffuseProbeGridSpacing = 2.0f; + static constexpr float DefaultDiffuseProbeGridExtents = 8.0f; static constexpr float DefaultDiffuseProbeGridAmbientMultiplier = 1.0f; static constexpr float DefaultDiffuseProbeGridViewBias = 0.2f; static constexpr float DefaultDiffuseProbeGridNormalBias = 0.1f; diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.cpp index 1577dffc02..389341ff01 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.cpp @@ -169,9 +169,20 @@ namespace AZ m_featureProcessor->SetMode(m_handle, m_configuration.m_runtimeMode); - // set box shape component dimensions from the configuration - // this will invoke the OnShapeChanged() handler and set the outer extents on the feature processor - m_boxShapeInterface->SetBoxDimensions(m_configuration.m_extents); + // if this is a new DiffuseProbeGrid entity and the box shape has not been changed (i.e., it's still unit sized) + // then use the default extents, otherwise use the current box shape extents + AZ::Vector3 extents(0.0f); + AZ::Vector3 boxDimensions = m_boxShapeInterface->GetBoxDimensions(); + if (m_configuration.m_entityId == EntityId::InvalidEntityId && boxDimensions == AZ::Vector3(1.0f)) + { + extents = m_configuration.m_extents; + } + else + { + extents = boxDimensions; + } + + m_boxShapeInterface->SetBoxDimensions(extents); } void DiffuseProbeGridComponentController::OnAssetReady(Data::Asset asset) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.h index d1a41fd526..5261ce5cc5 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/DiffuseProbeGridComponentController.h @@ -47,6 +47,8 @@ namespace AZ Data::Asset m_bakedDistanceTextureAsset; Data::Asset m_bakedRelocationTextureAsset; Data::Asset m_bakedClassificationTextureAsset; + + AZ::u64 m_entityId{ EntityId::InvalidEntityId }; }; class DiffuseProbeGridComponentController final diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseProbeGridComponent.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseProbeGridComponent.cpp index 910c7735ac..5cc97bd363 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseProbeGridComponent.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/DiffuseGlobalIllumination/EditorDiffuseProbeGridComponent.cpp @@ -147,6 +147,9 @@ namespace AZ AzToolsFramework::EditorComponentSelectionRequestsBus::Handler::BusConnect(GetEntityId()); AZ::TickBus::Handler::BusConnect(); AzToolsFramework::EditorEntityInfoNotificationBus::Handler::BusConnect(); + + AZ::u64 entityId = (AZ::u64)GetEntityId(); + m_controller.m_configuration.m_entityId = entityId; } void EditorDiffuseProbeGridComponent::Deactivate() diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentConstants.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentConstants.h index bba7bdce22..0c27bd1e39 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentConstants.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentConstants.h @@ -13,5 +13,6 @@ namespace AZ { static constexpr const char* const ReflectionProbeComponentTypeId = "{E5D29F09-F974-45FE-A1D0-2126079D1021}"; static constexpr const char* const EditorReflectionProbeComponentTypeId = "{6EBF2E41-2918-48B8-ACC3-FB115ED09E64}"; + static constexpr float DefaultReflectionProbeExtents = 8.0f; } // namespace Render } // namespace AZ diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.cpp index ffa038cb5f..8e94960f46 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.cpp @@ -127,9 +127,21 @@ namespace AZ // set the visualization sphere option m_featureProcessor->ShowProbeVisualization(m_handle, m_configuration.m_showVisualization); - // update the outer extents from the box shape - // if the user already resized the box shape on this entity it will inherit those extents - UpdateOuterExtents(); + // if this is a new ReflectionProbe entity and the box shape has not been changed (i.e., it's still unit sized) + // then set the shape to the default extents + AZ::Vector3 boxDimensions = m_boxShapeInterface->GetBoxDimensions(); + if (m_configuration.m_entityId == EntityId::InvalidEntityId && boxDimensions == AZ::Vector3(1.0f)) + { + AZ::Vector3 extents(m_configuration.m_outerWidth, m_configuration.m_outerLength, m_configuration.m_outerHeight); + + // resize the box shape, this will invoke OnShapeChanged + m_boxShapeInterface->SetBoxDimensions(extents); + } + else + { + // update the outer extents from the box shape + UpdateOuterExtents(); + } // set the inner extents m_featureProcessor->SetProbeInnerExtents(m_handle, AZ::Vector3(m_configuration.m_innerWidth, m_configuration.m_innerLength, m_configuration.m_innerHeight)); diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.h index 66e5eb47b0..a9bdc1c707 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/ReflectionProbe/ReflectionProbeComponentController.h @@ -14,6 +14,7 @@ #include #include #include +#include namespace AZ { @@ -50,12 +51,12 @@ namespace AZ AZ_CLASS_ALLOCATOR(ReflectionProbeComponentConfig, SystemAllocator, 0); static void Reflect(AZ::ReflectContext* context); - float m_outerHeight = 20.0f; - float m_outerLength = 20.0f; - float m_outerWidth = 20.0f; - float m_innerHeight = 20.0f; - float m_innerLength = 20.0f; - float m_innerWidth = 20.0f; + float m_outerHeight = DefaultReflectionProbeExtents; + float m_outerLength = DefaultReflectionProbeExtents; + float m_outerWidth = DefaultReflectionProbeExtents; + float m_innerHeight = DefaultReflectionProbeExtents; + float m_innerLength = DefaultReflectionProbeExtents; + float m_innerWidth = DefaultReflectionProbeExtents; bool m_useParallaxCorrection = true; bool m_showVisualization = true; From 64186b4ec6819626476b0ab57a42904ed05dafa9 Mon Sep 17 00:00:00 2001 From: guthadam Date: Tue, 29 Jun 2021 16:41:35 -0500 Subject: [PATCH 18/24] ATOM-15892 fixing material component clear overrides button The clear material override properties button was not sending the notification to update the entity or undo state. Signed-off-by: guthadam --- .../Code/Source/Material/EditorMaterialComponentSlot.cpp | 7 ++++++- .../Code/Source/Material/EditorMaterialComponentSlot.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.cpp index d5ea087dcc..669e576107 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.cpp @@ -172,6 +172,11 @@ namespace AZ void EditorMaterialComponentSlot::Clear() { m_materialAsset = {}; + ClearOverrides(); + } + + void EditorMaterialComponentSlot::ClearOverrides() + { m_propertyOverrides = {}; m_matModUvOverrides = {}; OnMaterialChanged(); @@ -284,7 +289,7 @@ namespace AZ menu.addSeparator(); - action = menu.addAction("Clear Material Instance Overrides", [this]() { m_propertyOverrides = {}; m_matModUvOverrides = {}; }); + action = menu.addAction("Clear Material Instance Overrides", [this]() { ClearOverrides(); }); action->setEnabled(!m_propertyOverrides.empty() || !m_matModUvOverrides.empty()); menu.exec(QCursor::pos()); diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.h b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.h index 1b62e94225..95d1fb6a27 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.h +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentSlot.h @@ -35,6 +35,7 @@ namespace AZ void OpenMaterialEditor() const; void SetDefaultAsset(); void Clear(); + void ClearOverrides(); void OpenMaterialExporter(); void OpenMaterialInspector(); void OpenUvNameMapInspector(); From 528279af32271841b840f45f82d680dd449d99bf Mon Sep 17 00:00:00 2001 From: nvsickle Date: Tue, 29 Jun 2021 18:19:23 -0700 Subject: [PATCH 19/24] Fix Viewport camera position failing to update when "Find in viewport" is activated Signed-off-by: nvsickle --- Code/Sandbox/Editor/EditorViewportWidget.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Code/Sandbox/Editor/EditorViewportWidget.cpp b/Code/Sandbox/Editor/EditorViewportWidget.cpp index 3ee9c3bfb1..abca9ce15b 100644 --- a/Code/Sandbox/Editor/EditorViewportWidget.cpp +++ b/Code/Sandbox/Editor/EditorViewportWidget.cpp @@ -462,7 +462,6 @@ void EditorViewportWidget::Update() SetViewTM(m); SetFOV(cameraState.m_fovOrZoom); m_Camera.SetZRange(cameraState.m_nearClip, cameraState.m_farClip); - m_updateCameraPositionNextTick = false; } else if (!ed_useNewCameraSystem) { @@ -483,6 +482,8 @@ void EditorViewportWidget::Update() ); m_renderViewport->GetViewportContext()->SetCameraProjectionMatrix(clipMatrix); } + // Reset the camera update flag now that we're finished updating our viewport context + m_updateCameraPositionNextTick = false; // Don't wait for changes to update the focused viewport. if (CheckRespondToInput()) From 1100e20e26b770652fd59f0998da45ec25657daf Mon Sep 17 00:00:00 2001 From: pereslav Date: Wed, 30 Jun 2021 13:20:07 +0100 Subject: [PATCH 20/24] Merged ctrl+g fixes from MultiplayerEditorFixes Signed-off-by: pereslav --- .../AzNetworking/UdpTransport/UdpNetworkInterface.cpp | 7 +++++++ .../Source/Editor/MultiplayerEditorSystemComponent.cpp | 8 ++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp b/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp index 4be0219d26..bf5dbf8c66 100644 --- a/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp +++ b/Code/Framework/AzNetworking/AzNetworking/UdpTransport/UdpNetworkInterface.cpp @@ -187,6 +187,13 @@ namespace AzNetworking connection->Disconnect(disconnectReason, TerminationEndpoint::Local); continue; } + + const ConnectionState connectionState = connection->GetConnectionState(); + if (connectionState == ConnectionState::Disconnecting || connectionState == ConnectionState::Disconnected) + { + // Skip packets from disconnected connections + continue; + } int32_t decodedPacketSize = 0; m_decryptBuffer.Resize(m_decryptBuffer.GetCapacity()); diff --git a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp index a2841927d6..a0a3cbd651 100644 --- a/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp +++ b/Gems/Multiplayer/Code/Source/Editor/MultiplayerEditorSystemComponent.cpp @@ -113,6 +113,12 @@ namespace Multiplayer { console->PerformCommand("disconnect"); } + + AZ::Interface::Get()->ClearAllEntities(); + + // Rebuild the library to clear temporary in-memory spawnable assets + AZ::Interface::Get()->BuildSpawnablesList(); + break; } } @@ -235,7 +241,5 @@ namespace Multiplayer void MultiplayerEditorSystemComponent::OnGameEntitiesReset() { - // Rebuild the library to clear temporary in-memory spawnable assets - AZ::Interface::Get()->BuildSpawnablesList(); } } From 3a5b8808a035a13c235ff2a21b315c4357f46fe3 Mon Sep 17 00:00:00 2001 From: Benjamin Jillich <43751992+amzn-jillich@users.noreply.github.com> Date: Wed, 30 Jun 2021 08:12:01 -0700 Subject: [PATCH 21/24] [LYN-4879] Incorrect colour UI issue on Gem Configure (#1678) * Aligned the column headers to the elements * Moved the styling of the gem column header labels to the qss * Fixed the scrollbar for the gem list view Signed-off-by: Benjamin Jillich --- .../ProjectManager/Resources/ProjectManager.qss | 15 +++++++++++++++ .../Source/GemCatalog/GemListHeaderWidget.cpp | 14 +++++++------- .../Source/GemCatalog/GemListView.cpp | 3 +-- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Code/Tools/ProjectManager/Resources/ProjectManager.qss b/Code/Tools/ProjectManager/Resources/ProjectManager.qss index efc01802b7..d6a2476e83 100644 --- a/Code/Tools/ProjectManager/Resources/ProjectManager.qss +++ b/Code/Tools/ProjectManager/Resources/ProjectManager.qss @@ -463,6 +463,21 @@ QProgressBar::chunk { font-weight: 600; } +#GemCatalogHeaderLabel { + font-size: 12px; + color: #FFFFFF; +} + +#GemCatalogHeaderShowCountLabel { + font-size: 12px; + font: italic; + color: #FFFFFF; +} + +#GemCatalogListView { + background-color: #333333; +} + /************** Gem Catalog (Inspector) **************/ #GemCatalogInspector { diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp index cabcc34aaa..c61cc22c82 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemListHeaderWidget.cpp @@ -31,7 +31,7 @@ namespace O3DE::ProjectManager topLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding)); QLabel* showCountLabel = new QLabel(); - showCountLabel->setStyleSheet("font-size: 12px; font: italic; color: #FFFFFF;"); + showCountLabel->setObjectName("GemCatalogHeaderShowCountLabel"); topLayout->addWidget(showCountLabel); connect(proxyModel, &GemSortFilterProxyModel::OnInvalidated, this, [=] { @@ -57,27 +57,27 @@ namespace O3DE::ProjectManager QHBoxLayout* columnHeaderLayout = new QHBoxLayout(); columnHeaderLayout->setAlignment(Qt::AlignLeft); - const int gemNameStartX = GemItemDelegate::s_itemMargins.left() + GemItemDelegate::s_contentMargins.left() - 3; + const int gemNameStartX = GemItemDelegate::s_itemMargins.left() + GemItemDelegate::s_contentMargins.left() - 1; columnHeaderLayout->addSpacing(gemNameStartX); QLabel* gemNameLabel = new QLabel(tr("Gem Name")); - gemNameLabel->setStyleSheet("font-size: 12px; color: #FFFFFF;"); + gemNameLabel->setObjectName("GemCatalogHeaderLabel"); columnHeaderLayout->addWidget(gemNameLabel); - columnHeaderLayout->addSpacing(77); + columnHeaderLayout->addSpacing(89); QLabel* gemSummaryLabel = new QLabel(tr("Gem Summary")); - gemSummaryLabel->setStyleSheet("font-size: 12px; color: #FFFFFF;"); + gemSummaryLabel->setObjectName("GemCatalogHeaderLabel"); columnHeaderLayout->addWidget(gemSummaryLabel); QSpacerItem* horizontalSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum); columnHeaderLayout->addSpacerItem(horizontalSpacer); QLabel* gemSelectedLabel = new QLabel(tr("Selected")); - gemSelectedLabel->setStyleSheet("font-size: 12px; color: #FFFFFF;"); + gemSelectedLabel->setObjectName("GemCatalogHeaderLabel"); columnHeaderLayout->addWidget(gemSelectedLabel); - columnHeaderLayout->addSpacing(60); + columnHeaderLayout->addSpacing(65); vLayout->addLayout(columnHeaderLayout); } diff --git a/Code/Tools/ProjectManager/Source/GemCatalog/GemListView.cpp b/Code/Tools/ProjectManager/Source/GemCatalog/GemListView.cpp index 3bb429b697..e54891d736 100644 --- a/Code/Tools/ProjectManager/Source/GemCatalog/GemListView.cpp +++ b/Code/Tools/ProjectManager/Source/GemCatalog/GemListView.cpp @@ -14,10 +14,9 @@ namespace O3DE::ProjectManager GemListView::GemListView(QAbstractItemModel* model, QItemSelectionModel* selectionModel, QWidget* parent) : QListView(parent) { + setObjectName("GemCatalogListView"); setVerticalScrollMode(QAbstractItemView::ScrollPerPixel); - setStyleSheet("background-color: #333333;"); - setModel(model); setSelectionModel(selectionModel); setItemDelegate(new GemItemDelegate(model, this)); From 68f1410956f623c271e0a7bc647f717ff3fa689e Mon Sep 17 00:00:00 2001 From: Aaron Ruiz Mora Date: Wed, 30 Jun 2021 16:18:14 +0100 Subject: [PATCH 22/24] Using prefabs generated by the conversion tool (#1675) Signed-off-by: moraaar --- .../Assets/prefabs/Cloth/Chicken_Actor.prefab | 315 +++++++++++------- .../Assets/prefabs/Cloth/cloth_blinds.prefab | 247 +++++++------- .../prefabs/Cloth/cloth_blinds_broken.prefab | 236 ++++++------- .../Cloth/cloth_locked_corners_four.prefab | 249 +++++++------- .../Cloth/cloth_locked_corners_two.prefab | 278 ++++++++-------- .../prefabs/Cloth/cloth_locked_edge.prefab | 231 ++++++------- 6 files changed, 803 insertions(+), 753 deletions(-) diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab index c48dcec36c..57953f927b 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/Chicken_Actor.prefab @@ -3,92 +3,157 @@ "Id": "ContainerEntity", "Name": "Chicken_Actor", "Components": { - "Component_[10420060158469409859]": { - "$type": "EditorVisibilityComponent", - "Id": 10420060158469409859 + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 }, - "Component_[10713261435043694267]": { + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { "$type": "EditorOnlyEntityComponent", - "Id": 10713261435043694267 + "Id": 3261249813163778338 }, - "Component_[11088054817315996737]": { - "$type": "EditorLockComponent", - "Id": 11088054817315996737 + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 }, - "Component_[14341334118593165562]": { - "$type": "EditorInspectorComponent", - "Id": 14341334118593165562 - }, - "Component_[15143425594853321191]": { + "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 15143425594853321191, + "Id": 4272963378099646759, "Parent Entity": "", "Cached World Transform Parent": "" }, - "Component_[15383315993246423867]": { - "$type": "EditorPrefabComponent", - "Id": 15383315993246423867 + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 }, - "Component_[16499127605624407101]": { + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { "$type": "EditorEntitySortComponent", - "Id": 16499127605624407101 + "Id": 7874177159288365422 }, - "Component_[16697571480493454144]": { - "$type": "SelectionComponent", - "Id": 16697571480493454144 - }, - "Component_[415761541071751882]": { - "$type": "EditorPendingCompositionComponent", - "Id": 415761541071751882 - }, - "Component_[7972775450040391034]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 7972775450040391034 - }, - "Component_[9910169802741330341]": { + "Component_[8018146290632383969]": { "$type": "EditorEntityIconComponent", - "Id": 9910169802741330341 + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 } - }, - "IsDependencyReady": true + } }, "Entities": { - "Entity_[48421054243702]": { - "Id": "Entity_[48421054243702]", - "Name": "Chicken_Actor", + "Entity_[303447173544404]": { + "Id": "Entity_[303447173544404]", + "Name": "Chicken Rigidbody", "Components": { - "Component_[10024659544266822060]": { + "Component_[11254527722826929517]": { + "$type": "EditorLockComponent", + "Id": 11254527722826929517 + }, + "Component_[11752612383131299817]": { "$type": "EditorInspectorComponent", - "Id": 10024659544266822060, + "Id": 11752612383131299817, "ComponentOrderEntryArray": [ { - "ComponentId": 3250661421529612274 - }, - { - "ComponentId": 4381463095952282089, - "SortIndex": 1 - }, - { - "ComponentId": 13550968986158933154, - "SortIndex": 2 - }, - { - "ComponentId": 11536283465461048726, - "SortIndex": 3 - }, - { - "ComponentId": 7689190671460963527, - "SortIndex": 4 + "ComponentId": 12470135924384913029 } ] }, - "Component_[11465635386953249015]": { - "$type": "EditorLockComponent", - "Id": 11465635386953249015 + "Component_[12004522441155896281]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12004522441155896281 }, - "Component_[11536283465461048726]": { + "Component_[12327847693349375221]": { + "$type": "EditorVisibilityComponent", + "Id": 12327847693349375221 + }, + "Component_[12470135924384913029]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 12470135924384913029, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[14919455666821657531]": { + "$type": "EditorEntitySortComponent", + "Id": 14919455666821657531, + "ChildEntityOrderEntryArray": [ + { + "EntityId": "Entity_[303451468511700]" + } + ] + }, + "Component_[16643225638363527013]": { + "$type": "EditorOnlyEntityComponent", + "Id": 16643225638363527013 + }, + "Component_[17083722249682325420]": { + "$type": "EditorEntityIconComponent", + "Id": 17083722249682325420 + }, + "Component_[4274252334406790321]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 4274252334406790321 + }, + "Component_[786957291078135994]": { + "$type": "SelectionComponent", + "Id": 786957291078135994 + } + }, + "IsDependencyReady": true + }, + "Entity_[303451468511700]": { + "Id": "Entity_[303451468511700]", + "Name": "Chicken_Actor", + "Components": { + "Component_[10153184769011204037]": { + "$type": "SelectionComponent", + "Id": 10153184769011204037 + }, + "Component_[12307288056972997582]": { + "$type": "EditorLockComponent", + "Id": 12307288056972997582 + }, + "Component_[16388291370935886976]": { + "$type": "EditorEntityIconComponent", + "Id": 16388291370935886976 + }, + "Component_[17273633015317842366]": { + "$type": "EditorPendingCompositionComponent", + "Id": 17273633015317842366 + }, + "Component_[18385928157765337756]": { + "$type": "EditorActorComponent", + "Id": 18385928157765337756, + "ActorAsset": { + "assetId": { + "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", + "subId": 166954688 + }, + "assetHint": "objects/cloth/chicken/actor/chicken.actor" + }, + "MaterialPerLOD": [ + { + "AssetPath": "objects/cloth/chicken/actor/chicken.mtl" + } + ], + "MaterialPerActor": { + "AssetPath": "objects/cloth/chicken/actor/chicken.mtl" + }, + "AttachmentTarget": "" + }, + "Component_[2933618168100824891]": { "$type": "EditorSimpleMotionComponent", - "Id": 11536283465461048726, + "Id": 2933618168100824891, "Configuration": { "MotionAsset": { "assetId": { @@ -97,12 +162,38 @@ }, "assetHint": "objects/cloth/chicken/motions/chickenidle.motion" }, - "Loop": true + "Loop": true, + "PlaySpeed": 1.2000000476837159 } }, - "Component_[13550968986158933154]": { + "Component_[3482722103355682975]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3482722103355682975 + }, + "Component_[4826327274018205895]": { + "$type": "EditorOnlyEntityComponent", + "Id": 4826327274018205895 + }, + "Component_[5939417605550024797]": { + "$type": "EditorVisibilityComponent", + "Id": 5939417605550024797 + }, + "Component_[7236637452394054627]": { + "$type": "EditorClothComponent", + "Id": 7236637452394054627, + "Configuration": { + "Mesh Node": "chicken_mohawk", + "Mass": 4.0, + "Remove Static Triangles": false + } + }, + "Component_[868427789695884987]": { + "$type": "EditorEntitySortComponent", + "Id": 868427789695884987 + }, + "Component_[8777596718122199558]": { "$type": "EditorMaterialComponent", - "Id": 13550968986158933154, + "Id": 8777596718122199558, "Controller": { "Configuration": { "materials": [ @@ -233,77 +324,43 @@ ] ] }, - "Component_[14277098884859902099]": { - "$type": "EditorPendingCompositionComponent", - "Id": 14277098884859902099 - }, - "Component_[2153976993809262425]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 2153976993809262425 - }, - "Component_[3250661421529612274]": { + "Component_[9845606399230319505]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 3250661421529612274, - "Parent Entity": "ContainerEntity", - "Cached World Transform": { - "Translation": [ - -8.559586524963379, - -1.2393379211425782, - 0.043556928634643558 - ], - "Rotation": [ + "Id": 9845606399230319505, + "Parent Entity": "Entity_[303447173544404]", + "Transform Data": { + "Rotate": [ 0.0, 0.0, - 1.0, - 0.0 + -0.00006830000347690657 ] }, - "Cached World Transform Parent": "ContainerEntity" + "Cached World Transform Parent": "" }, - "Component_[363579226643870873]": { - "$type": "EditorEntityIconComponent", - "Id": 363579226643870873 - }, - "Component_[4381463095952282089]": { - "$type": "EditorActorComponent", - "Id": 4381463095952282089, - "ActorAsset": { - "assetId": { - "guid": "{3E4C6A29-92A4-523E-8739-F3E64957569E}", - "subId": 166954688 + "Component_[9979479216337101498]": { + "$type": "EditorInspectorComponent", + "Id": 9979479216337101498, + "ComponentOrderEntryArray": [ + { + "ComponentId": 9845606399230319505 }, - "loadBehavior": "QueueLoad", - "assetHint": "objects/cloth/chicken/actor/chicken.actor" - }, - "MaterialPerLOD": [ - {} - ], - "AttachmentTarget": "" - }, - "Component_[4892122740022910835]": { - "$type": "SelectionComponent", - "Id": 4892122740022910835 - }, - "Component_[5646397145899865599]": { - "$type": "EditorVisibilityComponent", - "Id": 5646397145899865599 - }, - "Component_[6526021153484129377]": { - "$type": "EditorOnlyEntityComponent", - "Id": 6526021153484129377 - }, - "Component_[7689190671460963527]": { - "$type": "EditorClothComponent", - "Id": 7689190671460963527, - "Configuration": { - "Mesh Node": "chicken_mohawk", - "Mass": 4.0, - "Remove Static Triangles": false - } - }, - "Component_[7705494469103394865]": { - "$type": "EditorEntitySortComponent", - "Id": 7705494469103394865 + { + "ComponentId": 18385928157765337756, + "SortIndex": 1 + }, + { + "ComponentId": 2933618168100824891, + "SortIndex": 2 + }, + { + "ComponentId": 8777596718122199558, + "SortIndex": 3 + }, + { + "ComponentId": 7236637452394054627, + "SortIndex": 4 + } + ] } }, "IsDependencyReady": true diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab index de6dba6399..270f52b29b 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds.prefab @@ -3,101 +3,166 @@ "Id": "ContainerEntity", "Name": "cloth_blinds", "Components": { - "Component_[11710159740232621436]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 11710159740232621436 - }, - "Component_[12700834211830506265]": { - "$type": "EditorInspectorComponent", - "Id": 12700834211830506265 - }, - "Component_[1332207344633534847]": { + "Component_[10182366347512475253]": { "$type": "EditorPrefabComponent", - "Id": 1332207344633534847 + "Id": 10182366347512475253 }, - "Component_[15674607824372989481]": { - "$type": "SelectionComponent", - "Id": 15674607824372989481 - }, - "Component_[17830258131678226250]": { + "Component_[12917798267488243668]": { "$type": "EditorPendingCompositionComponent", - "Id": 17830258131678226250 + "Id": 12917798267488243668 }, - "Component_[2739137831523757464]": { + "Component_[3261249813163778338]": { "$type": "EditorOnlyEntityComponent", - "Id": 2739137831523757464 + "Id": 3261249813163778338 }, - "Component_[6200331447094468978]": { - "$type": "EditorEntityIconComponent", - "Id": 6200331447094468978 + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 }, - "Component_[6469357969320867250]": { - "$type": "EditorLockComponent", - "Id": 6469357969320867250 - }, - "Component_[7557343481632459660]": { - "$type": "EditorVisibilityComponent", - "Id": 7557343481632459660 - }, - "Component_[8407841941984260302]": { + "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 8407841941984260302, + "Id": 4272963378099646759, "Parent Entity": "", "Cached World Transform Parent": "" }, - "Component_[8679209570517497730]": { + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { "$type": "EditorEntitySortComponent", - "Id": 8679209570517497730 + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 } - }, - "IsDependencyReady": true + } }, "Entities": { - "Entity_[2310285353846]": { - "Id": "Entity_[2310285353846]", + "Entity_[303275374852564]": { + "Id": "Entity_[303275374852564]", "Name": "cloth_blinds", "Components": { - "Component_[11484820910614012211]": { + "Component_[10147744244398276652]": { "$type": "EditorOnlyEntityComponent", - "Id": 11484820910614012211 + "Id": 10147744244398276652 }, - "Component_[12758934717931799496]": { - "$type": "EditorEntitySortComponent", - "Id": 12758934717931799496 - }, - "Component_[14636776520633084007]": { + "Component_[11309989511197311871]": { "$type": "EditorClothComponent", - "Id": 14636776520633084007, + "Id": 11309989511197311871, "Configuration": { "Mesh Node": "pPlane1", - "Update Normals of Static Particles": true, - "Wind Velocity": [ + "Damping": [ + 0.0, 0.0, - 10.0, 0.0 ], - "Stiffness Frequency": 1.0 + "Linear Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Angular Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Wind Velocity": [ + 10.0, + 0.0, + 0.0 + ], + "Air Drag Coefficient": 0.5, + "Air Lift Coefficient": 0.5, + "Update Normals of Static Particles": true } }, - "Component_[15643606068434059364]": { + "Component_[12850019035302463297]": { "$type": "EditorLockComponent", - "Id": 15643606068434059364 + "Id": 12850019035302463297 }, - "Component_[1802437050375983597]": { + "Component_[15214644042360665965]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 15214644042360665965, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", + "subId": 283342727 + }, + "assetHint": "objects/cloth/environment/cloth_blinds.azmodel" + } + } + } + }, + "Component_[17205613619475042888]": { "$type": "EditorEntityIconComponent", - "Id": 1802437050375983597 + "Id": 17205613619475042888 }, - "Component_[2246969288668584020]": { + "Component_[17262624475618211748]": { + "$type": "EditorVisibilityComponent", + "Id": 17262624475618211748 + }, + "Component_[3930083736215151625]": { + "$type": "EditorInspectorComponent", + "Id": 3930083736215151625, + "ComponentOrderEntryArray": [ + { + "ComponentId": 4795695323030511838 + }, + { + "ComponentId": 11309989511197311871, + "SortIndex": 1 + }, + { + "ComponentId": 15214644042360665965, + "SortIndex": 2 + }, + { + "ComponentId": 9206497685981025331, + "SortIndex": 3 + } + ] + }, + "Component_[4446664869832380031]": { + "$type": "SelectionComponent", + "Id": 4446664869832380031 + }, + "Component_[4795695323030511838]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4795695323030511838, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[5800800590637221800]": { "$type": "EditorDisabledCompositionComponent", - "Id": 2246969288668584020 + "Id": 5800800590637221800 }, - "Component_[3349689287441689089]": { + "Component_[6953593560040071775]": { "$type": "EditorPendingCompositionComponent", - "Id": 3349689287441689089 + "Id": 6953593560040071775 }, - "Component_[4761242843736319995]": { + "Component_[7074022732104182988]": { + "$type": "EditorEntitySortComponent", + "Id": 7074022732104182988 + }, + "Component_[9206497685981025331]": { "$type": "EditorMaterialComponent", - "Id": 4761242843736319995, + "Id": 9206497685981025331, "Controller": { "Configuration": { "materials": [ @@ -149,70 +214,6 @@ } ] ] - }, - "Component_[7102112177384882498]": { - "$type": "EditorInspectorComponent", - "Id": 7102112177384882498, - "ComponentOrderEntryArray": [ - { - "ComponentId": 8287798504585048292 - }, - { - "ComponentId": 7500992507704969518, - "SortIndex": 1 - }, - { - "ComponentId": 4761242843736319995, - "SortIndex": 2 - }, - { - "ComponentId": 14636776520633084007, - "SortIndex": 3 - } - ] - }, - "Component_[7262445215578128559]": { - "$type": "EditorVisibilityComponent", - "Id": 7262445215578128559 - }, - "Component_[7500992507704969518]": { - "$type": "AZ::Render::EditorMeshComponent", - "Id": 7500992507704969518, - "Controller": { - "Configuration": { - "ModelAsset": { - "assetId": { - "guid": "{C3078003-51DA-5D8E-B311-38C426480DD2}", - "subId": 283342727 - }, - "assetHint": "objects/cloth/environment/cloth_blinds.azmodel" - } - } - } - }, - "Component_[8287798504585048292]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 8287798504585048292, - "Parent Entity": "ContainerEntity", - "Cached World Transform": { - "Translation": [ - -5.723679542541504, - -2.6300342082977297, - 1.938896894454956 - ] - }, - "Cached World Transform Parent": "ContainerEntity", - "Transform Data": { - "Translate": [ - -6.210474491119385, - 0.0, - 2.0854623317718508 - ] - } - }, - "Component_[9830203766948851058]": { - "$type": "SelectionComponent", - "Id": 9830203766948851058 } }, "IsDependencyReady": true diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab index c4caf4ff4c..7feb61db90 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_blinds_broken.prefab @@ -3,139 +3,90 @@ "Id": "ContainerEntity", "Name": "cloth_blinds_broken", "Components": { - "Component_[10989814620261546639]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 10989814620261546639 - }, - "Component_[12298926505503761520]": { - "$type": "EditorPendingCompositionComponent", - "Id": 12298926505503761520 - }, - "Component_[13199048427796447680]": { - "$type": "EditorVisibilityComponent", - "Id": 13199048427796447680 - }, - "Component_[13897401964074181963]": { - "$type": "EditorLockComponent", - "Id": 13897401964074181963 - }, - "Component_[15440200647772473638]": { - "$type": "EditorEntityIconComponent", - "Id": 15440200647772473638 - }, - "Component_[15453809689256412670]": { - "$type": "SelectionComponent", - "Id": 15453809689256412670 - }, - "Component_[16085218976953314353]": { - "$type": "EditorEntitySortComponent", - "Id": 16085218976953314353 - }, - "Component_[16269162367022698371]": { + "Component_[10182366347512475253]": { "$type": "EditorPrefabComponent", - "Id": 16269162367022698371 + "Id": 10182366347512475253 }, - "Component_[3663243583798432985]": { + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { "$type": "EditorOnlyEntityComponent", - "Id": 3663243583798432985 + "Id": 3261249813163778338 }, - "Component_[6161691932390979827]": { + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 6161691932390979827, + "Id": 4272963378099646759, "Parent Entity": "", "Cached World Transform Parent": "" }, - "Component_[6472172087633666006]": { + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { "$type": "EditorInspectorComponent", - "Id": 6472172087633666006 + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 } - }, - "IsDependencyReady": true + } }, "Entities": { - "Entity_[8860110480246]": { - "Id": "Entity_[8860110480246]", + "Entity_[303326914460116]": { + "Id": "Entity_[303326914460116]", "Name": "cloth_blinds_broken", "Components": { - "Component_[1079843150556003627]": { - "$type": "EditorEntityIconComponent", - "Id": 1079843150556003627 - }, - "Component_[11968229236146127519]": { - "$type": "EditorPendingCompositionComponent", - "Id": 11968229236146127519 - }, - "Component_[12117224592880940883]": { - "$type": "EditorInspectorComponent", - "Id": 12117224592880940883, - "ComponentOrderEntryArray": [ - { - "ComponentId": 5483426416697581640 - }, - { - "ComponentId": 5518702849950674566, - "SortIndex": 1 - }, - { - "ComponentId": 894067052175737998, - "SortIndex": 2 - }, - { - "ComponentId": 1765776596326719942, - "SortIndex": 3 - } - ] - }, - "Component_[1765776596326719942]": { + "Component_[10786078036233199116]": { "$type": "EditorClothComponent", - "Id": 1765776596326719942, + "Id": 10786078036233199116, "Configuration": { "Mesh Node": "pPlane1", - "Update Normals of Static Particles": true, - "Wind Velocity": [ + "Damping": [ + 0.0, 0.0, - 10.0, 0.0 ], - "Stiffness Frequency": 1.0 + "Linear Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Angular Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Wind Velocity": [ + 5.0, + 0.0, + 0.0 + ], + "Update Normals of Static Particles": true } }, - "Component_[17734660328068630579]": { - "$type": "SelectionComponent", - "Id": 17734660328068630579 - }, - "Component_[2020684643572273032]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 2020684643572273032 - }, - "Component_[3951090720799475031]": { - "$type": "EditorVisibilityComponent", - "Id": 3951090720799475031 - }, - "Component_[504292109316286904]": { - "$type": "EditorLockComponent", - "Id": 504292109316286904 - }, - "Component_[5243187155220405314]": { - "$type": "EditorOnlyEntityComponent", - "Id": 5243187155220405314 - }, - "Component_[5483426416697581640]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 5483426416697581640, - "Parent Entity": "ContainerEntity", - "Cached World Transform": { - "Translation": [ - -2.9314260482788088, - -0.9454793930053711, - 1.7495737075805665 - ] - }, - "Cached World Transform Parent": "ContainerEntity" - }, - "Component_[5518702849950674566]": { + "Component_[11765361670726469628]": { "$type": "AZ::Render::EditorMeshComponent", - "Id": 5518702849950674566, + "Id": 11765361670726469628, "Controller": { "Configuration": { "ModelAsset": { @@ -148,9 +99,37 @@ } } }, - "Component_[894067052175737998]": { + "Component_[13771990625644339755]": { + "$type": "EditorEntitySortComponent", + "Id": 13771990625644339755 + }, + "Component_[14712436598236321787]": { + "$type": "EditorLockComponent", + "Id": 14712436598236321787 + }, + "Component_[14930554686244012752]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 14930554686244012752 + }, + "Component_[16955243819980352058]": { + "$type": "EditorPendingCompositionComponent", + "Id": 16955243819980352058 + }, + "Component_[17396749751570379839]": { + "$type": "EditorVisibilityComponent", + "Id": 17396749751570379839 + }, + "Component_[2237683366320350918]": { + "$type": "SelectionComponent", + "Id": 2237683366320350918 + }, + "Component_[4939437553142322315]": { + "$type": "EditorEntityIconComponent", + "Id": 4939437553142322315 + }, + "Component_[538074694053236341]": { "$type": "EditorMaterialComponent", - "Id": 894067052175737998, + "Id": 538074694053236341, "Controller": { "Configuration": { "materials": [ @@ -203,9 +182,36 @@ ] ] }, - "Component_[9677874933452340864]": { - "$type": "EditorEntitySortComponent", - "Id": 9677874933452340864 + "Component_[5681411293917950785]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 5681411293917950785, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[7046686956433693767]": { + "$type": "EditorInspectorComponent", + "Id": 7046686956433693767, + "ComponentOrderEntryArray": [ + { + "ComponentId": 5681411293917950785 + }, + { + "ComponentId": 10786078036233199116, + "SortIndex": 1 + }, + { + "ComponentId": 11765361670726469628, + "SortIndex": 2 + }, + { + "ComponentId": 538074694053236341, + "SortIndex": 3 + } + ] + }, + "Component_[9565338131843702938]": { + "$type": "EditorOnlyEntityComponent", + "Id": 9565338131843702938 } }, "IsDependencyReady": true diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab index 39b72f63fd..cdbe92dab6 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_four.prefab @@ -3,63 +3,83 @@ "Id": "ContainerEntity", "Name": "cloth_locked_corners_four", "Components": { - "Component_[13888132130168041992]": { - "$type": "EditorEntityIconComponent", - "Id": 13888132130168041992 - }, - "Component_[14031678566419671406]": { - "$type": "EditorVisibilityComponent", - "Id": 14031678566419671406 - }, - "Component_[15480122384719724795]": { + "Component_[10182366347512475253]": { "$type": "EditorPrefabComponent", - "Id": 15480122384719724795 + "Id": 10182366347512475253 }, - "Component_[15688442711950741155]": { - "$type": "SelectionComponent", - "Id": 15688442711950741155 - }, - "Component_[17193472612212292109]": { + "Component_[12917798267488243668]": { "$type": "EditorPendingCompositionComponent", - "Id": 17193472612212292109 + "Id": 12917798267488243668 }, - "Component_[17650154089342371227]": { + "Component_[3261249813163778338]": { "$type": "EditorOnlyEntityComponent", - "Id": 17650154089342371227 + "Id": 3261249813163778338 }, - "Component_[2597916765647847638]": { - "$type": "EditorInspectorComponent", - "Id": 2597916765647847638 - }, - "Component_[3170182215265959833]": { - "$type": "EditorLockComponent", - "Id": 3170182215265959833 - }, - "Component_[4868760161921280191]": { + "Component_[3837204912784440039]": { "$type": "EditorDisabledCompositionComponent", - "Id": 4868760161921280191 + "Id": 3837204912784440039 }, - "Component_[5068517972887920186]": { + "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 5068517972887920186, + "Id": 4272963378099646759, "Parent Entity": "", "Cached World Transform Parent": "" }, - "Component_[676524230089543870]": { + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 + }, + "Component_[5787060997243919943]": { + "$type": "EditorInspectorComponent", + "Id": 5787060997243919943 + }, + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { "$type": "EditorEntitySortComponent", - "Id": 676524230089543870 + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 } - }, - "IsDependencyReady": true + } }, "Entities": { - "Entity_[18154419708790]": { - "Id": "Entity_[18154419708790]", + "Entity_[303417108773332]": { + "Id": "Entity_[303417108773332]", "Name": "cloth_locked_corners_four", "Components": { - "Component_[10365722294506366933]": { + "Component_[10032168678611459233]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 10032168678611459233, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", + "subId": 279249006 + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmodel" + } + } + } + }, + "Component_[12766570162661899127]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 12766570162661899127, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[12950486357466178058]": { "$type": "EditorMaterialComponent", - "Id": 10365722294506366933, + "Id": 12950486357466178058, "Controller": { "Configuration": { "materials": [ @@ -112,110 +132,91 @@ ] ] }, - "Component_[10859562122285472274]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 10859562122285472274 - }, - "Component_[14622083210324204992]": { - "$type": "EditorLockComponent", - "Id": 14622083210324204992 - }, - "Component_[15220860273045136531]": { - "$type": "AZ::Render::EditorMeshComponent", - "Id": 15220860273045136531, - "Controller": { - "Configuration": { - "ModelAsset": { - "assetId": { - "guid": "{89C91D92-7B4E-5EB5-945D-0053111859EE}", - "subId": 279249006 - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_four.azmodel" - } - } - } - }, - "Component_[16425888662708329747]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 16425888662708329747, - "Parent Entity": "ContainerEntity", - "Cached World Transform": { - "Translation": [ - 3.0004701614379885, - -4.337822437286377, - 3.1882824897766115 - ] - }, - "Cached World Transform Parent": "ContainerEntity", - "Transform Data": { - "Translate": [ - 8.040351867675782, - -4.368268966674805, - 0.0 - ] - } - }, - "Component_[4438658514025011411]": { + "Component_[13484816898680823471]": { "$type": "EditorEntitySortComponent", - "Id": 4438658514025011411 + "Id": 13484816898680823471 }, - "Component_[5913235105006124431]": { - "$type": "EditorPendingCompositionComponent", - "Id": 5913235105006124431 - }, - "Component_[77600265179991959]": { - "$type": "EditorClothComponent", - "Id": 77600265179991959, - "Configuration": { - "Mesh Node": "pPlane1", - "Air Drag Coefficient": 0.5, - "Air Lift Coefficient": 0.5, - "Tether Constraint Stiffness": 0.10000000149011612, - "Solver Frequency": 0.10000000149011612, - "Update Normals of Static Particles": true, - "Wind Velocity": [ - 0.0, - 19.0, - 0.0 - ] - } - }, - "Component_[7823285819593032424]": { - "$type": "SelectionComponent", - "Id": 7823285819593032424 - }, - "Component_[7850007788027860583]": { - "$type": "EditorEntityIconComponent", - "Id": 7850007788027860583 - }, - "Component_[8322654623609026271]": { - "$type": "EditorOnlyEntityComponent", - "Id": 8322654623609026271 - }, - "Component_[884075377124407467]": { + "Component_[1382754615503170687]": { "$type": "EditorInspectorComponent", - "Id": 884075377124407467, + "Id": 1382754615503170687, "ComponentOrderEntryArray": [ { - "ComponentId": 16425888662708329747 + "ComponentId": 12766570162661899127 }, { - "ComponentId": 15220860273045136531, + "ComponentId": 15114198178471353754, "SortIndex": 1 }, { - "ComponentId": 10365722294506366933, + "ComponentId": 10032168678611459233, "SortIndex": 2 }, { - "ComponentId": 77600265179991959, + "ComponentId": 12950486357466178058, "SortIndex": 3 } ] }, - "Component_[9249713210701101638]": { + "Component_[14681412843852848812]": { + "$type": "EditorEntityIconComponent", + "Id": 14681412843852848812 + }, + "Component_[15114198178471353754]": { + "$type": "EditorClothComponent", + "Id": 15114198178471353754, + "Configuration": { + "Mesh Node": "pPlane1", + "Stiffness Frequency": 1.0, + "Damping": [ + 0.0, + 0.0, + 0.0 + ], + "Linear Drag": [ + 0.10000000149011612, + 0.10000000149011612, + 0.10000000149011612 + ], + "Angular Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Wind Velocity": [ + 30.0, + 0.0, + 0.0 + ], + "Air Drag Coefficient": 0.5, + "Air Lift Coefficient": 0.5, + "Tether Constraint Stiffness": 0.10000000149011612, + "Solver Frequency": 0.10000000149011612, + "Update Normals of Static Particles": true + } + }, + "Component_[16053566237817170938]": { + "$type": "EditorPendingCompositionComponent", + "Id": 16053566237817170938 + }, + "Component_[4429394044165993194]": { + "$type": "EditorLockComponent", + "Id": 4429394044165993194 + }, + "Component_[5458686923744863438]": { + "$type": "EditorOnlyEntityComponent", + "Id": 5458686923744863438 + }, + "Component_[7652255413353256955]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 7652255413353256955 + }, + "Component_[8417657922837077982]": { "$type": "EditorVisibilityComponent", - "Id": 9249713210701101638 + "Id": 8417657922837077982 + }, + "Component_[944311658362107535]": { + "$type": "SelectionComponent", + "Id": 944311658362107535 } }, "IsDependencyReady": true diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab index b6bf98331c..068c4a6a7e 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_corners_two.prefab @@ -3,67 +3,165 @@ "Id": "ContainerEntity", "Name": "cloth_locked_corners_two", "Components": { - "Component_[10517025541686089747]": { - "$type": "SelectionComponent", - "Id": 10517025541686089747 - }, - "Component_[11942695247789365360]": { - "$type": "EditorLockComponent", - "Id": 11942695247789365360 - }, - "Component_[12559361867367225813]": { - "$type": "EditorPendingCompositionComponent", - "Id": 12559361867367225813 - }, - "Component_[2298695278968718052]": { + "Component_[10182366347512475253]": { "$type": "EditorPrefabComponent", - "Id": 2298695278968718052 + "Id": 10182366347512475253 }, - "Component_[5428140871384328988]": { + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 + }, + "Component_[3261249813163778338]": { "$type": "EditorOnlyEntityComponent", - "Id": 5428140871384328988 + "Id": 3261249813163778338 }, - "Component_[5701501137958186643]": { + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 5701501137958186643, + "Id": 4272963378099646759, "Parent Entity": "", "Cached World Transform Parent": "" }, - "Component_[5778239630714783896]": { + "Component_[4848458548047175816]": { "$type": "EditorVisibilityComponent", - "Id": 5778239630714783896 + "Id": 4848458548047175816 }, - "Component_[7805751851684582886]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 7805751851684582886 - }, - "Component_[8080436454059486024]": { - "$type": "EditorEntityIconComponent", - "Id": 8080436454059486024 - }, - "Component_[9061896821975172319]": { + "Component_[5787060997243919943]": { "$type": "EditorInspectorComponent", - "Id": 9061896821975172319 + "Id": 5787060997243919943 }, - "Component_[9124360597499948832]": { + "Component_[7804170251266531779]": { + "$type": "EditorLockComponent", + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { "$type": "EditorEntitySortComponent", - "Id": 9124360597499948832 + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 } - }, - "IsDependencyReady": true + } }, "Entities": { - "Entity_[19988370744182]": { - "Id": "Entity_[19988370744182]", + "Entity_[303387044002260]": { + "Id": "Entity_[303387044002260]", "Name": "cloth_locked_corners_two", "Components": { - "Component_[11229181318682575009]": { - "$type": "EditorOnlyEntityComponent", - "Id": 11229181318682575009 + "Component_[1001638726593827857]": { + "$type": "EditorEntityIconComponent", + "Id": 1001638726593827857 }, - "Component_[12590098138564546298]": { + "Component_[10262713678088900797]": { + "$type": "EditorLockComponent", + "Id": 10262713678088900797 + }, + "Component_[11187088727311308743]": { + "$type": "EditorEntitySortComponent", + "Id": 11187088727311308743 + }, + "Component_[11287804792148854494]": { + "$type": "EditorOnlyEntityComponent", + "Id": 11287804792148854494 + }, + "Component_[13071159905056054261]": { + "$type": "EditorVisibilityComponent", + "Id": 13071159905056054261 + }, + "Component_[14654386610096307993]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 14654386610096307993 + }, + "Component_[16927361351552746000]": { + "$type": "EditorClothComponent", + "Id": 16927361351552746000, + "Configuration": { + "Mesh Node": "pPlane1", + "Mass": 10.0, + "Stiffness Frequency": 1.0, + "Damping": [ + 0.0, + 0.0, + 0.0 + ], + "Linear Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Angular Drag": [ + 0.0, + 0.0, + 0.0 + ], + "Air Drag Coefficient": 0.5, + "Air Lift Coefficient": 0.800000011920929, + "Tether Constraint Stiffness": 0.10000000149011612, + "Solver Frequency": 0.5, + "Update Normals of Static Particles": true + } + }, + "Component_[2410073307760782444]": { + "$type": "EditorPendingCompositionComponent", + "Id": 2410073307760782444 + }, + "Component_[4751432498761592063]": { + "$type": "EditorInspectorComponent", + "Id": 4751432498761592063, + "ComponentOrderEntryArray": [ + { + "ComponentId": 5636741882934012477 + }, + { + "ComponentId": 16927361351552746000, + "SortIndex": 1 + }, + { + "ComponentId": 7032406204252577953, + "SortIndex": 2 + }, + { + "ComponentId": 9419069324766365964, + "SortIndex": 3 + } + ] + }, + "Component_[5636741882934012477]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 5636741882934012477, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity" + }, + "Component_[691437686890444081]": { + "$type": "SelectionComponent", + "Id": 691437686890444081 + }, + "Component_[7032406204252577953]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 7032406204252577953, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", + "subId": 280646834 + }, + "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmodel" + } + } + } + }, + "Component_[9419069324766365964]": { "$type": "EditorMaterialComponent", - "Id": 12590098138564546298, + "Id": 9419069324766365964, "Controller": { "Configuration": { "materials": [ @@ -115,104 +213,6 @@ } ] ] - }, - "Component_[13015448166210260338]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 13015448166210260338, - "Parent Entity": "ContainerEntity", - "Cached World Transform": { - "Translation": [ - 0.6749224662780762, - -4.288209915161133, - 2.4030189514160158 - ] - }, - "Cached World Transform Parent": "ContainerEntity", - "Transform Data": { - "Translate": [ - 2.2785778045654299, - 0.0, - 0.0 - ] - } - }, - "Component_[17709800634205509765]": { - "$type": "SelectionComponent", - "Id": 17709800634205509765 - }, - "Component_[17881336357737316612]": { - "$type": "EditorVisibilityComponent", - "Id": 17881336357737316612 - }, - "Component_[18134421333115235974]": { - "$type": "AZ::Render::EditorMeshComponent", - "Id": 18134421333115235974, - "Controller": { - "Configuration": { - "ModelAsset": { - "assetId": { - "guid": "{23C6817F-0B79-5CAD-B861-9E6F5E55927D}", - "subId": 280646834 - }, - "assetHint": "objects/cloth/environment/cloth_locked_corners_two.azmodel" - } - } - } - }, - "Component_[1951606800215019069]": { - "$type": "EditorEntityIconComponent", - "Id": 1951606800215019069 - }, - "Component_[2363740054997837278]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 2363740054997837278 - }, - "Component_[3674821019392172687]": { - "$type": "EditorInspectorComponent", - "Id": 3674821019392172687, - "ComponentOrderEntryArray": [ - { - "ComponentId": 13015448166210260338 - }, - { - "ComponentId": 18134421333115235974, - "SortIndex": 1 - }, - { - "ComponentId": 12590098138564546298, - "SortIndex": 2 - }, - { - "ComponentId": 5881611098656116710, - "SortIndex": 3 - } - ] - }, - "Component_[5096623085809697325]": { - "$type": "EditorPendingCompositionComponent", - "Id": 5096623085809697325 - }, - "Component_[5881611098656116710]": { - "$type": "EditorClothComponent", - "Id": 5881611098656116710, - "Configuration": { - "Mesh Node": "pPlane1", - "Mass": 10.0, - "Stiffness Frequency": 1.0, - "Air Drag Coefficient": 0.5, - "Air Lift Coefficient": 0.800000011920929, - "Tether Constraint Stiffness": 0.10000000149011612, - "Solver Frequency": 0.5, - "Update Normals of Static Particles": true - } - }, - "Component_[617790731841875255]": { - "$type": "EditorLockComponent", - "Id": 617790731841875255 - }, - "Component_[7682555904043583234]": { - "$type": "EditorEntitySortComponent", - "Id": 7682555904043583234 } }, "IsDependencyReady": true diff --git a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab index 1dff578422..7bba36adf8 100644 --- a/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab +++ b/Gems/NvCloth/Assets/prefabs/Cloth/cloth_locked_edge.prefab @@ -3,67 +3,106 @@ "Id": "ContainerEntity", "Name": "cloth_locked_edge", "Components": { - "Component_[1235323850699490217]": { - "$type": "EditorVisibilityComponent", - "Id": 1235323850699490217 + "Component_[10182366347512475253]": { + "$type": "EditorPrefabComponent", + "Id": 10182366347512475253 }, - "Component_[15881575175154249216]": { - "$type": "EditorEntityIconComponent", - "Id": 15881575175154249216 + "Component_[12917798267488243668]": { + "$type": "EditorPendingCompositionComponent", + "Id": 12917798267488243668 }, - "Component_[17600849902539154435]": { + "Component_[3261249813163778338]": { "$type": "EditorOnlyEntityComponent", - "Id": 17600849902539154435 + "Id": 3261249813163778338 }, - "Component_[17642993831427457865]": { + "Component_[3837204912784440039]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 3837204912784440039 + }, + "Component_[4272963378099646759]": { "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 17642993831427457865, + "Id": 4272963378099646759, "Parent Entity": "", "Cached World Transform Parent": "" }, - "Component_[1978132613175166397]": { - "$type": "EditorPrefabComponent", - "Id": 1978132613175166397 + "Component_[4848458548047175816]": { + "$type": "EditorVisibilityComponent", + "Id": 4848458548047175816 }, - "Component_[3665335443055612027]": { - "$type": "EditorEntitySortComponent", - "Id": 3665335443055612027 - }, - "Component_[4340499892108035209]": { + "Component_[5787060997243919943]": { "$type": "EditorInspectorComponent", - "Id": 4340499892108035209 + "Id": 5787060997243919943 }, - "Component_[5740495422195339981]": { - "$type": "SelectionComponent", - "Id": 5740495422195339981 - }, - "Component_[5916084327473082953]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 5916084327473082953 - }, - "Component_[6149161397236330762]": { - "$type": "EditorPendingCompositionComponent", - "Id": 6149161397236330762 - }, - "Component_[8815189893920523789]": { + "Component_[7804170251266531779]": { "$type": "EditorLockComponent", - "Id": 8815189893920523789 + "Id": 7804170251266531779 + }, + "Component_[7874177159288365422]": { + "$type": "EditorEntitySortComponent", + "Id": 7874177159288365422 + }, + "Component_[8018146290632383969]": { + "$type": "EditorEntityIconComponent", + "Id": 8018146290632383969 + }, + "Component_[8452360690590857075]": { + "$type": "SelectionComponent", + "Id": 8452360690590857075 } - }, - "IsDependencyReady": true + } }, "Entities": { - "Entity_[24657000194934]": { - "Id": "Entity_[24657000194934]", + "Entity_[303356979231188]": { + "Id": "Entity_[303356979231188]", "Name": "cloth_locked_edge", "Components": { - "Component_[12570923873370995388]": { - "$type": "EditorEntityIconComponent", - "Id": 12570923873370995388 + "Component_[10058909754154454376]": { + "$type": "EditorDisabledCompositionComponent", + "Id": 10058909754154454376 }, - "Component_[15695175229307539942]": { + "Component_[13619550272459633699]": { + "$type": "AZ::Render::EditorMeshComponent", + "Id": 13619550272459633699, + "Controller": { + "Configuration": { + "ModelAsset": { + "assetId": { + "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", + "subId": 272561654 + }, + "assetHint": "objects/cloth/environment/cloth_locked_edge.azmodel" + } + } + } + }, + "Component_[14771752773951891563]": { + "$type": "EditorInspectorComponent", + "Id": 14771752773951891563, + "ComponentOrderEntryArray": [ + { + "ComponentId": 4215669181198357248 + }, + { + "ComponentId": 16595775512479337011, + "SortIndex": 1 + }, + { + "ComponentId": 13619550272459633699, + "SortIndex": 2 + }, + { + "ComponentId": 4580390205455331350, + "SortIndex": 3 + } + ] + }, + "Component_[14983280478781449966]": { + "$type": "SelectionComponent", + "Id": 14983280478781449966 + }, + "Component_[16595775512479337011]": { "$type": "EditorClothComponent", - "Id": 15695175229307539942, + "Id": 16595775512479337011, "Configuration": { "Mesh Node": "pPlane1", "Damping": [ @@ -82,26 +121,28 @@ 0.5 ], "Wind Velocity": [ - 20.0, + 10.0, 0.0, 0.0 ], - "Update Normals of Static Particles": true, "Air Drag Coefficient": 0.5, - "Air Lift Coefficient": 0.10000000149011612 + "Air Lift Coefficient": 0.5, + "Update Normals of Static Particles": true } }, - "Component_[1702552432011529292]": { - "$type": "EditorOnlyEntityComponent", - "Id": 1702552432011529292 + "Component_[16893372770952587461]": { + "$type": "EditorVisibilityComponent", + "Id": 16893372770952587461 }, - "Component_[3257580479102403174]": { - "$type": "EditorDisabledCompositionComponent", - "Id": 3257580479102403174 + "Component_[4215669181198357248]": { + "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", + "Id": 4215669181198357248, + "Parent Entity": "ContainerEntity", + "Cached World Transform Parent": "ContainerEntity" }, - "Component_[4004895580151009916]": { + "Component_[4580390205455331350]": { "$type": "EditorMaterialComponent", - "Id": 4004895580151009916, + "Id": 4580390205455331350, "Controller": { "Configuration": { "materials": [ @@ -154,81 +195,25 @@ ] ] }, - "Component_[4551907993575066613]": { + "Component_[5652509070289279796]": { + "$type": "EditorOnlyEntityComponent", + "Id": 5652509070289279796 + }, + "Component_[5729541152832178099]": { + "$type": "EditorEntityIconComponent", + "Id": 5729541152832178099 + }, + "Component_[734939761857694320]": { "$type": "EditorPendingCompositionComponent", - "Id": 4551907993575066613 + "Id": 734939761857694320 }, - "Component_[4676074866703387598]": { + "Component_[9519328464240977334]": { "$type": "EditorLockComponent", - "Id": 4676074866703387598 + "Id": 9519328464240977334 }, - "Component_[5370716247379084795]": { - "$type": "SelectionComponent", - "Id": 5370716247379084795 - }, - "Component_[5949160048738230993]": { - "$type": "EditorVisibilityComponent", - "Id": 5949160048738230993 - }, - "Component_[7069757442037403546]": { - "$type": "EditorInspectorComponent", - "Id": 7069757442037403546, - "ComponentOrderEntryArray": [ - { - "ComponentId": 8406078395808436009 - }, - { - "ComponentId": 9469271735758494477, - "SortIndex": 1 - }, - { - "ComponentId": 4004895580151009916, - "SortIndex": 2 - }, - { - "ComponentId": 15695175229307539942, - "SortIndex": 3 - } - ] - }, - "Component_[8406078395808436009]": { - "$type": "{27F1E1A1-8D9D-4C3B-BD3A-AFB9762449C0} TransformComponent", - "Id": 8406078395808436009, - "Parent Entity": "ContainerEntity", - "Cached World Transform": { - "Translation": [ - -0.9528284072875977, - -3.110790252685547, - 1.4851393699645997 - ] - }, - "Cached World Transform Parent": "ContainerEntity", - "Transform Data": { - "Translate": [ - 0.013340950012207032, - -0.012479305267333985, - 0.0 - ] - } - }, - "Component_[94124159756316305]": { + "Component_[9694796263300215788]": { "$type": "EditorEntitySortComponent", - "Id": 94124159756316305 - }, - "Component_[9469271735758494477]": { - "$type": "AZ::Render::EditorMeshComponent", - "Id": 9469271735758494477, - "Controller": { - "Configuration": { - "ModelAsset": { - "assetId": { - "guid": "{9DCAD62C-7A35-5D7D-8276-870D646CD5E2}", - "subId": 272561654 - }, - "assetHint": "objects/cloth/environment/cloth_locked_edge.azmodel" - } - } - } + "Id": 9694796263300215788 } }, "IsDependencyReady": true From 03c8110d026689e01e87ec2e49e18bf32b30cbb6 Mon Sep 17 00:00:00 2001 From: Steve Pham <82231385+spham-amzn@users.noreply.github.com> Date: Wed, 30 Jun 2021 08:27:43 -0700 Subject: [PATCH 23/24] Replaced remaining CryTek copyright notices - Replaced 'CryTek' with 'Contributors to the Open 3D Engine Project' in ConsoleHelpGen.cpp (#1667) - Removed remaining 'Crytek Engine Source File.. Copyright (C), Crytek Studios' in various Editor source files - Replaced 'modifications by CryTek' and 'modifications by Amazon' with 'Modified from original' --- Code/Legacy/CrySystem/ConsoleHelpGen.cpp | 8 ++++---- Code/Sandbox/Editor/EditorDefs.h | 9 --------- Code/Sandbox/Editor/NewLevelDialog.h | 14 -------------- Code/Sandbox/Editor/NewTerrainDialog.h | 14 -------------- Code/Sandbox/Editor/Plugin.h | 9 --------- Code/Sandbox/Editor/PluginManager.h | 8 -------- Code/Sandbox/Editor/Settings.h | 14 -------------- Code/Sandbox/Editor/UsedResources.h | 11 ----------- Code/Sandbox/Editor/WaitProgress.h | 6 ------ .../Plugins/EditorCommon/EditorCommon.rc | Bin 2546 -> 2326 bytes .../Plugins/FFMPEGPlugin/FFMPEGPlugin.h | 5 +---- .../External/CubeMapGen/CBBoxInt32.cpp | 3 +-- .../External/CubeMapGen/CBBoxInt32.h | 3 +-- .../External/CubeMapGen/CCubeMapProcessor.cpp | 3 +-- .../External/CubeMapGen/CCubeMapProcessor.h | 3 +-- .../External/CubeMapGen/CImageSurface.cpp | 3 +-- .../External/CubeMapGen/VectorMacros.h | 2 +- 17 files changed, 11 insertions(+), 104 deletions(-) diff --git a/Code/Legacy/CrySystem/ConsoleHelpGen.cpp b/Code/Legacy/CrySystem/ConsoleHelpGen.cpp index 2845ca14ae..fb95164334 100644 --- a/Code/Legacy/CrySystem/ConsoleHelpGen.cpp +++ b/Code/Legacy/CrySystem/ConsoleHelpGen.cpp @@ -90,10 +90,10 @@ void CConsoleHelpGen::StartPage(FILE* f, const char* szPageName, const char* szP { fprintf(f, "%s", szPageName); fprintf(f, "", szPageDescription); - fprintf(f, ""); - fprintf(f, ""); - fprintf(f, ""); - fprintf(f, ""); + fprintf(f, ""); + fprintf(f, ""); + fprintf(f, ""); + fprintf(f, ""); fprintf(f, ""); fprintf(f, ""); fprintf(f, ""); diff --git a/Code/Sandbox/Editor/EditorDefs.h b/Code/Sandbox/Editor/EditorDefs.h index dc31c652f6..ac17cc926b 100644 --- a/Code/Sandbox/Editor/EditorDefs.h +++ b/Code/Sandbox/Editor/EditorDefs.h @@ -7,15 +7,6 @@ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios -// ------------------------------------------------------------------------- -// Created: 13/2/2003 by Timur. -// Description: Main header included by every file in Editor. -// -//////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_EDITORDEFS_H #define CRYINCLUDE_EDITOR_EDITORDEFS_H diff --git a/Code/Sandbox/Editor/NewLevelDialog.h b/Code/Sandbox/Editor/NewLevelDialog.h index 4a6fd64a00..d4f033d490 100644 --- a/Code/Sandbox/Editor/NewLevelDialog.h +++ b/Code/Sandbox/Editor/NewLevelDialog.h @@ -7,20 +7,6 @@ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2002. -// ------------------------------------------------------------------------- -// File name: newleveldialog.h -// Version: v1.00 -// Created: 24/7/2002 by Timur. -// Compilers: Visual Studio.NET -// Description: -// ------------------------------------------------------------------------- -// History: -// -//////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_NEWLEVELDIALOG_H #define CRYINCLUDE_EDITOR_NEWLEVELDIALOG_H diff --git a/Code/Sandbox/Editor/NewTerrainDialog.h b/Code/Sandbox/Editor/NewTerrainDialog.h index 7b6265e322..ef4723b0c0 100644 --- a/Code/Sandbox/Editor/NewTerrainDialog.h +++ b/Code/Sandbox/Editor/NewTerrainDialog.h @@ -5,20 +5,6 @@ * */ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2002. -// ------------------------------------------------------------------------- -// File name: newterraindialog.h -// Version: v1.00 -// Created: 24/7/2002 by Timur. -// Compilers: Visual Studio.NET -// Description: -// ------------------------------------------------------------------------- -// History: -// -//////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_NEWTERRAINDIALOG_H #define CRYINCLUDE_EDITOR_NEWTERRAINDIALOG_H diff --git a/Code/Sandbox/Editor/Plugin.h b/Code/Sandbox/Editor/Plugin.h index 1da0be8f63..f7e46d979f 100644 --- a/Code/Sandbox/Editor/Plugin.h +++ b/Code/Sandbox/Editor/Plugin.h @@ -7,15 +7,6 @@ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2001-2012 -// ------------------------------------------------------------------------- -// Created: 15/1/2003 by Timur. -// Description: Plugin architecture supporting classes -// -//////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_PLUGIN_H #define CRYINCLUDE_EDITOR_PLUGIN_H #include "Include/IEditorClassFactory.h" diff --git a/Code/Sandbox/Editor/PluginManager.h b/Code/Sandbox/Editor/PluginManager.h index 2cd0841f08..5f0600ec88 100644 --- a/Code/Sandbox/Editor/PluginManager.h +++ b/Code/Sandbox/Editor/PluginManager.h @@ -7,14 +7,6 @@ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2001-2012. -// ------------------------------------------------------------------------- -// Description: The plugin manager, central point for loading/unloading plugins -// -//////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_PLUGINMANAGER_H #define CRYINCLUDE_EDITOR_PLUGINMANAGER_H diff --git a/Code/Sandbox/Editor/Settings.h b/Code/Sandbox/Editor/Settings.h index 7618a11485..a4cfdf1163 100644 --- a/Code/Sandbox/Editor/Settings.h +++ b/Code/Sandbox/Editor/Settings.h @@ -7,20 +7,6 @@ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2002. -// ------------------------------------------------------------------------- -// File name: settings.h -// Version: v1.00 -// Created: 14/1/2003 by Timur. -// Compilers: Visual Studio.NET -// Description: General editor settings. -// ------------------------------------------------------------------------- -// History: -// -//////////////////////////////////////////////////////////////////////////// #ifndef CRYINCLUDE_EDITOR_SETTINGS_H #define CRYINCLUDE_EDITOR_SETTINGS_H #include "SettingsManager.h" diff --git a/Code/Sandbox/Editor/UsedResources.h b/Code/Sandbox/Editor/UsedResources.h index 13362f5472..93b42429c2 100644 --- a/Code/Sandbox/Editor/UsedResources.h +++ b/Code/Sandbox/Editor/UsedResources.h @@ -7,17 +7,6 @@ #pragma once -//////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2001-2012 -// ------------------------------------------------------------------------- -// File name: UsedResources.h -// Created: 28/11/2003 by Timur. -// Description: Class to gather used resources -// -//////////////////////////////////////////////////////////////////////////// - //! Class passed to resource gathering functions #ifndef CRYINCLUDE_EDITOR_USEDRESOURCES_H #define CRYINCLUDE_EDITOR_USEDRESOURCES_H diff --git a/Code/Sandbox/Editor/WaitProgress.h b/Code/Sandbox/Editor/WaitProgress.h index da04a053ef..e4e3a30873 100644 --- a/Code/Sandbox/Editor/WaitProgress.h +++ b/Code/Sandbox/Editor/WaitProgress.h @@ -8,12 +8,6 @@ #pragma once //////////////////////////////////////////////////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2002-2012. -// ------------------------------------------------------------------------- -// File name: waitprogress.h -// Created: 10/5/2002 by Timur. // Description: CWaitProgress class adds information about lengthy process // Usage: // diff --git a/Code/Sandbox/Plugins/EditorCommon/EditorCommon.rc b/Code/Sandbox/Plugins/EditorCommon/EditorCommon.rc index ebb41f11927a460fc3ac81fb7c4017efe93fe196..77deebb598990e925cf97758d98877e71ec79872 100644 GIT binary patch delta 135 zcmew)JWXiB1Qu0ihJ1!Rh7yJ%hD?SehEgCaAIL6dPyn+)WCla(WNubP-T#Medl@G?vCAowrG4^x7VXVq9CsK2ZK)q< delta 393 zcmaiwJqp4=6og0crx6RSCEG_lfSopKAxgjl#QbP5CJ>{bO|BpYY`ucub!@zXCvf%& zVjdvAB<+u1$UAC1eQXmqiHjXh#SXv1M$p#_B@X9w;4UNWz>(y?Gpc$6STAksA@ zF?_Bm7TnXb&l!r5j++(6G zJ6DurPFfQ%x?K~~XCxy_uoLi-xIRYcVIamSuhI~O4XrMF9V{fsVIRq TVGHBS!>RhsoV-rw6{y= diff --git a/Code/Sandbox/Plugins/FFMPEGPlugin/FFMPEGPlugin.h b/Code/Sandbox/Plugins/FFMPEGPlugin/FFMPEGPlugin.h index f16853cbe8..07119c6d6f 100644 --- a/Code/Sandbox/Plugins/FFMPEGPlugin/FFMPEGPlugin.h +++ b/Code/Sandbox/Plugins/FFMPEGPlugin/FFMPEGPlugin.h @@ -7,10 +7,7 @@ #pragma once -////////////////////////////////// CRYTEK //////////////////////////////// -// -// Crytek Engine Source File. -// Copyright (C), Crytek Studios, 2011. +//////////////////////////////////////////////////////////////////////////// // ------------------------------------------------------------------------- // File Name : FFMPEGPlugin.h // Author : Jaewon Jung diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.cpp b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.cpp index e8697c7c27..271013adef 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.cpp @@ -6,8 +6,7 @@ //============================================================================= // (C) 2005 ATI Research, Inc., All rights reserved. //============================================================================= -// modifications by Crytek GmbH -// modifications by Amazon +// Modified from original #include diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.h b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.h index 056cb25425..53f32f8cd5 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.h +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CBBoxInt32.h @@ -5,8 +5,7 @@ //============================================================================= // (C) 2005 ATI Research, Inc., All rights reserved. //============================================================================= -// modifications by Crytek GmbH -// modifications by Amazon +// Modified from original #pragma once diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp index df31067af0..8264003b0b 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.cpp @@ -1,8 +1,7 @@ //============================================================================= // (C) 2005 ATI Research, Inc., All rights reserved. //============================================================================= -// modifications by Crytek GmbH -// modifications by Amazon +// Modified from original #include #include "CCubeMapProcessor.h" diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.h b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.h index be54b98e6a..4a29e8621a 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.h +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CCubeMapProcessor.h @@ -6,8 +6,7 @@ //-------------------------------------------------------------------------------------- // (C) 2005 ATI Research, Inc., All rights reserved. //-------------------------------------------------------------------------------------- -// modifications by Crytek GmbH -// modifications by Amazon +// Modified from original #pragma once diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CImageSurface.cpp b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CImageSurface.cpp index 3b055699e2..592ada0910 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CImageSurface.cpp +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/CImageSurface.cpp @@ -12,8 +12,7 @@ //-------------------------------------------------------------------------------------- // (C) 2005 ATI Research, Inc., All rights reserved. //-------------------------------------------------------------------------------------- -// modifications by Crytek GmbH -// modifications by Amazon +// Modified from original #include diff --git a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/VectorMacros.h b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/VectorMacros.h index 7546457c79..37d15f1c1b 100644 --- a/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/VectorMacros.h +++ b/Gems/Atom/Asset/ImageProcessingAtom/External/CubeMapGen/VectorMacros.h @@ -15,7 +15,7 @@ //-------------------------------------------------------------------------------------- // (C) 2001-2005 ATI Research, Inc. All rights reserved. //-------------------------------------------------------------------------------------- -// modifications by Crytek GmbH +// Modified from original //disable warning about doubles being converted down to float #pragma warning (disable : 4244 ) From ed9232563d711320b4a41c5b81072e5244dd0a9a Mon Sep 17 00:00:00 2001 From: Jacob Hilliard <64656371+jcbhl@users.noreply.github.com> Date: Wed, 30 Jun 2021 08:51:32 -0700 Subject: [PATCH 24/24] [ATOM-15862] Fixing CPU profiler to save multiple regions within the same thread (#1636) Signed-off-by: Jacob Hilliard --- .../Code/Source/AuxGeom/AuxGeomDrawQueue.cpp | 1 - .../ProfilingCaptureSystemComponent.cpp | 16 +++-- .../RHI/Code/Include/Atom/RHI/CpuProfiler.h | 6 +- .../Code/Include/Atom/RHI/CpuProfilerImpl.h | 14 +++- .../RHI/Code/Source/RHI/CpuProfilerImpl.cpp | 64 +++++++++++++------ .../Include/Atom/Utils/ImGuiCpuProfiler.inl | 62 ++++++++++++------ 6 files changed, 111 insertions(+), 52 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/AuxGeomDrawQueue.cpp b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/AuxGeomDrawQueue.cpp index 2be6b562fc..0a1d6f5235 100644 --- a/Gems/Atom/Feature/Common/Code/Source/AuxGeom/AuxGeomDrawQueue.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/AuxGeom/AuxGeomDrawQueue.cpp @@ -649,7 +649,6 @@ namespace AZ int32_t viewProjOverrideIndex) { AZ_PROFILE_FUNCTION(AZ::Debug::ProfileCategory::AzRender); - AZ_ATOM_PROFILE_FUNCTION("AuxGeom", "AuxGeomDrawQueue: DrawPrimitiveCommon"); // grab a mutex lock for the rest of this function so that a commit cannot happen during it and // other threads can't add geometry during it diff --git a/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp index 113e28db3b..874d385df6 100644 --- a/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/ProfilingCaptureSystemComponent.cpp @@ -134,7 +134,7 @@ namespace AZ static void Reflect(AZ::ReflectContext* context); CpuProfilingStatisticsSerializer() = default; - CpuProfilingStatisticsSerializer(RHI::CpuProfiler::TimeRegionMap& timeRegionMap); + CpuProfilingStatisticsSerializer(const RHI::CpuProfiler::TimeRegionMap& timeRegionMap); AZStd::vector m_cpuProfilingStatisticsSerializerEntries; }; @@ -251,14 +251,17 @@ namespace AZ // --- CpuProfilingStatisticsSerializer --- - CpuProfilingStatisticsSerializer::CpuProfilingStatisticsSerializer(RHI::CpuProfiler::TimeRegionMap& timeRegionMap) + CpuProfilingStatisticsSerializer::CpuProfilingStatisticsSerializer(const RHI::CpuProfiler::TimeRegionMap& timeRegionMap) { // Create serializable entries - for (auto& treadEntry : timeRegionMap) + for (auto& threadEntry : timeRegionMap) { - for (auto& cachedRegionEntry : treadEntry.second) + for (auto& cachedRegionEntry : threadEntry.second) { - m_cpuProfilingStatisticsSerializerEntries.emplace_back(cachedRegionEntry.second); + m_cpuProfilingStatisticsSerializerEntries.insert( + m_cpuProfilingStatisticsSerializerEntries.end(), + cachedRegionEntry.second.begin(), + cachedRegionEntry.second.end()); } } } @@ -465,8 +468,7 @@ namespace AZ serializationSettings.m_keepDefaults = true; // Get time Cpu profiled time regions - RHI::CpuProfiler::TimeRegionMap timeRegionMap; - RHI::CpuProfiler::Get()->FlushTimeRegionMap(timeRegionMap); + const RHI::CpuProfiler::TimeRegionMap& timeRegionMap = RHI::CpuProfiler::Get()->GetTimeRegionMap(); CpuProfilingStatisticsSerializer serializer(timeRegionMap); const auto saveResult = JsonSerializationUtils::SaveObjectToFile(&serializer, diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfiler.h b/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfiler.h index e103116a8a..a9c8107e57 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfiler.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfiler.h @@ -60,7 +60,7 @@ namespace AZ class CpuProfiler { public: - using ThreadTimeRegionMap = AZStd::unordered_map; + using ThreadTimeRegionMap = AZStd::unordered_map>; using TimeRegionMap = AZStd::unordered_map; AZ_RTTI(CpuProfiler, "{127C1D0B-BE05-4E18-A8F6-24F3EED2ECA6}"); @@ -78,8 +78,8 @@ namespace AZ //! Ends a time region virtual void EndTimeRegion() = 0; - //! Flush cached regions from all threads to the passed parameter - virtual void FlushTimeRegionMap(TimeRegionMap& timeRegionMap) = 0; + //! Get the last frame's TimeRegionMap + virtual const TimeRegionMap& GetTimeRegionMap() const = 0; //! Enable/Disable the CpuProfiler virtual void SetProfilerEnabled(bool enabled) = 0; diff --git a/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfilerImpl.h b/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfilerImpl.h index f6e7467949..56de2a0395 100644 --- a/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfilerImpl.h +++ b/Gems/Atom/RHI/Code/Include/Atom/RHI/CpuProfilerImpl.h @@ -10,10 +10,13 @@ #include #include +#include #include #include #include +#include + namespace AZ { namespace RHI @@ -70,6 +73,9 @@ namespace AZ // When the thread is terminated, it will flag itself for deletion AZStd::atomic_bool m_deleteFlag = false; + + // Keep track of the regions that have hit the size limit so we don't have to lock to check + AZStd::map m_hitSizeLimitMap; }; //! CpuProfiler will keep track of the registered threads, and @@ -77,6 +83,7 @@ namespace AZ //! cached regions, which are stored on a per thread frequency. class CpuProfilerImpl final : public CpuProfiler + , public FrameEventBus::Handler { friend class CpuTimingLocalStorage; @@ -92,10 +99,12 @@ namespace AZ //! Unregisters the CpuProfilerImpl instance from the interface void Shutdown(); + void OnFrameBegin(); + //! CpuProfiler overrides... void BeginTimeRegion(TimeRegion& timeRegion) final; void EndTimeRegion() final; - void FlushTimeRegionMap(TimeRegionMap& timeRegionMap) final; + const TimeRegionMap& GetTimeRegionMap() const final; void SetProfilerEnabled(bool enabled) final; bool IsProfilerEnabled() const final; @@ -104,8 +113,7 @@ namespace AZ void RegisterThreadStorage(); // ThreadId -> ThreadTimeRegionMap - // When the user requests the cached time regions from the system, it will use this map as an intermediate - // storage point to flush each thread's cached regions into this map. + // On the start of each frame, this map will be updated with the last frame's profiling data. TimeRegionMap m_timeRegionMap; // Set of registered threads when created diff --git a/Gems/Atom/RHI/Code/Source/RHI/CpuProfilerImpl.cpp b/Gems/Atom/RHI/Code/Source/RHI/CpuProfilerImpl.cpp index 12690b3ba9..d494d6735a 100644 --- a/Gems/Atom/RHI/Code/Source/RHI/CpuProfilerImpl.cpp +++ b/Gems/Atom/RHI/Code/Source/RHI/CpuProfilerImpl.cpp @@ -11,6 +11,7 @@ #include #include +#include namespace AZ { @@ -78,6 +79,8 @@ namespace AZ { Interface::Register(this); m_initialized = true; + Device* rhiDevice = GetRHIDevice().get(); + FrameEventBus::Handler::BusConnect(rhiDevice); } void CpuProfilerImpl::Shutdown() @@ -98,6 +101,7 @@ namespace AZ m_registeredThreads.clear(); m_timeRegionMap.clear(); m_initialized = false; + FrameEventBus::Handler::BusDisconnect(); } void CpuProfilerImpl::BeginTimeRegion(TimeRegion& timeRegion) @@ -132,26 +136,9 @@ namespace AZ } } - void CpuProfilerImpl::FlushTimeRegionMap(TimeRegionMap& timeRegionMap) + const CpuProfiler::TimeRegionMap& CpuProfilerImpl::GetTimeRegionMap() const { - AZStd::unique_lock lock(m_threadRegisterMutex); - - // Iterate through all the threads, and collect the thread's cached time regions - for (auto& threadLocal : m_registeredThreads) - { - CpuProfiler::ThreadTimeRegionMap& threadMapEntry = m_timeRegionMap[threadLocal->m_executingThreadId]; - threadLocal->TryFlushCachedMap(threadMapEntry); - } - - // Clear all TLS that flagged themselves to be deleted, meaning that the thread is already terminated - AZStd::remove_if(m_registeredThreads.begin(), m_registeredThreads.end(), [](const RHI::Ptr& thread) - { - return thread->m_deleteFlag.load(); - }); - - // Flush all the cached time regions to the provided map - timeRegionMap = AZStd::move(m_timeRegionMap); - m_timeRegionMap.clear(); + return m_timeRegionMap; } void CpuProfilerImpl::SetProfilerEnabled(bool enabled) @@ -186,6 +173,32 @@ namespace AZ return m_enabled; } + void CpuProfilerImpl::OnFrameBegin() + { + if (!m_enabled) + { + return; + } + AZStd::unique_lock lock(m_threadRegisterMutex); + + // Iterate through all the threads, and collect the thread's cached time regions + TimeRegionMap newMap; + for (auto& threadLocal : m_registeredThreads) + { + ThreadTimeRegionMap& threadMapEntry = newMap[threadLocal->m_executingThreadId]; + threadLocal->TryFlushCachedMap(threadMapEntry); + } + + // Clear all TLS that flagged themselves to be deleted, meaning that the thread is already terminated + AZStd::remove_if(m_registeredThreads.begin(), m_registeredThreads.end(), [](const RHI::Ptr& thread) + { + return thread->m_deleteFlag.load(); + }); + + // Update our saved time regions to the last frame's collected data + m_timeRegionMap = AZStd::move(newMap); + } + void CpuProfilerImpl::RegisterThreadStorage() { @@ -261,6 +274,10 @@ namespace AZ // Gets called when region ends and all data is set void CpuTimingLocalStorage::AddCachedRegion(CachedTimeRegion&& timeRegionCached) { + if (m_hitSizeLimitMap[timeRegionCached.m_groupRegionName->m_regionName]) + { + return; + } // Add an entry to the cached region m_cachedTimeRegions.push_back(timeRegionCached); @@ -276,7 +293,13 @@ namespace AZ // Add the cached regions to the map for (auto& cachedTimeRegion : m_cachedTimeRegions) { - m_cachedTimeRegionMap[cachedTimeRegion.m_groupRegionName->m_regionName] = cachedTimeRegion; + const AZStd::string regionName = cachedTimeRegion.m_groupRegionName->m_regionName; + AZStd::vector& regionVec = m_cachedTimeRegionMap[regionName]; + regionVec.push_back(cachedTimeRegion); + if (regionVec.size() >= TimeRegionStackSize) + { + m_hitSizeLimitMap[cachedTimeRegion.m_groupRegionName->m_regionName] = true; + } } // Clear the cached regions @@ -295,6 +318,7 @@ namespace AZ { cachedTimeRegionMap = AZStd::move(m_cachedTimeRegionMap); m_cachedTimeRegionMap.clear(); + m_hitSizeLimitMap.clear(); } m_cachedTimeRegionMutex.unlock(); } diff --git a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl index eb62a6f092..9b16ae81cf 100644 --- a/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl +++ b/Gems/Atom/Utils/Code/Include/Atom/Utils/ImGuiCpuProfiler.inl @@ -9,6 +9,7 @@ #include #include #include +#include namespace AZ { @@ -30,6 +31,13 @@ namespace AZ const AZStd::string threadIdText = AZStd::string::format("Thread: %zu", static_cast(threadId)); ImGui::Text(threadIdText.c_str()); } + inline float TicksToMs(AZStd::sys_time_t ticks) + { + // Note: converting to microseconds integer before converting to milliseconds float + const AZStd::sys_time_t ticksPerSecond = AZStd::GetTimeTicksPerSecond(); + AZ_Assert(ticksPerSecond >= 1000, "Error in converting ticks to ms, expected ticksPerSecond >= 1000"); + return static_cast((ticks * 1000) / (ticksPerSecond / 1000)) / 1000.0f; + } } inline void ImGuiCpuProfiler::Draw(bool& keepDrawing, const AZ::RHI::CpuTimingStatistics& currentCpuTimingStatistics) @@ -73,9 +81,7 @@ namespace AZ const auto ShowTimeInMs = [ticksPerSecond](AZStd::sys_time_t duration) { - // Note: converting to microseconds integer before converting to milliseconds float - const float timeInMs = static_cast((duration * 1000) / (ticksPerSecond / 1000)) / 1000.0f; - ImGui::Text("%.2f ms", timeInMs); + ImGui::Text("%.2f ms", CpuProfilerImGuiHelper::TicksToMs(duration)); }; const auto ShowRow = [ticksPerSecond, &ShowTimeInMs](const char* regionLabel, AZStd::sys_time_t duration) @@ -117,19 +123,36 @@ namespace AZ ImGui::NextColumn(); // Draw the thread count label - const AZStd::string threadLabel = AZStd::string::format("Threads: %u", static_cast(regions.size())); + AZStd::sys_time_t totalTime = 0; + AZStd::set threads; + for (ThreadRegionEntry& entry : regions) // Find the thread count and total execution time for all threads + { + threads.insert(entry.m_threadId); + totalTime += entry.m_endTick - entry.m_startTick; + } + const AZStd::string threadLabel = AZStd::string::format("Threads: %u", static_cast(threads.size())); ImGui::Text(threadLabel.c_str()); DrawRegionHoverMarker(regions); ImGui::NextColumn(); - // Draw the region time label - ShowTimeInMs(duration); + // Draw the overall invocation count + const AZStd::string invocationLabel = AZStd::string::format("Total calls: %u", static_cast(regions.size())); + ImGui::Text(invocationLabel.c_str()); + DrawRegionHoverMarker(regions); + ImGui::NextColumn(); + + // Draw the time labels (max and then total) + const AZStd::string timeLabel = + AZStd::string::format("%.2f ms max, %.2f ms total", + CpuProfilerImGuiHelper::TicksToMs(duration), + CpuProfilerImGuiHelper::TicksToMs(totalTime)); + ImGui::Text(timeLabel.c_str()); ImGui::NextColumn(); }; // Set column settings. ImGui::Columns(2, "view", false); - ImGui::SetColumnWidth(0, 540.0f); + ImGui::SetColumnWidth(0, 660.0f); ImGui::SetColumnWidth(1, 100.0f); ShowRow("Frame to Frame Time", cpuTimingStatistics.m_frameToFrameTime); @@ -152,14 +175,15 @@ namespace AZ // Draw the regions if (ImGui::TreeNodeEx(timeRegionMapEntry.first.c_str(), ImGuiTreeNodeFlags_DefaultOpen)) { - ImGui::Columns(3, "view", false); + ImGui::Columns(4, "view", false); ImGui::SetColumnWidth(0, 400.0f); ImGui::SetColumnWidth(1, 100.0f); - ImGui::SetColumnWidth(2, 80.0f); + ImGui::SetColumnWidth(2, 150.0f); + ImGui::SetColumnWidth(3, 240.0f); for (auto& reigon : timeRegionMapEntry.second) { - // Calculate the thread with the longest execution time + // Calculate the region with the longest execution time AZStd::sys_time_t threadExecutionElapsed = 0; for (ThreadRegionEntry& entry : reigon.second) { @@ -209,19 +233,21 @@ namespace AZ m_groupRegionMap.clear(); // Get the latest TimeRegionMap - RHI::CpuProfiler::TimeRegionMap timeRegionMap; - RHI::CpuProfiler::Get()->FlushTimeRegionMap(timeRegionMap); + const RHI::CpuProfiler::TimeRegionMap& timeRegionMap = RHI::CpuProfiler::Get()->GetTimeRegionMap(); // Iterate through all the cached regions from all threads, and add the entries to this map - for (auto& treadEntry : timeRegionMap) + for (auto& threadEntry : timeRegionMap) { - for (auto& cachedRegionEntry : treadEntry.second) + for (auto& cachedRegionEntry : threadEntry.second) { - RegionEntryMap& groupRegionEntry = m_groupRegionMap[cachedRegionEntry.second.m_groupRegionName->m_groupName]; - AZStd::vector& regionArray = groupRegionEntry[cachedRegionEntry.second.m_groupRegionName->m_regionName]; - RHI::CachedTimeRegion& cachedRegion = cachedRegionEntry.second; + const AZStd::string& regionName = cachedRegionEntry.first; + for (auto& cachedRegion : cachedRegionEntry.second) + { + const AZStd::string& groupName = cachedRegion.m_groupRegionName->m_groupName; - regionArray.push_back({ treadEntry.first, cachedRegion.m_startTick, cachedRegion.m_endTick }); + m_groupRegionMap[groupName][regionName].push_back( + { threadEntry.first, cachedRegion.m_startTick, cachedRegion.m_endTick }); + } } } }