UX Workflow improvements for Physics Materials (#1237)

- Added button to PhysX Collider Component in PhysX Mesh's field to open FBX Settings.
- Added button Material Selection to open the physics material library in Asset Editor.
- Default Material in PhysX configuration is read only and consistent with the text in combo boxes.
- Material configuration field "Surface Type" renamed to "Name"
- Fixed bug in EditorColliderComponent where the material selection was not updated when changing the library.
- Fixed bug where the materials selection was not set to default when a physics material from the asset was not found in the library.
- Added attributes 'BrowseButtonEnabled' and 'BrowseButtonVisible' to PropertyAssetCtrl.
- Updated physx configuration setreg files of AutomatedTesting project.
This commit is contained in:
Aaron Ruiz Mora
2021-06-10 16:36:38 +01:00
committed by GitHub
parent 2ede3c3dc3
commit 7a053d82e1
22 changed files with 127 additions and 37 deletions
@@ -17,6 +17,7 @@
#include <AzCore/IO/GenericStreams.h>
#include <AzCore/IO/FileIO.h>
#include <AzCore/Serialization/Utils.h>
#include <AzCore/Serialization/EditContext.h>
#include <PhysX/MeshAsset.h>
#include <PhysX/SystemComponentBus.h>
#include <Source/Pipeline/MeshAssetHandler.h>
@@ -158,6 +159,27 @@ namespace PhysX
}
}
void MeshAsset::Reflect(AZ::ReflectContext* context)
{
MeshAssetData::Reflect(context);
if (auto* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
{
serializeContext->Class<MeshAsset>()
->Field("MeshAssetData", &MeshAsset::m_assetData)
;
// Note: This class needs to have edit context reflection so PropertyAssetCtrl::OnEditButtonClicked
// can open the asset with the preferred asset editor (FBX Settings).
if (auto* editContext = serializeContext->GetEditContext())
{
editContext->Class<MeshAsset>("PhysX Mesh Asset", "")
->ClassElement(AZ::Edit::ClassElements::EditorData, "")
;
}
}
}
void AssetColliderConfiguration::Reflect(AZ::ReflectContext* context)
{
if (AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))