Merge branch 'stabilization/2106' into redcode/SPEC-7563
This commit is contained in:
@@ -38,4 +38,30 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
COMPONENT
|
||||
Sandbox
|
||||
)
|
||||
endif()
|
||||
|
||||
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()
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,104 @@
|
||||
"""
|
||||
Copyright (c) Contributors to the Open 3D Engine Project
|
||||
|
||||
SPDX-License-Identifier: Apache-2.0 OR MIT
|
||||
|
||||
|
||||
UI Apps: AutomatedTesting.GameLauncher
|
||||
Launch AutomatedTesting.GameLauncher with Simple level
|
||||
Test should run in both gpu and non gpu
|
||||
"""
|
||||
|
||||
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_sandbox
|
||||
class TestRemoteConsoleLoadLevelWorks(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_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)
|
||||
|
||||
def launch_and_validate_results_launcher(
|
||||
self,
|
||||
launcher,
|
||||
level,
|
||||
remote_console_instance,
|
||||
expected_lines,
|
||||
null_renderer=False,
|
||||
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}"
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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())
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Binary file not shown.
@@ -7,10 +7,7 @@
|
||||
|
||||
|
||||
#pragma once
|
||||
////////////////////////////////// CRYTEK ////////////////////////////////
|
||||
//
|
||||
// Crytek Engine Source File.
|
||||
// Copyright (C), Crytek Studios, 2011.
|
||||
////////////////////////////////////////////////////////////////////////////
|
||||
// -------------------------------------------------------------------------
|
||||
// File Name : FFMPEGPlugin.h
|
||||
// Author : Jaewon Jung
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
//
|
||||
|
||||
@@ -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());
|
||||
|
||||
@@ -1,24 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<title>Helpers Icon</title>
|
||||
<defs>
|
||||
<circle id="path-1" cx="8" cy="8" r="8"></circle>
|
||||
<path d="M8.59736328,10.1821289 L8.59736328,9.79394531 C8.59736328,9.07617188 8.86835937,8.71728516 9.84248047,8.15332031 C10.8751953,7.54541016 11.4098633,6.77636719 11.4098633,5.67041016 C11.4098633,4.00048828 10.0255859,2.8359375 7.93085937,2.8359375 C5.68232422,2.8359375 4.40791016,4.09570312 4.37128906,5.89746094 L6.35615234,5.89746094 C6.40009766,5.06982422 6.95673828,4.53515625 7.79902344,4.53515625 C8.63398437,4.53515625 9.190625,5.04052734 9.190625,5.73632812 C9.190625,6.43212891 8.90498047,6.79101562 7.96015625,7.35498047 C6.94941406,7.94824219 6.54658203,8.60742188 6.64179687,9.75732422 L6.65644531,10.1821289 L8.59736328,10.1821289 Z M7.70380859,13.7124023 C8.52412109,13.7124023 9.02949219,13.2436523 9.02949219,12.4892578 C9.02949219,11.7275391 8.52412109,11.2587891 7.70380859,11.2587891 C6.88349609,11.2587891 6.37080078,11.7275391 6.37080078,12.4892578 C6.37080078,13.2436523 6.88349609,13.7124023 7.70380859,13.7124023 Z" id="path-3"></path>
|
||||
</defs>
|
||||
<g id="Symbols" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="2nd-ToolBar-v2-(Perspective)-3" transform="translate(-1161.000000, -7.000000)">
|
||||
<g id="2nd-ToolBar-buttons-on-right" transform="translate(1076.000000, 5.000000)">
|
||||
<g id="Helpers-Icon" transform="translate(85.000000, 2.000000)">
|
||||
<mask id="mask-2" fill="white">
|
||||
<use xlink:href="#path-1"></use>
|
||||
</mask>
|
||||
<use id="Oval" fill="#FFFFFF" xlink:href="#path-1"></use>
|
||||
<g id="?" fill-rule="nonzero" mask="url(#mask-2)">
|
||||
<use fill="#909090" xlink:href="#path-3"></use>
|
||||
<use fill="#3F3F3F" xlink:href="#path-3"></use>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 25.3.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" style="enable-background:new 0 0 16 16;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
|
||||
</style>
|
||||
<path class="st0" d="M8,5.511C6.626,5.511,5.511,6.626,5.511,8S6.626,10.489,8,10.489S10.489,9.374,10.489,8S9.374,5.511,8,5.511z
|
||||
M8,9.694C7.064,9.694,6.306,8.936,6.306,8S7.064,6.306,8,6.306S9.694,7.064,9.694,8S8.936,9.694,8,9.694z"/>
|
||||
<path class="st0" d="M8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s8-3.582,8-8S12.418,0,8,0z M8,12.463c-4,0-7.242-2.915-7.242-4.463
|
||||
S4,3.537,8,3.537c4,0,7.242,2.915,7.242,4.463S12,12.463,8,12.463z"/>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 868 B |
@@ -90,10 +90,10 @@ void CConsoleHelpGen::StartPage(FILE* f, const char* szPageName, const char* szP
|
||||
{
|
||||
fprintf(f, "<HTML><HEAD><TITLE>%s</TITLE><META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=iso-8859-1\">", szPageName);
|
||||
fprintf(f, "<META NAME=\"DESCRIPTION\" CONTENT=\"%s\">", szPageDescription);
|
||||
fprintf(f, "<META NAME=\"author\" content=\"Crytek\">");
|
||||
fprintf(f, "<META NAME=\"copyright\" CONTENT=\"Crytek\">");
|
||||
fprintf(f, "<META NAME=\"KEYWORDS\" CONTENT=\"CryEngine,Crytek\">");
|
||||
fprintf(f, "<META NAME=\"distribution\" CONTENT=\"Crytek\">");
|
||||
fprintf(f, "<META NAME=\"author\" content=\"Contributors to the Open 3D Engine Project\">");
|
||||
fprintf(f, "<META NAME=\"copyright\" CONTENT=\"Contributors to the Open 3D Engine Project\">");
|
||||
fprintf(f, "<META NAME=\"KEYWORDS\" CONTENT=\"O3DE\">");
|
||||
fprintf(f, "<META NAME=\"distribution\" CONTENT=\"Contributors to the Open 3D Engine Project\">");
|
||||
fprintf(f, "<META NAME=\"revisit-after\" CONTENT=\"10 days\">");
|
||||
fprintf(f, "<META NAME=\"robots\" CONTENT=\"INDEX, NOFOLLOW\">");
|
||||
fprintf(f, "</HEAD><BODY bgcolor=#ffffff leftmargin=0 topmargin=0 alink=#0000ff link=#0000ff vlink=#0000ff text=#000000>");
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -14,12 +14,12 @@ namespace AWSCore
|
||||
{
|
||||
constexpr const char* AWSAttributionConsentDialogTitle = "AWS Core Gem Usage Agreement";
|
||||
constexpr const char* AWSAttributionConsentDialogMessage = "<nobr>The AWS Core Gem has detected credentials for an Amazon Web Services account for this</nobr><br>\
|
||||
<nobr>instance of O3DE. <a href=\"https://docs.o3de.org/docs/user-guide/gems/reference/aws/aws-core/configuring-credentials\">Click here</a> to learn more about AWS integration, including how to</nobr><br>\
|
||||
<nobr>instance of O3DE. <a href=\"https://o3de.org/docs/user-guide/gems/reference/aws/aws-core/configuring-credentials\">Click here</a> to learn more about AWS integration, including how to</nobr><br>\
|
||||
<nobr>manage your AWS credentials.</nobr><br><br>\
|
||||
<nobr>Please note: when credentials are detected, AWS Core Gem sends telemetry data to AWS,</nobr><br>\
|
||||
<nobr>which helps us improve AWS services for O3DE. You can change this setting below, and at</nobr><br>\
|
||||
<nobr>any time in Settings: Global Preferences. Data sent is subject to the <a href=\"https://aws.amazon.com/privacy\">AWS Privacy Policy</a>.</nobr><br>\
|
||||
<nobr><a href=\"https://docs.o3de.org/docs/user-guide/gems/reference/aws/aws-core/telemetry-data-collection\">Click here</a> to learn more about what data is sent to AWS.</nobr>";
|
||||
<nobr><a href=\"https://o3de.org/docs/user-guide/gems/reference/aws/aws-core/telemetry-data-collection\">Click here</a> to learn more about what data is sent to AWS.</nobr>";
|
||||
|
||||
constexpr const char* AWSAttributionConsentDialogCheckboxText = "Please share the information about my use of AWS Core Gem with AWS.";
|
||||
|
||||
|
||||
@@ -6,8 +6,7 @@
|
||||
//=============================================================================
|
||||
// (C) 2005 ATI Research, Inc., All rights reserved.
|
||||
//=============================================================================
|
||||
// modifications by Crytek GmbH
|
||||
// modifications by Amazon
|
||||
// Modified from original
|
||||
|
||||
#include <ImageProcessing_precompiled.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
|
||||
|
||||
|
||||
+1
-2
@@ -1,8 +1,7 @@
|
||||
//=============================================================================
|
||||
// (C) 2005 ATI Research, Inc., All rights reserved.
|
||||
//=============================================================================
|
||||
// modifications by Crytek GmbH
|
||||
// modifications by Amazon
|
||||
// Modified from original
|
||||
|
||||
#include <ImageProcessing_precompiled.h>
|
||||
#include "CCubeMapProcessor.h"
|
||||
|
||||
+1
-2
@@ -6,8 +6,7 @@
|
||||
//--------------------------------------------------------------------------------------
|
||||
// (C) 2005 ATI Research, Inc., All rights reserved.
|
||||
//--------------------------------------------------------------------------------------
|
||||
// modifications by Crytek GmbH
|
||||
// modifications by Amazon
|
||||
// Modified from original
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
@@ -12,8 +12,7 @@
|
||||
//--------------------------------------------------------------------------------------
|
||||
// (C) 2005 ATI Research, Inc., All rights reserved.
|
||||
//--------------------------------------------------------------------------------------
|
||||
// modifications by Crytek GmbH
|
||||
// modifications by Amazon
|
||||
// Modified from original
|
||||
|
||||
#include <ImageProcessing_precompiled.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 )
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <Atom/Features/Math/FilterPassSrg.azsli>
|
||||
#include <Atom/Features/Shadow/ShadowmapAtlasLib.azsli>
|
||||
|
||||
[numthreads(8,8,1)]
|
||||
[numthreads(16,16,1)]
|
||||
void MainCS(uint3 dispatchId: SV_DispatchThreadID)
|
||||
{
|
||||
const float3 inputSize = GetImageSize(FilterPassSrg::m_inputImage);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <Atom/Features/Math/FilterPassSrg.azsli>
|
||||
#include <Atom/Features/Shadow/ShadowmapAtlasLib.azsli>
|
||||
|
||||
[numthreads(8,8,1)]
|
||||
[numthreads(16,16,1)]
|
||||
void MainCS(uint3 dispatchId: SV_DispatchThreadID)
|
||||
{
|
||||
const float3 inputSize = GetImageSize(FilterPassSrg::m_inputImage);
|
||||
|
||||
@@ -28,7 +28,7 @@ ShaderResourceGroup PassSrg : SRG_PerPass_WithFallback
|
||||
StructuredBuffer<FilterParameter> m_filterParameters;
|
||||
}
|
||||
|
||||
[numthreads(8,8,1)]
|
||||
[numthreads(16,16,1)]
|
||||
void MainCS(uint3 dispatchId: SV_DispatchThreadID)
|
||||
{
|
||||
const float3 inputSize = GetImageSize(PassSrg::m_inputShadowmap);
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<CpuProfilingStatisticsSerializerEntry> 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,
|
||||
|
||||
@@ -60,7 +60,7 @@ namespace AZ
|
||||
class CpuProfiler
|
||||
{
|
||||
public:
|
||||
using ThreadTimeRegionMap = AZStd::unordered_map<AZStd::string, CachedTimeRegion>;
|
||||
using ThreadTimeRegionMap = AZStd::unordered_map<AZStd::string, AZStd::vector<CachedTimeRegion>>;
|
||||
using TimeRegionMap = AZStd::unordered_map<AZStd::thread_id, ThreadTimeRegionMap>;
|
||||
|
||||
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;
|
||||
|
||||
@@ -10,10 +10,13 @@
|
||||
#include <Atom/RHI.Reflect/Base.h>
|
||||
|
||||
#include <AzCore/Memory/OSAllocator.h>
|
||||
#include <AzCore/std/containers/map.h>
|
||||
#include <AzCore/std/parallel/mutex.h>
|
||||
#include <AzCore/std/parallel/shared_mutex.h>
|
||||
#include <AzCore/std/smart_ptr/intrusive_refcount.h>
|
||||
|
||||
#include <Atom/RHI/FrameEventBus.h>
|
||||
|
||||
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<AZStd::string, bool> 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
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
#include <AzCore/std/smart_ptr/shared_ptr.h>
|
||||
|
||||
#include <AzCore/Debug/Timer.h>
|
||||
#include <Atom/RHI/RHIUtils.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
@@ -78,6 +79,8 @@ namespace AZ
|
||||
{
|
||||
Interface<CpuProfiler>::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<AZStd::mutex> 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<CpuTimingLocalStorage>& 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<AZStd::mutex> 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<CpuTimingLocalStorage>& 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<CachedTimeRegion>& 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();
|
||||
}
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include <Atom/RPI.Public/RPISystemInterface.h>
|
||||
#include <AzCore/IO/Path/Path_fwd.h>
|
||||
#include <AzCore/std/time.h>
|
||||
#include <AzCore/std/containers/set.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
@@ -30,6 +31,13 @@ namespace AZ
|
||||
const AZStd::string threadIdText = AZStd::string::format("Thread: %zu", static_cast<size_t>(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<float>((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<float>((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<uint32_t>(regions.size()));
|
||||
AZStd::sys_time_t totalTime = 0;
|
||||
AZStd::set<AZStd::thread_id> 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<uint32_t>(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<uint32_t>(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<ThreadRegionEntry>& 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 });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -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;
|
||||
|
||||
+14
-3
@@ -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<Data::AssetData> asset)
|
||||
|
||||
+2
@@ -47,6 +47,8 @@ namespace AZ
|
||||
Data::Asset<RPI::StreamingImageAsset> m_bakedDistanceTextureAsset;
|
||||
Data::Asset<RPI::StreamingImageAsset> m_bakedRelocationTextureAsset;
|
||||
Data::Asset<RPI::StreamingImageAsset> m_bakedClassificationTextureAsset;
|
||||
|
||||
AZ::u64 m_entityId{ EntityId::InvalidEntityId };
|
||||
};
|
||||
|
||||
class DiffuseProbeGridComponentController final
|
||||
|
||||
+3
@@ -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()
|
||||
|
||||
+6
-1
@@ -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());
|
||||
|
||||
+1
@@ -35,6 +35,7 @@ namespace AZ
|
||||
void OpenMaterialEditor() const;
|
||||
void SetDefaultAsset();
|
||||
void Clear();
|
||||
void ClearOverrides();
|
||||
void OpenMaterialExporter();
|
||||
void OpenMaterialInspector();
|
||||
void OpenUvNameMapInspector();
|
||||
|
||||
+1
@@ -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
|
||||
|
||||
+15
-3
@@ -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));
|
||||
|
||||
+7
-6
@@ -14,6 +14,7 @@
|
||||
#include <Atom/Feature/ReflectionProbe/ReflectionProbeFeatureProcessorInterface.h>
|
||||
#include <Atom/RPI.Public/Model/Model.h>
|
||||
#include <LmbrCentral/Shape/BoxShapeComponentBus.h>
|
||||
#include <ReflectionProbe/ReflectionProbeComponentConstants.h>
|
||||
|
||||
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;
|
||||
|
||||
+7
@@ -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);
|
||||
|
||||
@@ -113,6 +113,12 @@ namespace Multiplayer
|
||||
{
|
||||
console->PerformCommand("disconnect");
|
||||
}
|
||||
|
||||
AZ::Interface<INetworkEntityManager>::Get()->ClearAllEntities();
|
||||
|
||||
// Rebuild the library to clear temporary in-memory spawnable assets
|
||||
AZ::Interface<INetworkSpawnableLibrary>::Get()->BuildSpawnablesList();
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -235,7 +241,5 @@ namespace Multiplayer
|
||||
|
||||
void MultiplayerEditorSystemComponent::OnGameEntitiesReset()
|
||||
{
|
||||
// Rebuild the library to clear temporary in-memory spawnable assets
|
||||
AZ::Interface<INetworkSpawnableLibrary>::Get()->BuildSpawnablesList();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -32,9 +32,9 @@ Setup will install [WixBundleName] on your computer. Click install to continue,
|
||||
<String Id="ModifyCloseButton">&Close</String>
|
||||
|
||||
<!-- action progress page -->
|
||||
<String Id="ProgressHeader">Installing @CPACK_PACKAGE_FULL_NAME@...</String>
|
||||
<String Id="ProgressLabel">Processing:</String>
|
||||
<String Id="OverallProgressPackageText">Initializing...</String>
|
||||
<String Id="ProgressHeader">Processing @CPACK_PACKAGE_FULL_NAME@...</String>
|
||||
<String Id="CacheProgressLabel">Caching Progress</String>
|
||||
<String Id="ExecuteProgressLabel">Execution Progress</String>
|
||||
<String Id="ProgressCancelButton">&Cancel</String>
|
||||
|
||||
<!-- final page (success state) -->
|
||||
|
||||
@@ -54,9 +54,13 @@
|
||||
<Page Name="Progress">
|
||||
<Text X="38" Y="142" Width="-42" Height="34" FontId="0" DisablePrefix="yes">#(loc.ProgressHeader)</Text>
|
||||
|
||||
<Text X="42" Y="202" Width="70" Height="18" FontId="1" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
|
||||
<Text Name="OverallProgressPackageText" X="116" Y="202" Width="-42" Height="18" FontId="2" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
|
||||
<Progressbar Name="OverallCalculatedProgressbar" X="42" Y="230" Width="-90" Height="20" />
|
||||
<Text X="42" Y="202" Width="-45" Height="18" FontId="1" DisablePrefix="yes">#(loc.CacheProgressLabel)</Text>
|
||||
<Progressbar Name="CacheProgressbar" X="42" Y="230" Width="-90" Height="20" />
|
||||
<Text Name="CacheProgressText" X="-45" Y="232" Width="32" Height="18" FontId="2" DisablePrefix="yes"/>
|
||||
|
||||
<Text X="42" Y="262" Width="-45" Height="18" FontId="1" DisablePrefix="yes">#(loc.ExecuteProgressLabel)</Text>
|
||||
<Progressbar Name="ExecuteProgressbar" X="42" Y="290" Width="-90" Height="20" />
|
||||
<Text Name="ExecuteProgressText" X="-45" Y="292" Width="32" Height="18" FontId="2" DisablePrefix="yes"/>
|
||||
|
||||
<Text X="0" Y="426" Width="672" Height="46" FontId="3" HideWhenDisabled="yes" />
|
||||
<Button Name="ProgressCancelButton" X="-22" Y="-10" Width="80" Height="24" TabStop="yes" FontId="2">#(loc.ProgressCancelButton)</Button>
|
||||
|
||||
Reference in New Issue
Block a user