From 4bb93e4c94a5aaa88841d1d208cd9ad126ee3eeb Mon Sep 17 00:00:00 2001 From: santorac <55155825+santorac@users.noreply.github.com> Date: Thu, 3 Feb 2022 14:58:03 -0800 Subject: [PATCH 1/4] Removed unnecessary MaterialSourceData::Property class. This wrapper used to be needed in order to bind the custom JsonMaterialPropertyValueSerializer back when property values were represented by AZStd::any. Now that property values have a custom MaterialPropertyValue type, the wrapper class is no longer needed. Signed-off-by: santorac <55155825+santorac@users.noreply.github.com> --- .../MaterialConverterSystemComponent.cpp | 14 ++-- .../RPI.Edit/Material/MaterialSourceData.h | 9 +-- .../MaterialPropertyValueSerializer.cpp | 68 +++++++++---------- .../RPI.Edit/Material/MaterialSourceData.cpp | 16 ++--- .../Material/MaterialSourceDataTests.cpp | 32 ++++----- .../Code/Source/Document/MaterialDocument.cpp | 2 +- .../Material/EditorMaterialComponentUtil.cpp | 2 +- 7 files changed, 66 insertions(+), 77 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp index d5096d7a0b..835aa90ceb 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp @@ -101,7 +101,7 @@ namespace AZ if (assetFound) { - properties["textureMap"].m_value = texturePath; + properties["textureMap"] = texturePath; } else if (!texturePath.empty()) { @@ -120,7 +120,7 @@ namespace AZ { anyPBRInUse = true; handleTexture("baseColor", SceneAPI::DataTypes::IMaterialData::TextureMapType::BaseColor); - sourceData.m_properties["baseColor"]["textureBlendMode"].m_value = AZStd::string("Lerp"); + sourceData.m_properties["baseColor"]["textureBlendMode"] = AZStd::string("Lerp"); } else { @@ -135,10 +135,10 @@ namespace AZ if (baseColor.has_value()) { anyPBRInUse = true; - sourceData.m_properties["baseColor"]["color"].m_value = toColor(baseColor.value()); + sourceData.m_properties["baseColor"]["color"] = toColor(baseColor.value()); } - sourceData.m_properties["opacity"]["factor"].m_value = materialData.GetOpacity(); + sourceData.m_properties["opacity"]["factor"] = materialData.GetOpacity(); auto applyOptionalPropertiesFunc = [&sourceData, &anyPBRInUse](const auto& propertyGroup, const auto& propertyName, const auto& propertyOptional) { @@ -147,7 +147,7 @@ namespace AZ if (propertyOptional.has_value()) { anyPBRInUse = true; - sourceData.m_properties[propertyGroup][propertyName].m_value = propertyOptional.value(); + sourceData.m_properties[propertyGroup][propertyName] = propertyOptional.value(); } }; @@ -160,7 +160,7 @@ namespace AZ applyOptionalPropertiesFunc("roughness", "useTexture", materialData.GetUseRoughnessMap()); handleTexture("emissive", SceneAPI::DataTypes::IMaterialData::TextureMapType::Emissive); - sourceData.m_properties["emissive"]["color"].m_value = toColor(materialData.GetEmissiveColor()); + sourceData.m_properties["emissive"]["color"] = toColor(materialData.GetEmissiveColor()); applyOptionalPropertiesFunc("emissive", "intensity", materialData.GetEmissiveIntensity()); applyOptionalPropertiesFunc("emissive", "useTexture", materialData.GetUseEmissiveMap()); @@ -171,7 +171,7 @@ namespace AZ { // If it doesn't have the useColorMap property, then it's a non-PBR material and the baseColor // texture needs to be set to the diffuse color. - sourceData.m_properties["baseColor"]["color"].m_value = toColor(materialData.GetDiffuseColor()); + sourceData.m_properties["baseColor"]["color"] = toColor(materialData.GetDiffuseColor()); } return true; } diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h index 0a9371f722..8b782fe66c 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h @@ -59,14 +59,7 @@ namespace AZ uint32_t m_materialTypeVersion = 0; //!< The version of the material type that was used to configure this material - struct Property - { - AZ_TYPE_INFO(AZ::RPI::MaterialSourceData::Property, "{8D613464-3750-4122-AFFE-9238010D5AFC}"); - - MaterialPropertyValue m_value; - }; - - using PropertyMap = AZStd::map; + using PropertyMap = AZStd::map; using PropertyGroupMap = AZStd::map; PropertyGroupMap m_properties; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp index cb345e1d93..07d8c919d0 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialPropertyValueSerializer.cpp @@ -47,61 +47,61 @@ namespace AZ { namespace JSR = JsonSerializationResult; - AZ_Assert(azrtti_typeid() == outputValueTypeId, + AZ_Assert(azrtti_typeid() == outputValueTypeId, "Unable to deserialize material property value to json because the provided type is %s", outputValueTypeId.ToString().c_str()); AZ_UNUSED(outputValueTypeId); - MaterialSourceData::Property* property = reinterpret_cast(outputValue); + MaterialPropertyValue* property = reinterpret_cast(outputValue); AZ_Assert(property, "Output value for JsonMaterialPropertyValueSerializer can't be null."); JSR::ResultCode result(JSR::Tasks::ReadField); if (inputValue.IsBool()) { - result.Combine(LoadVariant(property->m_value, false, inputValue, context)); + result.Combine(LoadVariant(*property, false, inputValue, context)); } else if (inputValue.IsInt() || inputValue.IsInt64()) { - result.Combine(LoadVariant(property->m_value, 0, inputValue, context)); + result.Combine(LoadVariant(*property, 0, inputValue, context)); } else if (inputValue.IsUint() || inputValue.IsUint64()) { - result.Combine(LoadVariant(property->m_value, 0u, inputValue, context)); + result.Combine(LoadVariant(*property, 0u, inputValue, context)); } else if (inputValue.IsFloat() || inputValue.IsDouble()) { - result.Combine(LoadVariant(property->m_value, 0.0f, inputValue, context)); + result.Combine(LoadVariant(*property, 0.0f, inputValue, context)); } else if (inputValue.IsArray() && inputValue.Size() == 4) { - result.Combine(LoadVariant(property->m_value, Vector4{0.0f, 0.0f, 0.0f, 0.0f}, inputValue, context)); + result.Combine(LoadVariant(*property, Vector4{0.0f, 0.0f, 0.0f, 0.0f}, inputValue, context)); } else if (inputValue.IsArray() && inputValue.Size() == 3) { - result.Combine(LoadVariant(property->m_value, Vector3{0.0f, 0.0f, 0.0f}, inputValue, context)); + result.Combine(LoadVariant(*property, Vector3{0.0f, 0.0f, 0.0f}, inputValue, context)); } else if (inputValue.IsArray() && inputValue.Size() == 2) { - result.Combine(LoadVariant(property->m_value, Vector2{0.0f, 0.0f}, inputValue, context)); + result.Combine(LoadVariant(*property, Vector2{0.0f, 0.0f}, inputValue, context)); } else if (inputValue.IsObject()) { - JsonSerializationResult::ResultCode resultCode = LoadVariant(property->m_value, Color::CreateZero(), inputValue, context); + JsonSerializationResult::ResultCode resultCode = LoadVariant(*property, Color::CreateZero(), inputValue, context); if(resultCode.GetProcessing() != JsonSerializationResult::Processing::Completed) { - resultCode = LoadVariant(property->m_value, Vector4::CreateZero(), inputValue, context); + resultCode = LoadVariant(*property, Vector4::CreateZero(), inputValue, context); } if(resultCode.GetProcessing() != JsonSerializationResult::Processing::Completed) { - resultCode = LoadVariant(property->m_value, Vector3::CreateZero(), inputValue, context); + resultCode = LoadVariant(*property, Vector3::CreateZero(), inputValue, context); } if(resultCode.GetProcessing() != JsonSerializationResult::Processing::Completed) { - resultCode = LoadVariant(property->m_value, Vector2::CreateZero(), inputValue, context); + resultCode = LoadVariant(*property, Vector2::CreateZero(), inputValue, context); } if(resultCode.GetProcessing() == JsonSerializationResult::Processing::Completed) @@ -115,7 +115,7 @@ namespace AZ } else if (inputValue.IsString()) { - result.Combine(LoadVariant(property->m_value, AZStd::string{}, inputValue, context)); + result.Combine(LoadVariant(*property, AZStd::string{}, inputValue, context)); } else { @@ -137,51 +137,51 @@ namespace AZ { namespace JSR = JsonSerializationResult; - AZ_Assert(azrtti_typeid() == valueTypeId, + AZ_Assert(azrtti_typeid() == valueTypeId, "Unable to serialize material property value to json because the provided type is %s", valueTypeId.ToString().c_str()); AZ_UNUSED(valueTypeId); - const MaterialSourceData::Property* property = reinterpret_cast(inputValue); + const MaterialPropertyValue* property = reinterpret_cast(inputValue); AZ_Assert(property, "Input value for JsonMaterialPropertyValueSerializer can't be null."); JSR::ResultCode result(JSR::Tasks::WriteValue); - if (property->m_value.Is()) + if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } - else if (property->m_value.Is()) + else if (property->Is()) { - result.Combine(ContinueStoring(outputValue, &property->m_value.GetValue(), nullptr, azrtti_typeid(), context)); + result.Combine(ContinueStoring(outputValue, &property->GetValue(), nullptr, azrtti_typeid(), context)); } if (result.GetProcessing() == JsonSerializationResult::Processing::Completed) diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp index ae7889aa93..c2b80e726b 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp @@ -44,7 +44,7 @@ namespace AZ { if (JsonRegistrationContext* jsonContext = azrtti_cast(context)) { - jsonContext->Serializer()->HandlesType(); + jsonContext->Serializer()->HandlesType(); } else if (auto* serializeContext = azrtti_cast(context)) { @@ -59,10 +59,6 @@ namespace AZ serializeContext->RegisterGenericType(); serializeContext->RegisterGenericType(); - - serializeContext->Class() - ->Version(1) - ; } } @@ -323,25 +319,25 @@ namespace AZ for (auto& property : group.second) { MaterialPropertyId propertyId{ group.first, property.first }; - if (!property.second.m_value.IsValid()) + if (!property.second.IsValid()) { materialAssetCreator.ReportWarning("Source data for material property value is invalid."); } // If the source value type is a string, there are two possible property types: Image and Enum. If there is a "." in // the string (for the extension) we assume it's an Image and look up the referenced Asset. Otherwise, we can assume // it's an Enum value and just preserve the original string. - else if (property.second.m_value.Is() && AzFramework::StringFunc::Contains(property.second.m_value.GetValue(), ".")) + else if (property.second.Is() && AzFramework::StringFunc::Contains(property.second.GetValue(), ".")) { Data::Asset imageAsset; MaterialUtils::GetImageAssetResult result = MaterialUtils::GetImageAssetReference( - imageAsset, materialSourceFilePath, property.second.m_value.GetValue()); + imageAsset, materialSourceFilePath, property.second.GetValue()); if (result == MaterialUtils::GetImageAssetResult::Missing) { materialAssetCreator.ReportWarning( "Material property '%s': Could not find the image '%s'", propertyId.GetCStr(), - property.second.m_value.GetValue().data()); + property.second.GetValue().data()); } imageAsset.SetAutoLoadBehavior(Data::AssetLoadBehavior::PreLoad); @@ -349,7 +345,7 @@ namespace AZ } else { - materialAssetCreator.SetPropertyValue(propertyId, property.second.m_value); + materialAssetCreator.SetPropertyValue(propertyId, property.second); } } } diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp index 2bd257d55b..2ac363058c 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp @@ -160,7 +160,7 @@ namespace UnitTest void AddProperty(MaterialSourceData& material, AZStd::string_view groupName, AZStd::string_view propertyName, const MaterialPropertyValue& anyValue) { - material.m_properties[groupName][propertyName].m_value = anyValue; + material.m_properties[groupName][propertyName] = anyValue; } TEST_F(MaterialSourceDataTests, CreateMaterialAsset_BasicProperties) @@ -398,33 +398,33 @@ namespace UnitTest // We allow some types like Vector4 and Color or Int and UInt to be interchangeable since they serialize the same and can be converted when the MaterialAsset is finalized. - if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_EQ(propertyA.m_value.GetValue(), propertyB.m_value.GetValue()) << propertyReference.c_str(); + EXPECT_EQ(propertyA.GetValue(), propertyB.GetValue()) << propertyReference.c_str(); } - else if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + else if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_EQ(GetAsInt(propertyA.m_value), GetAsInt(propertyB.m_value)) << propertyReference.c_str(); + EXPECT_EQ(GetAsInt(propertyA), GetAsInt(propertyB)) << propertyReference.c_str(); } - else if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + else if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_NEAR(propertyA.m_value.GetValue(), propertyB.m_value.GetValue(), 0.01) << propertyReference.c_str(); + EXPECT_NEAR(propertyA.GetValue(), propertyB.GetValue(), 0.01) << propertyReference.c_str(); } - else if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + else if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_TRUE(propertyA.m_value.GetValue().IsClose(propertyB.m_value.GetValue())) << propertyReference.c_str(); + EXPECT_TRUE(propertyA.GetValue().IsClose(propertyB.GetValue())) << propertyReference.c_str(); } - else if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + else if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_TRUE(propertyA.m_value.GetValue().IsClose(propertyB.m_value.GetValue())) << propertyReference.c_str(); + EXPECT_TRUE(propertyA.GetValue().IsClose(propertyB.GetValue())) << propertyReference.c_str(); } - else if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + else if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_TRUE(GetAsVector4(propertyA.m_value).IsClose(GetAsVector4(propertyB.m_value))) << propertyReference.c_str(); + EXPECT_TRUE(GetAsVector4(propertyA).IsClose(GetAsVector4(propertyB))) << propertyReference.c_str(); } - else if (AreTypesCompatible(propertyA.m_value, propertyB.m_value)) + else if (AreTypesCompatible(propertyA, propertyB)) { - EXPECT_STREQ(propertyA.m_value.GetValue().c_str(), propertyB.m_value.GetValue().c_str()) << propertyReference.c_str(); + EXPECT_STREQ(propertyA.GetValue().c_str(), propertyB.GetValue().c_str()) << propertyReference.c_str(); } else { @@ -513,7 +513,7 @@ namespace UnitTest EXPECT_EQ(AZ::JsonSerializationResult::Tasks::ReadField, loadResult.m_jsonResultCode.GetTask()); EXPECT_EQ(AZ::JsonSerializationResult::Processing::Completed, loadResult.m_jsonResultCode.GetProcessing()); - float testValue = material.m_properties["general"]["testValue"].m_value.GetValue(); + float testValue = material.m_properties["general"]["testValue"].GetValue(); EXPECT_FLOAT_EQ(1.2f, testValue); } diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp index 283b7a8a7f..28de56c75e 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp @@ -363,7 +363,7 @@ namespace MaterialEditor // TODO: Support populating the Material Editor with nested property groups, not just the top level. const AZStd::string groupName = propertyId.GetStringView().substr(0, propertyId.GetStringView().size() - propertyDefinition->GetName().size() - 1); - sourceData.m_properties[groupName][propertyDefinition->GetName()].m_value = propertyValue; + sourceData.m_properties[groupName][propertyDefinition->GetName()] = propertyValue; } } return true; diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp index dde9644c50..1e5e25fa30 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp @@ -150,7 +150,7 @@ namespace AZ // TODO: Support populating the Material Editor with nested property groups, not just the top level. const AZStd::string groupName = propertyId.GetStringView().substr(0, propertyId.GetStringView().size() - propertyDefinition->GetName().size() - 1); - exportData.m_properties[groupName][propertyDefinition->GetName()].m_value = propertyValue; + exportData.m_properties[groupName][propertyDefinition->GetName()] = propertyValue; return true; }); From 1daa9fbbed4e72a1ce2b3c44f89630d7d238e6e7 Mon Sep 17 00:00:00 2001 From: santorac <55155825+santorac@users.noreply.github.com> Date: Fri, 4 Feb 2022 12:04:50 -0800 Subject: [PATCH 2/4] Changed the .material file format to use a flat list for material property values, instead of a tree structure. This is needed to support deeply nested material property groups, it just makes the serialization code a lot simpler than trying to support nested groups in the .material file. It also makes the file more readable and easier to search all files for particular properties. I also updated MaterialSourceData to hide the property values behind a clean API. Signed-off-by: santorac <55155825+santorac@users.noreply.github.com> --- .../MaterialConverterSystemComponent.cpp | 19 +- .../RPI.Edit/Material/MaterialSourceData.h | 26 +- .../Material/MaterialTypeSourceData.h | 4 +- .../Atom/RPI.Edit/Material/MaterialUtils.h | 6 +- .../RPI.Builders/Material/MaterialBuilder.cpp | 36 +- .../RPI.Edit/Material/MaterialSourceData.cpp | 81 ++- .../Material/MaterialTypeSourceData.cpp | 6 +- .../RPI.Edit/Material/MaterialUtils.cpp | 43 +- .../Material/MaterialSourceDataTests.cpp | 464 ++++++++++++++---- .../Code/Source/Document/MaterialDocument.cpp | 14 +- .../Material/EditorMaterialComponentUtil.cpp | 4 +- 11 files changed, 535 insertions(+), 168 deletions(-) diff --git a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp index 835aa90ceb..680ad5f690 100644 --- a/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp +++ b/Gems/Atom/Feature/Common/Code/Source/Material/MaterialConverterSystemComponent.cpp @@ -82,9 +82,8 @@ namespace AZ // The source data for generating material asset sourceData.m_materialType = GetMaterialTypePath(); - auto handleTexture = [&materialData, &sourceData]( - const char* propertyTextureGroup, SceneAPI::DataTypes::IMaterialData::TextureMapType textureType) { - MaterialSourceData::PropertyMap& properties = sourceData.m_properties[propertyTextureGroup]; + auto handleTexture = [&materialData, &sourceData](const char* propertyTextureGroup, SceneAPI::DataTypes::IMaterialData::TextureMapType textureType) + { const AZStd::string& texturePath = materialData.GetTexture(textureType); // Check to see if the image asset exists. If not, skip this texture map and just disable it. @@ -101,7 +100,7 @@ namespace AZ if (assetFound) { - properties["textureMap"] = texturePath; + sourceData.SetPropertyValue(MaterialPropertyId{propertyTextureGroup, "textureMap"}, texturePath); } else if (!texturePath.empty()) { @@ -120,7 +119,7 @@ namespace AZ { anyPBRInUse = true; handleTexture("baseColor", SceneAPI::DataTypes::IMaterialData::TextureMapType::BaseColor); - sourceData.m_properties["baseColor"]["textureBlendMode"] = AZStd::string("Lerp"); + sourceData.SetPropertyValue(Name{"baseColor.textureBlendMode"}, AZStd::string("Lerp")); } else { @@ -135,10 +134,10 @@ namespace AZ if (baseColor.has_value()) { anyPBRInUse = true; - sourceData.m_properties["baseColor"]["color"] = toColor(baseColor.value()); + sourceData.SetPropertyValue(Name{"baseColor.color"}, toColor(baseColor.value())); } - sourceData.m_properties["opacity"]["factor"] = materialData.GetOpacity(); + sourceData.SetPropertyValue(Name{"opacity.factor"}, materialData.GetOpacity()); auto applyOptionalPropertiesFunc = [&sourceData, &anyPBRInUse](const auto& propertyGroup, const auto& propertyName, const auto& propertyOptional) { @@ -147,7 +146,7 @@ namespace AZ if (propertyOptional.has_value()) { anyPBRInUse = true; - sourceData.m_properties[propertyGroup][propertyName] = propertyOptional.value(); + sourceData.SetPropertyValue(MaterialPropertyId{propertyGroup, propertyName}, propertyOptional.value()); } }; @@ -160,7 +159,7 @@ namespace AZ applyOptionalPropertiesFunc("roughness", "useTexture", materialData.GetUseRoughnessMap()); handleTexture("emissive", SceneAPI::DataTypes::IMaterialData::TextureMapType::Emissive); - sourceData.m_properties["emissive"]["color"] = toColor(materialData.GetEmissiveColor()); + sourceData.SetPropertyValue(Name{"emissive.color"}, toColor(materialData.GetEmissiveColor())); applyOptionalPropertiesFunc("emissive", "intensity", materialData.GetEmissiveIntensity()); applyOptionalPropertiesFunc("emissive", "useTexture", materialData.GetUseEmissiveMap()); @@ -171,7 +170,7 @@ namespace AZ { // If it doesn't have the useColorMap property, then it's a non-PBR material and the baseColor // texture needs to be set to the diffuse color. - sourceData.m_properties["baseColor"]["color"] = toColor(materialData.GetDiffuseColor()); + sourceData.SetPropertyValue(Name{"baseColor.color"}, toColor(materialData.GetDiffuseColor())); } return true; } diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h index 8b782fe66c..b8c613fd12 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h @@ -59,17 +59,25 @@ namespace AZ uint32_t m_materialTypeVersion = 0; //!< The version of the material type that was used to configure this material - using PropertyMap = AZStd::map; - using PropertyGroupMap = AZStd::map; - - PropertyGroupMap m_properties; - enum class ApplyVersionUpdatesResult { Failed, NoUpdates, UpdatesApplied }; + + //! If the data was loaded from an old format file (i.e. where "properties" was a tree with property values nested under groups), + //! this converts to the new format where properties are stored in a flat list. + void ConvertToNewDataFormat(); + + // Note that even though we use an unordered map, the JSON serialization system is nice enough to sort the data when saving to JSON. + using PropertyValueMap = AZStd::unordered_map; + + void SetPropertyValue(const Name& propertyId, const MaterialPropertyValue& value); + const MaterialPropertyValue& GetPropertyValue(const Name& propertyId) const; + PropertyValueMap GetPropertyValues() const; + bool HasPropertyValue(const Name& propertyId) const; + void RemovePropertyValue(const Name& propertyId); //! Creates a MaterialAsset from the MaterialSourceData content. //! @param assetId ID for the MaterialAsset @@ -96,8 +104,16 @@ namespace AZ AZStd::unordered_set* sourceDependencies = nullptr) const; private: + void ApplyPropertiesToAssetCreator( AZ::RPI::MaterialAssetCreator& materialAssetCreator, const AZStd::string_view& materialSourceFilePath) const; + + // @deprecated: Don't use "properties" in JSON, use "propertyValues" instead. + using PropertyGroupMap = AZStd::unordered_map; + PropertyGroupMap m_propertiesOld; + + PropertyValueMap m_propertyValues; + MaterialPropertyValue m_invalidValue; }; } // namespace RPI } // namespace AZ diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialTypeSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialTypeSourceData.h index 79c73495e0..23219cfa89 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialTypeSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialTypeSourceData.h @@ -216,11 +216,11 @@ namespace AZ //! This field is unused, and has been replaced by MaterialTypeSourceData::m_version below. It is kept for legacy file compatibility to suppress warnings and errors. uint32_t m_versionOld = 0; - //! [Deprecated] Use m_propertyGroups instead + //! @deprecated: Use m_propertyGroups instead //! List of groups that will contain the available properties AZStd::vector m_groupsOld; - //! [Deprecated] Use m_propertyGroups instead + //! @deprecated: Use m_propertyGroups instead AZStd::map> m_propertiesOld; //! Collection of all available user-facing properties diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialUtils.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialUtils.h index 2fb55e5f40..f6c10e003e 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialUtils.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialUtils.h @@ -24,6 +24,7 @@ namespace AZ namespace RPI { + class MaterialSourceData; class MaterialTypeSourceData; namespace MaterialUtils @@ -48,11 +49,14 @@ namespace AZ //! @return if resolving is successful. An error will be reported if it fails. bool ResolveMaterialPropertyEnumValue(const MaterialPropertyDescriptor* propertyDescriptor, const AZ::Name& enumName, MaterialPropertyValue& outResolvedValue); - //! Load material type from a json file. If the file path is relative, the loaded json document must be provided. + //! Load a material type from a json file. If the file path is relative, the loaded json document must be provided. //! Otherwise, it will use the passed in document first if not null, or load the json document from the path. //! @param filePath a relative path if document is provided, an absolute path if document is not provided. //! @param document the loaded json document. AZ::Outcome LoadMaterialTypeSourceData(const AZStd::string& filePath, const rapidjson::Value* document = nullptr); + + //! Load a material from a json file. + AZ::Outcome LoadMaterialSourceData(const AZStd::string& filePath, const rapidjson::Value* document = nullptr, bool warningsAsErrors = false); //! Utility function for custom JSON serializers to report results as "Skipped" when encountering keys that aren't recognized //! as part of the custom format. diff --git a/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp b/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp index d55f202c03..bb0330e7b6 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Builders/Material/MaterialBuilder.cpp @@ -52,7 +52,7 @@ namespace AZ { AssetBuilderSDK::AssetBuilderDesc materialBuilderDescriptor; materialBuilderDescriptor.m_name = JobKey; - materialBuilderDescriptor.m_version = 117; // new material type file format + materialBuilderDescriptor.m_version = 119; // new material file format materialBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.material", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); materialBuilderDescriptor.m_patterns.push_back(AssetBuilderSDK::AssetBuilderPattern("*.materialtype", AssetBuilderSDK::AssetBuilderPattern::PatternType::Wildcard)); materialBuilderDescriptor.m_busId = azrtti_typeid(); @@ -129,38 +129,6 @@ namespace AZ } } - template - AZ::Outcome LoadSourceData(const rapidjson::Value& value, const AZStd::string& filePath) - { - MaterialSourceDataT material; - - JsonDeserializerSettings settings; - - JsonReportingHelper reportingHelper; - reportingHelper.Attach(settings); - - // This is required by some custom material serializers to support relative path references. - JsonFileLoadContext fileLoadContext; - fileLoadContext.PushFilePath(filePath); - settings.m_metadata.Add(fileLoadContext); - - JsonSerialization::Load(material, value, settings); - - if (reportingHelper.ErrorsReported()) - { - return AZ::Failure(); - } - else if (reportingHelper.WarningsReported()) - { - AZ_Error(MaterialBuilderName, false, "Warnings reported while loading '%s'", filePath.c_str()); - return AZ::Failure(); - } - else - { - return AZ::Success(AZStd::move(material)); - } - } - void MaterialBuilder::CreateJobs(const AssetBuilderSDK::CreateJobsRequest& request, AssetBuilderSDK::CreateJobsResponse& response) const { if (m_isShuttingDown) @@ -295,7 +263,7 @@ namespace AZ AZ::Data::Asset MaterialBuilder::CreateMaterialAsset(AZStd::string_view materialSourceFilePath, const rapidjson::Value& json) const { - auto material = LoadSourceData(json, materialSourceFilePath); + auto material = MaterialUtils::LoadMaterialSourceData(materialSourceFilePath, &json, true); if (!material.IsSuccess()) { diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp index c2b80e726b..e5092b5480 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp @@ -54,10 +54,11 @@ namespace AZ ->Field("materialType", &MaterialSourceData::m_materialType) ->Field("materialTypeVersion", &MaterialSourceData::m_materialTypeVersion) ->Field("parentMaterial", &MaterialSourceData::m_parentMaterial) - ->Field("properties", &MaterialSourceData::m_properties) + ->Field("properties", &MaterialSourceData::m_propertiesOld) + ->Field("propertyValues", &MaterialSourceData::m_propertyValues) ; - serializeContext->RegisterGenericType(); + serializeContext->RegisterGenericType(); serializeContext->RegisterGenericType(); } } @@ -73,6 +74,55 @@ namespace AZ } } + void MaterialSourceData::SetPropertyValue(const Name& propertyId, const MaterialPropertyValue& value) + { + if (!propertyId.IsEmpty()) + { + m_propertyValues[propertyId] = value; + } + } + + const MaterialPropertyValue& MaterialSourceData::GetPropertyValue(const Name& propertyId) const + { + auto iter = m_propertyValues.find(propertyId); + if (iter == m_propertyValues.end()) + { + return m_invalidValue; + } + else + { + return iter->second; + } + } + + void MaterialSourceData::RemovePropertyValue(const Name& propertyId) + { + m_propertyValues.erase(propertyId); + } + + MaterialSourceData::PropertyValueMap MaterialSourceData::GetPropertyValues() const + { + return m_propertyValues; + } + + bool MaterialSourceData::HasPropertyValue(const Name& propertyId) const + { + return m_propertyValues.find(propertyId) != m_propertyValues.end(); + } + + void MaterialSourceData::ConvertToNewDataFormat() + { + for (auto& [groupName, propertyList] : m_propertiesOld) + { + for (auto& [propertyName, propertyValue] : propertyList) + { + SetPropertyValue(MaterialPropertyId{groupName, propertyName}, propertyValue); + } + } + + m_propertiesOld.clear(); + } + Outcome> MaterialSourceData::CreateMaterialAsset( Data::AssetId assetId, AZStd::string_view materialSourceFilePath, MaterialAssetProcessingMode processingMode, bool elevateWarnings) const { @@ -250,12 +300,14 @@ namespace AZ return Failure(); } - MaterialSourceData parentSourceData; - if (!AZ::RPI::JsonUtils::LoadObjectFromFile(parentSourceAbsPath, parentSourceData)) + auto loadParentResult = MaterialUtils::LoadMaterialSourceData(parentSourceAbsPath); + if (!loadParentResult) { AZ_Error("MaterialSourceData", false, "Failed to load MaterialSourceData for parent material: '%s'.", parentSourceAbsPath.c_str()); return Failure(); } + + MaterialSourceData parentSourceData = loadParentResult.TakeValue(); // Make sure that all materials in the hierarchy share the same material type const auto parentTypeAssetId = AssetUtils::MakeAssetId(parentSourceAbsPath, parentSourceData.m_materialType, 0); @@ -314,30 +366,29 @@ namespace AZ void MaterialSourceData::ApplyPropertiesToAssetCreator( AZ::RPI::MaterialAssetCreator& materialAssetCreator, const AZStd::string_view& materialSourceFilePath) const { - for (auto& group : m_properties) + for (auto& [propertyId, propertyValue] : m_propertyValues) { - for (auto& property : group.second) + if (!propertyValue.IsValid()) + { + materialAssetCreator.ReportWarning("Source data for material property value is invalid."); + } + else { - MaterialPropertyId propertyId{ group.first, property.first }; - if (!property.second.IsValid()) - { - materialAssetCreator.ReportWarning("Source data for material property value is invalid."); - } // If the source value type is a string, there are two possible property types: Image and Enum. If there is a "." in // the string (for the extension) we assume it's an Image and look up the referenced Asset. Otherwise, we can assume // it's an Enum value and just preserve the original string. - else if (property.second.Is() && AzFramework::StringFunc::Contains(property.second.GetValue(), ".")) + if (propertyValue.Is() && AzFramework::StringFunc::Contains(propertyValue.GetValue(), ".")) { Data::Asset imageAsset; MaterialUtils::GetImageAssetResult result = MaterialUtils::GetImageAssetReference( - imageAsset, materialSourceFilePath, property.second.GetValue()); + imageAsset, materialSourceFilePath, propertyValue.GetValue()); if (result == MaterialUtils::GetImageAssetResult::Missing) { materialAssetCreator.ReportWarning( "Material property '%s': Could not find the image '%s'", propertyId.GetCStr(), - property.second.GetValue().data()); + propertyValue.GetValue().data()); } imageAsset.SetAutoLoadBehavior(Data::AssetLoadBehavior::PreLoad); @@ -345,7 +396,7 @@ namespace AZ } else { - materialAssetCreator.SetPropertyValue(propertyId, property.second); + materialAssetCreator.SetPropertyValue(propertyId, propertyValue); } } } diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp index b9a5754732..23976cf357 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialTypeSourceData.cpp @@ -100,9 +100,9 @@ namespace AZ serializeContext->Class() ->Version(3) // Added propertyGroups - ->Field("version", &PropertyLayout::m_versionOld) //< Deprecated, preserved for backward compatibility, replaced by MaterialTypeSourceData::version - ->Field("groups", &PropertyLayout::m_groupsOld) //< Deprecated, preserved for backward compatibility, replaced by propertyGroups - ->Field("properties", &PropertyLayout::m_propertiesOld) //< Deprecated, preserved for backward compatibility, replaced by propertyGroups + ->Field("version", &PropertyLayout::m_versionOld) //< @deprecated: preserved for backward compatibility, replaced by MaterialTypeSourceData::version + ->Field("groups", &PropertyLayout::m_groupsOld) //< @deprecated: preserved for backward compatibility, replaced by propertyGroups + ->Field("properties", &PropertyLayout::m_propertiesOld) //< @deprecated: preserved for backward compatibility, replaced by propertyGroups ->Field("propertyGroups", &PropertyLayout::m_propertyGroups) ; diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp index b03771173f..3855a0a222 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialUtils.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include #include @@ -82,7 +83,7 @@ namespace AZ loadOutcome = AZ::JsonSerializationUtils::ReadJsonFile(filePath, AZ::RPI::JsonUtils::DefaultMaxFileSize); if (!loadOutcome.IsSuccess()) { - AZ_Error("AZ::RPI::JsonUtils", false, "%s", loadOutcome.GetError().c_str()); + AZ_Error("MaterialUtils", false, "%s", loadOutcome.GetError().c_str()); return AZ::Failure(); } @@ -114,6 +115,46 @@ namespace AZ return AZ::Success(AZStd::move(materialType)); } } + + AZ::Outcome LoadMaterialSourceData(const AZStd::string& filePath, const rapidjson::Value* document, bool warningsAsErrors) + { + AZ::Outcome loadOutcome; + if (document == nullptr) + { + loadOutcome = AZ::JsonSerializationUtils::ReadJsonFile(filePath, AZ::RPI::JsonUtils::DefaultMaxFileSize); + if (!loadOutcome.IsSuccess()) + { + AZ_Error("MaterialUtils", false, "%s", loadOutcome.GetError().c_str()); + return AZ::Failure(); + } + + document = &loadOutcome.GetValue(); + } + + MaterialSourceData material; + + JsonDeserializerSettings settings; + + JsonReportingHelper reportingHelper; + reportingHelper.Attach(settings); + + JsonSerialization::Load(material, *document, settings); + material.ConvertToNewDataFormat(); + + if (reportingHelper.ErrorsReported()) + { + return AZ::Failure(); + } + else if (warningsAsErrors && reportingHelper.WarningsReported()) + { + AZ_Error("MaterialUtils", false, "Warnings reported while loading '%s'", filePath.c_str()); + return AZ::Failure(); + } + else + { + return AZ::Success(AZStd::move(material)); + } + } void CheckForUnrecognizedJsonFields(const AZStd::string_view* acceptedFieldNames, uint32_t acceptedFieldNameCount, const rapidjson::Value& object, JsonDeserializerContext& context, JsonSerializationResult::ResultCode &result) { diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp index 2ac363058c..362d7d8b6d 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp @@ -86,7 +86,7 @@ namespace UnitTest RPITestFixture::TearDown(); } - + Data::Asset CreateTestMaterialTypeAsset(Data::AssetId assetId) { const char* materialTypeJson = R"( @@ -146,21 +146,21 @@ namespace UnitTest } )"; - MaterialTypeSourceData materialTypeSourceData; LoadTestDataFromJson(materialTypeSourceData, materialTypeJson); return materialTypeSourceData.CreateMaterialTypeAsset(assetId).TakeValue(); } }; - void AddPropertyGroup(MaterialSourceData& material, AZStd::string_view groupName) + void AddPropertyGroup(MaterialSourceData&, AZStd::string_view) { - material.m_properties.insert(groupName); + // Old function, left blank intentionally } - void AddProperty(MaterialSourceData& material, AZStd::string_view groupName, AZStd::string_view propertyName, const MaterialPropertyValue& anyValue) + void AddProperty(MaterialSourceData& material, AZStd::string_view groupName, AZStd::string_view propertyName, const MaterialPropertyValue& value) { - material.m_properties[groupName][propertyName] = anyValue; + MaterialPropertyId id{groupName, propertyName}; + material.SetPropertyValue(id, value); } TEST_F(MaterialSourceDataTests, CreateMaterialAsset_BasicProperties) @@ -359,80 +359,61 @@ namespace UnitTest void CheckEqual(MaterialSourceData& a, MaterialSourceData& b) { - EXPECT_STREQ(a.m_materialType.data(), b.m_materialType.data()); - EXPECT_STREQ(a.m_description.data(), b.m_description.data()); - EXPECT_STREQ(a.m_parentMaterial.data(), b.m_parentMaterial.data()); + EXPECT_STREQ(a.m_materialType.c_str(), b.m_materialType.c_str()); + EXPECT_STREQ(a.m_description.c_str(), b.m_description.c_str()); + EXPECT_STREQ(a.m_parentMaterial.c_str(), b.m_parentMaterial.c_str()); EXPECT_EQ(a.m_materialTypeVersion, b.m_materialTypeVersion); - EXPECT_EQ(a.m_properties.size(), b.m_properties.size()); - for (auto& groupA : a.m_properties) - { - AZStd::string groupName = groupA.first; + EXPECT_EQ(a.GetPropertyValues().size(), b.GetPropertyValues().size()); - auto groupIterB = b.m_properties.find(groupName); - if (groupIterB == b.m_properties.end()) + for (auto& [propertyId, propertyValue] : a.GetPropertyValues()) + { + if (!b.HasPropertyValue(propertyId)) { - EXPECT_TRUE(false) << "groupB[" << groupName.c_str() << "] not found"; + EXPECT_TRUE(false) << "Property '" << propertyId.GetCStr() << "' not found in material B"; continue; } - auto& groupB = *groupIterB; + auto& propertyA = propertyValue; + auto& propertyB = b.GetPropertyValue(propertyId); - EXPECT_EQ(groupA.second.size(), groupB.second.size()) << " for group[" << groupName.c_str() << "]"; - - for (auto& propertyIterA : groupA.second) - { - AZStd::string propertyName = propertyIterA.first; - - auto propertyIterB = groupB.second.find(propertyName); - if (propertyIterB == groupB.second.end()) - { - EXPECT_TRUE(false) << "groupB[" << groupName.c_str() << "][" << propertyName.c_str() << "] not found"; - continue; - } - - auto& propertyA = propertyIterA.second; - auto& propertyB = propertyIterB->second; - - AZStd::string propertyReference = AZStd::string::format(" for property '%s.%s'", groupName.c_str(), propertyName.c_str()); + AZStd::string propertyReference = AZStd::string::format(" for property '%s'", propertyId.GetCStr()); - // We allow some types like Vector4 and Color or Int and UInt to be interchangeable since they serialize the same and can be converted when the MaterialAsset is finalized. + // We allow some types like Vector4 and Color or Int and UInt to be interchangeable since they serialize the same and can be converted when the MaterialAsset is finalized. - if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_EQ(propertyA.GetValue(), propertyB.GetValue()) << propertyReference.c_str(); - } - else if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_EQ(GetAsInt(propertyA), GetAsInt(propertyB)) << propertyReference.c_str(); - } - else if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_NEAR(propertyA.GetValue(), propertyB.GetValue(), 0.01) << propertyReference.c_str(); - } - else if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_TRUE(propertyA.GetValue().IsClose(propertyB.GetValue())) << propertyReference.c_str(); - } - else if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_TRUE(propertyA.GetValue().IsClose(propertyB.GetValue())) << propertyReference.c_str(); - } - else if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_TRUE(GetAsVector4(propertyA).IsClose(GetAsVector4(propertyB))) << propertyReference.c_str(); - } - else if (AreTypesCompatible(propertyA, propertyB)) - { - EXPECT_STREQ(propertyA.GetValue().c_str(), propertyB.GetValue().c_str()) << propertyReference.c_str(); - } - else - { - ADD_FAILURE(); - } + if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_EQ(propertyA.GetValue(), propertyB.GetValue()) << propertyReference.c_str(); + } + else if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_EQ(GetAsInt(propertyA), GetAsInt(propertyB)) << propertyReference.c_str(); + } + else if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_NEAR(propertyA.GetValue(), propertyB.GetValue(), 0.01) << propertyReference.c_str(); + } + else if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_TRUE(propertyA.GetValue().IsClose(propertyB.GetValue())) << propertyReference.c_str(); + } + else if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_TRUE(propertyA.GetValue().IsClose(propertyB.GetValue())) << propertyReference.c_str(); + } + else if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_TRUE(GetAsVector4(propertyA).IsClose(GetAsVector4(propertyB))) << propertyReference.c_str(); + } + else if (AreTypesCompatible(propertyA, propertyB)) + { + EXPECT_STREQ(propertyA.GetValue().c_str(), propertyB.GetValue().c_str()) << propertyReference.c_str(); + } + else + { + ADD_FAILURE(); } } - } TEST_F(MaterialSourceDataTests, TestJsonRoundTrip) @@ -465,6 +446,88 @@ namespace UnitTest CheckEqual(sourceDataOriginal, sourceDataCopy); } + + TEST_F(MaterialSourceDataTests, TestLoadLegacyFormat) + { + const AZStd::string inputJson = R"( + { + "materialType": "test.materialtype", // Doesn't matter, this isn't loaded + "properties": { + "groupA": { + "myBool": true, + "myInt": 5, + "myFloat": 0.5 + }, + "groupB": { + "myFloat2": [0.1, 0.2], + "myFloat3": [0.3, 0.4, 0.5], + "myFloat4": [0.6, 0.7, 0.8, 0.9], + "myString": "Hello" + } + } + } + )"; + + MaterialSourceData material; + LoadTestDataFromJson(material, inputJson); + material.ConvertToNewDataFormat(); + + MaterialSourceData expectedMaterial; + expectedMaterial.m_materialType = "test.materialtype"; + expectedMaterial.SetPropertyValue(Name{"groupA.myBool"}, true); + expectedMaterial.SetPropertyValue(Name{"groupA.myInt"}, 5); + expectedMaterial.SetPropertyValue(Name{"groupA.myFloat"}, 0.5f); + expectedMaterial.SetPropertyValue(Name{"groupB.myFloat2"}, Vector2(0.1f, 0.2f)); + expectedMaterial.SetPropertyValue(Name{"groupB.myFloat3"}, Vector3(0.3f, 0.4f, 0.5f)); + expectedMaterial.SetPropertyValue(Name{"groupB.myFloat4"}, Vector4(0.6f, 0.7f, 0.8f, 0.9f)); + expectedMaterial.SetPropertyValue(Name{"groupB.myString"}, AZStd::string{"Hello"}); + + CheckEqual(expectedMaterial, material); + } + + TEST_F(MaterialSourceDataTests, TestPropertyValues) + { + MaterialSourceData material; + + Name foo{"foo"}; + Name bar{"bar"}; + Name baz{"baz"}; + + EXPECT_EQ(0, material.GetPropertyValues().size()); + EXPECT_FALSE(material.HasPropertyValue(foo)); + EXPECT_FALSE(material.HasPropertyValue(bar)); + EXPECT_FALSE(material.HasPropertyValue(baz)); + EXPECT_FALSE(material.GetPropertyValue(foo).IsValid()); + EXPECT_FALSE(material.GetPropertyValue(bar).IsValid()); + EXPECT_FALSE(material.GetPropertyValue(baz).IsValid()); + + material.SetPropertyValue(Name{"foo"}, 2); + material.SetPropertyValue(Name{"bar"}, true); + material.SetPropertyValue(Name{"baz"}, 0.5f); + + EXPECT_EQ(3, material.GetPropertyValues().size()); + EXPECT_TRUE(material.HasPropertyValue(foo)); + EXPECT_TRUE(material.HasPropertyValue(bar)); + EXPECT_TRUE(material.HasPropertyValue(baz)); + EXPECT_TRUE(material.GetPropertyValue(foo).IsValid()); + EXPECT_TRUE(material.GetPropertyValue(bar).IsValid()); + EXPECT_TRUE(material.GetPropertyValue(baz).IsValid()); + EXPECT_EQ(material.GetPropertyValue(foo).GetValue(), 2); + EXPECT_EQ(material.GetPropertyValue(bar).GetValue(), true); + EXPECT_EQ(material.GetPropertyValue(baz).GetValue(), 0.5f); + + material.RemovePropertyValue(bar); + + EXPECT_EQ(2, material.GetPropertyValues().size()); + EXPECT_TRUE(material.HasPropertyValue(foo)); + EXPECT_FALSE(material.HasPropertyValue(bar)); + EXPECT_TRUE(material.HasPropertyValue(baz)); + EXPECT_TRUE(material.GetPropertyValue(foo).IsValid()); + EXPECT_FALSE(material.GetPropertyValue(bar).IsValid()); + EXPECT_TRUE(material.GetPropertyValue(baz).IsValid()); + EXPECT_EQ(material.GetPropertyValue(foo).GetValue(), 2); + EXPECT_EQ(material.GetPropertyValue(baz).GetValue(), 0.5f); + } TEST_F(MaterialSourceDataTests, Load_MaterialTypeAfterPropertyList) { @@ -487,21 +550,14 @@ namespace UnitTest } )"; - const char* materialTypeFilePath = "@exefolder@/Temp/simpleMaterialType.materialtype"; - - AZ::IO::FileIOStream file; - EXPECT_TRUE(file.Open(materialTypeFilePath, AZ::IO::OpenMode::ModeWrite | AZ::IO::OpenMode::ModeCreatePath)); - file.Write(simpleMaterialTypeJson.size(), simpleMaterialTypeJson.data()); - file.Close(); + AZ::Utils::WriteFile(simpleMaterialTypeJson, "@exefolder@/Temp/simpleMaterialType.materialtype"); // It shouldn't matter whether the materialType field appears before the property value list. This allows for the possibility // that customer scripts generate material data and happen to use an unexpected order. const AZStd::string inputJson = R"( { - "properties": { - "general": { - "testValue": 1.2 - } + "propertyValues": { + "general.testValue": 1.2 }, "materialType": "@exefolder@/Temp/simpleMaterialType.materialtype" } @@ -513,7 +569,7 @@ namespace UnitTest EXPECT_EQ(AZ::JsonSerializationResult::Tasks::ReadField, loadResult.m_jsonResultCode.GetTask()); EXPECT_EQ(AZ::JsonSerializationResult::Processing::Completed, loadResult.m_jsonResultCode.GetProcessing()); - float testValue = material.m_properties["general"]["testValue"].GetValue(); + float testValue = material.GetPropertyValue(Name{"general.testValue"}).GetValue(); EXPECT_FLOAT_EQ(1.2f, testValue); } @@ -522,10 +578,8 @@ namespace UnitTest const AZStd::string inputJson = R"( { "materialTypeVersion": 1, - "properties": { - "baseColor": { - "color": [1.0,1.0,1.0] - } + "propertyValues": { + "baseColor.color": [1.0,1.0,1.0] } } )"; @@ -561,10 +615,8 @@ namespace UnitTest { "materialType": "DoesNotExist.materialtype", "materialTypeVersion": 1, - "properties": { - "baseColor": { - "color": [1.0,1.0,1.0] - } + "propertyValues": { + "baseColor.color": [1.0,1.0,1.0] } } )"; @@ -900,10 +952,8 @@ namespace UnitTest const AZStd::string inputJson = AZStd::string::format(R"( { "materialType": "@exefolder@/Temp/test.materialtype", - "properties": { - "%s": { - "%s": %s - } + "propertyValues": { + "%s.%s": %s } } )", groupName, propertyName, jsonValue); @@ -965,7 +1015,239 @@ namespace UnitTest CheckEndToEndDataTypeResolution("MyFloat4", "{\"y\":0.2, \"x\":0.1, \"Z\":0.3}", Vector4{0.1f, 0.2f, 0.3f, 0.0f}); CheckEndToEndDataTypeResolution("MyFloat4", "{\"y\":0.2, \"W\":0.4, \"x\":0.1, \"Z\":0.3}", Vector4{0.1f, 0.2f, 0.3f, 0.4f}); } + + TEST_F(MaterialSourceDataTests, CreateMaterialAssetFromSourceData_MultiLevelDataInheritance) + { + // Note the data being tested here is based on CreateMaterialAsset_MultiLevelDataInheritance() + + const AZStd::string simpleMaterialTypeJson = R"( + { + "propertyLayout": { + "propertyGroups": + [ + { + "name": "general", + "properties": [ + { + "name": "MyFloat", + "type": "Float" + }, + { + "name": "MyFloat2", + "type": "Vector2" + }, + { + "name": "MyColor", + "type": "Color" + } + ] + } + ] + } + } + )"; + + AZ::Utils::WriteFile(simpleMaterialTypeJson, "@exefolder@/Temp/test.materialtype"); + + const AZStd::string material1Json = R"( + { + "materialType": "@exefolder@/Temp/test.materialtype", + "propertyValues": { + "general.MyFloat": 1.5, + "general.MyColor": [0.1, 0.2, 0.3, 0.4] + } + } + )"; + + AZ::Utils::WriteFile(material1Json, "@exefolder@/Temp/m1.material"); + + const AZStd::string material2Json = R"( + { + "materialType": "@exefolder@/Temp/test.materialtype", + "parentMaterial": "@exefolder@/Temp/m1.material", + "propertyValues": { + "general.MyFloat2": [4.1, 4.2], + "general.MyColor": [0.15, 0.25, 0.35, 0.45] + } + } + )"; + + AZ::Utils::WriteFile(material2Json, "@exefolder@/Temp/m2.material"); + + const AZStd::string material3Json = R"( + { + "materialType": "@exefolder@/Temp/test.materialtype", + "parentMaterial": "@exefolder@/Temp/m2.material", + "propertyValues": { + "general.MyFloat": 3.5 + } + } + )"; + + AZ::Utils::WriteFile(material3Json, "@exefolder@/Temp/m3.material"); + + MaterialSourceData sourceDataLevel1 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m1.material").TakeValue(); + MaterialSourceData sourceDataLevel2 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m2.material").TakeValue(); + MaterialSourceData sourceDataLevel3 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m3.material").TakeValue(); + + auto materialAssetLevel1 = sourceDataLevel1.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); + EXPECT_TRUE(materialAssetLevel1.IsSuccess()); + EXPECT_TRUE(materialAssetLevel1.GetValue()->WasPreFinalized()); + + auto materialAssetLevel2 = sourceDataLevel2.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); + EXPECT_TRUE(materialAssetLevel2.IsSuccess()); + EXPECT_TRUE(materialAssetLevel2.GetValue()->WasPreFinalized()); + + auto materialAssetLevel3 = sourceDataLevel3.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); + EXPECT_TRUE(materialAssetLevel3.IsSuccess()); + EXPECT_TRUE(materialAssetLevel3.GetValue()->WasPreFinalized()); + + auto layout = materialAssetLevel1.GetValue()->GetMaterialPropertiesLayout(); + MaterialPropertyIndex myFloat = layout->FindPropertyIndex(Name("general.MyFloat")); + MaterialPropertyIndex myFloat2 = layout->FindPropertyIndex(Name("general.MyFloat2")); + MaterialPropertyIndex myColor = layout->FindPropertyIndex(Name("general.MyColor")); + + AZStd::span properties; + + // Check level 1 properties + properties = materialAssetLevel1.GetValue()->GetPropertyValues(); + EXPECT_EQ(properties[myFloat.GetIndex()].GetValue(), 1.5f); + EXPECT_EQ(properties[myFloat2.GetIndex()].GetValue(), Vector2(0.0f, 0.0f)); + EXPECT_EQ(properties[myColor.GetIndex()].GetValue(), Color(0.1f, 0.2f, 0.3f, 0.4f)); + + // Check level 2 properties + properties = materialAssetLevel2.GetValue()->GetPropertyValues(); + EXPECT_EQ(properties[myFloat.GetIndex()].GetValue(), 1.5f); + EXPECT_EQ(properties[myFloat2.GetIndex()].GetValue(), Vector2(4.1f, 4.2f)); + EXPECT_EQ(properties[myColor.GetIndex()].GetValue(), Color(0.15f, 0.25f, 0.35f, 0.45f)); + + // Check level 3 properties + properties = materialAssetLevel3.GetValue()->GetPropertyValues(); + EXPECT_EQ(properties[myFloat.GetIndex()].GetValue(), 3.5f); + EXPECT_EQ(properties[myFloat2.GetIndex()].GetValue(), Vector2(4.1f, 4.2f)); + EXPECT_EQ(properties[myColor.GetIndex()].GetValue(), Color(0.15f, 0.25f, 0.35f, 0.45f)); + } + TEST_F(MaterialSourceDataTests, CreateMaterialAssetFromSourceData_MultiLevelDataInheritance_OldFormat) + { + // This test is the same as CreateMaterialAssetFromSourceData_MultiLevelDataInheritance except it uses the old format + // where material property values in the .material file were nested, with properties listed under a group object, + // rather than using a flat list of property values. + // Basically, we are making sure that MaterialSourceData::ConvertToNewDataFormat() is getting called. + + const AZStd::string simpleMaterialTypeJson = R"( + { + "propertyLayout": { + "propertyGroups": + [ + { + "name": "general", + "properties": [ + { + "name": "MyFloat", + "type": "Float" + }, + { + "name": "MyFloat2", + "type": "Vector2" + }, + { + "name": "MyColor", + "type": "Color" + } + ] + } + ] + } + } + )"; + + AZ::Utils::WriteFile(simpleMaterialTypeJson, "@exefolder@/Temp/test.materialtype"); + + const AZStd::string material1Json = R"( + { + "materialType": "@exefolder@/Temp/test.materialtype", + "properties": { + "general": { + "MyFloat": 1.5, + "MyColor": [0.1, 0.2, 0.3, 0.4] + } + } + } + )"; + + AZ::Utils::WriteFile(material1Json, "@exefolder@/Temp/m1.material"); + + const AZStd::string material2Json = R"( + { + "materialType": "@exefolder@/Temp/test.materialtype", + "parentMaterial": "@exefolder@/Temp/m1.material", + "properties": { + "general": { + "MyFloat2": [4.1, 4.2], + "MyColor": [0.15, 0.25, 0.35, 0.45] + } + } + } + )"; + + AZ::Utils::WriteFile(material2Json, "@exefolder@/Temp/m2.material"); + + const AZStd::string material3Json = R"( + { + "materialType": "@exefolder@/Temp/test.materialtype", + "parentMaterial": "@exefolder@/Temp/m2.material", + "properties": { + "general": { + "MyFloat": 3.5 + } + } + } + )"; + + AZ::Utils::WriteFile(material3Json, "@exefolder@/Temp/m3.material"); + + MaterialSourceData sourceDataLevel1 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m1.material").TakeValue(); + MaterialSourceData sourceDataLevel2 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m2.material").TakeValue(); + MaterialSourceData sourceDataLevel3 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m3.material").TakeValue(); + + auto materialAssetLevel1 = sourceDataLevel1.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); + EXPECT_TRUE(materialAssetLevel1.IsSuccess()); + EXPECT_TRUE(materialAssetLevel1.GetValue()->WasPreFinalized()); + + auto materialAssetLevel2 = sourceDataLevel2.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); + EXPECT_TRUE(materialAssetLevel2.IsSuccess()); + EXPECT_TRUE(materialAssetLevel2.GetValue()->WasPreFinalized()); + + auto materialAssetLevel3 = sourceDataLevel3.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); + EXPECT_TRUE(materialAssetLevel3.IsSuccess()); + EXPECT_TRUE(materialAssetLevel3.GetValue()->WasPreFinalized()); + + auto layout = materialAssetLevel1.GetValue()->GetMaterialPropertiesLayout(); + MaterialPropertyIndex myFloat = layout->FindPropertyIndex(Name("general.MyFloat")); + MaterialPropertyIndex myFloat2 = layout->FindPropertyIndex(Name("general.MyFloat2")); + MaterialPropertyIndex myColor = layout->FindPropertyIndex(Name("general.MyColor")); + + AZStd::span properties; + + // Check level 1 properties + properties = materialAssetLevel1.GetValue()->GetPropertyValues(); + EXPECT_EQ(properties[myFloat.GetIndex()].GetValue(), 1.5f); + EXPECT_EQ(properties[myFloat2.GetIndex()].GetValue(), Vector2(0.0f, 0.0f)); + EXPECT_EQ(properties[myColor.GetIndex()].GetValue(), Color(0.1f, 0.2f, 0.3f, 0.4f)); + + // Check level 2 properties + properties = materialAssetLevel2.GetValue()->GetPropertyValues(); + EXPECT_EQ(properties[myFloat.GetIndex()].GetValue(), 1.5f); + EXPECT_EQ(properties[myFloat2.GetIndex()].GetValue(), Vector2(4.1f, 4.2f)); + EXPECT_EQ(properties[myColor.GetIndex()].GetValue(), Color(0.15f, 0.25f, 0.35f, 0.45f)); + + // Check level 3 properties + properties = materialAssetLevel3.GetValue()->GetPropertyValues(); + EXPECT_EQ(properties[myFloat.GetIndex()].GetValue(), 3.5f); + EXPECT_EQ(properties[myFloat2.GetIndex()].GetValue(), Vector2(4.1f, 4.2f)); + EXPECT_EQ(properties[myColor.GetIndex()].GetValue(), Color(0.15f, 0.25f, 0.35f, 0.45f)); + } } diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp index 28de56c75e..7490fa5848 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp @@ -362,8 +362,8 @@ namespace MaterialEditor } // TODO: Support populating the Material Editor with nested property groups, not just the top level. - const AZStd::string groupName = propertyId.GetStringView().substr(0, propertyId.GetStringView().size() - propertyDefinition->GetName().size() - 1); - sourceData.m_properties[groupName][propertyDefinition->GetName()] = propertyValue; + AZStd::string_view groupName = propertyId.GetStringView().substr(0, propertyId.GetStringView().size() - propertyDefinition->GetName().size() - 1); + sourceData.SetPropertyValue(AZ::RPI::MaterialPropertyId{groupName, propertyDefinition->GetName()}, propertyValue); } } return true; @@ -395,12 +395,15 @@ namespace MaterialEditor if (AzFramework::StringFunc::Path::IsExtension(m_absolutePath.c_str(), AZ::RPI::MaterialSourceData::Extension)) { // Load the material source data so that we can check properties and create a material asset from it - if (!AZ::RPI::JsonUtils::LoadObjectFromFile(m_absolutePath, m_materialSourceData)) + auto loadResult = AZ::RPI::MaterialUtils::LoadMaterialSourceData(m_absolutePath); + if (!loadResult) { AZ_Error("MaterialDocument", false, "Material source data could not be loaded: '%s'.", m_absolutePath.c_str()); return OpenFailed(); } + m_materialSourceData = loadResult.TakeValue(); + // We always need the absolute path for the material type and parent material to load source data and resolving // relative paths when saving. This will convert and store them as absolute paths for use within the document. if (!m_materialSourceData.m_parentMaterial.empty()) @@ -482,12 +485,15 @@ namespace MaterialEditor if (!m_materialSourceData.m_parentMaterial.empty()) { AZ::RPI::MaterialSourceData parentMaterialSourceData; - if (!AZ::RPI::JsonUtils::LoadObjectFromFile(m_materialSourceData.m_parentMaterial, parentMaterialSourceData)) + auto loadResult = AZ::RPI::MaterialUtils::LoadMaterialSourceData(m_materialSourceData.m_parentMaterial); + if (!loadResult) { AZ_Error("MaterialDocument", false, "Material parent source data could not be loaded for: '%s'.", m_materialSourceData.m_parentMaterial.c_str()); return OpenFailed(); } + parentMaterialSourceData = loadResult.TakeValue(); + const auto parentMaterialAssetIdResult = AZ::RPI::AssetUtils::MakeAssetId(m_materialSourceData.m_parentMaterial, 0); if (!parentMaterialAssetIdResult) { diff --git a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp index 1e5e25fa30..52e22645ca 100644 --- a/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp +++ b/Gems/AtomLyIntegration/CommonFeatures/Code/Source/Material/EditorMaterialComponentUtil.cpp @@ -149,8 +149,8 @@ namespace AZ } // TODO: Support populating the Material Editor with nested property groups, not just the top level. - const AZStd::string groupName = propertyId.GetStringView().substr(0, propertyId.GetStringView().size() - propertyDefinition->GetName().size() - 1); - exportData.m_properties[groupName][propertyDefinition->GetName()] = propertyValue; + AZStd::string_view groupName = propertyId.GetStringView().substr(0, propertyId.GetStringView().size() - propertyDefinition->GetName().size() - 1); + exportData.SetPropertyValue(RPI::MaterialPropertyId{groupName, propertyDefinition->GetName()}, propertyValue); return true; }); From 3a426344dd6707a4801028b1de1aa7820615e162 Mon Sep 17 00:00:00 2001 From: santorac <55155825+santorac@users.noreply.github.com> Date: Tue, 8 Feb 2022 00:51:03 -0800 Subject: [PATCH 3/4] Updated all of the .material files in AutomatedTesting and Atom/TestData to use the new flat list format. The conversion was done using local changes with a script that opens and re-saves every .material file in a given folder (those WIP changes are on a branch here: Atom/santorac/UpgradeMaterialScript). Signed-off-by: santorac <55155825+santorac@users.noreply.github.com> --- ..._Sponza_Material_Conversion_black.material | 50 ++-- ..._Sponza_Material_Conversion_green.material | 50 ++-- ...onza_Material_Conversion_mat_arch.material | 68 ++--- ...za_Material_Conversion_mat_bricks.material | 76 ++---- ...nza_Material_Conversion_mat_floor.material | 72 ++---- ...onza_Material_Conversion_mat_roof.material | 60 ++--- ...Sponza_Material_Conversion_phong5.material | 50 ++-- ...st_Sponza_Material_Conversion_red.material | 50 ++-- ..._Sponza_Material_Conversion_white.material | 22 +- .../objects/lightBlocker_lambert1.material | 24 +- .../Assets/objects/sponza_mat_arch.material | 52 ++-- .../objects/sponza_mat_background.material | 60 ++--- .../Assets/objects/sponza_mat_bricks.material | 60 ++--- .../objects/sponza_mat_ceiling.material | 48 ++-- .../Assets/objects/sponza_mat_chain.material | 46 ++-- .../objects/sponza_mat_columna.material | 60 ++--- .../objects/sponza_mat_columnb.material | 60 ++--- .../objects/sponza_mat_columnc.material | 60 ++--- .../objects/sponza_mat_curtainblue.material | 74 ++---- .../objects/sponza_mat_curtaingreen.material | 48 ++-- .../objects/sponza_mat_curtainred.material | 56 ++-- .../objects/sponza_mat_details.material | 48 +--- .../objects/sponza_mat_fabricblue.material | 50 ++-- .../objects/sponza_mat_fabricgreen.material | 50 ++-- .../objects/sponza_mat_fabricred.material | 50 ++-- .../objects/sponza_mat_flagpole.material | 60 ++--- .../Assets/objects/sponza_mat_floor.material | 58 ++--- .../Assets/objects/sponza_mat_leaf.material | 58 ++--- .../Assets/objects/sponza_mat_lion.material | 48 ++-- .../Assets/objects/sponza_mat_roof.material | 64 ++--- .../Assets/objects/sponza_mat_vase.material | 60 ++--- .../objects/sponza_mat_vasehanging.material | 56 ++-- .../objects/sponza_mat_vaseplant.material | 52 ++-- .../objects/sponza_mat_vaseround.material | 66 ++--- .../PbrMaterialChart/materials/basic.material | 50 ++-- .../materials/basic_m00_r00.material | 14 +- .../materials/basic_m00_r01.material | 14 +- .../materials/basic_m00_r02.material | 14 +- .../materials/basic_m00_r03.material | 14 +- .../materials/basic_m00_r04.material | 14 +- .../materials/basic_m00_r05.material | 14 +- .../materials/basic_m00_r06.material | 14 +- .../materials/basic_m00_r07.material | 14 +- .../materials/basic_m00_r08.material | 14 +- .../materials/basic_m00_r09.material | 14 +- .../materials/basic_m00_r10.material | 14 +- .../materials/basic_m10_r00.material | 14 +- .../materials/basic_m10_r01.material | 14 +- .../materials/basic_m10_r02.material | 14 +- .../materials/basic_m10_r03.material | 14 +- .../materials/basic_m10_r04.material | 14 +- .../materials/basic_m10_r05.material | 14 +- .../materials/basic_m10_r06.material | 14 +- .../materials/basic_m10_r07.material | 14 +- .../materials/basic_m10_r08.material | 14 +- .../materials/basic_m10_r09.material | 14 +- .../materials/basic_m10_r10.material | 14 +- .../Materials/DefaultPBR.material | 2 +- .../Materials/DefaultPBRTransparent.material | 9 +- .../Materials/MinimalBlue.material | 20 +- AutomatedTesting/Materials/UVs.material | 2 +- .../Materials/basic_grey.material | 50 ++-- .../decal/airship_symbol_decal.material | 46 ++-- .../DisplayWrinkleMaskBlendValues.material | 14 +- .../Materials/AutoBrick/Brick.material | 46 ++-- .../Materials/AutoBrick/Tile.material | 52 ++-- .../TestData/Materials/ParallaxRock.material | 43 +--- .../001_hermanubis_regression_test.material | 90 +++---- .../002_wrinkle_regression_test.material | 102 ++++---- .../001_ManyFeatures.material | 242 +++++++----------- .../001_ManyFeatures_Layer2Off.material | 9 +- .../001_ManyFeatures_Layer3Off.material | 9 +- .../002_ParallaxPdo.material | 74 ++---- .../003_Debug_BlendMask.material | 11 +- .../003_Debug_BlendWeights.material | 11 +- .../003_Debug_Displacement.material | 11 +- .../004_UseVertexColors.material | 13 +- .../005_UseDisplacement.material | 114 +++------ .../005_UseDisplacement_Layer2Off.material | 9 +- .../005_UseDisplacement_Layer3Off.material | 9 +- ...isplacement_With_BlendMaskTexture.material | 13 +- ...th_BlendMaskTexture_AllSameHeight.material | 27 +- ...ith_BlendMaskTexture_NoHeightmaps.material | 23 +- ...cement_With_BlendMaskVertexColors.material | 15 +- .../001_DefaultWhite.material | 2 - .../002_BaseColorLerp.material | 24 +- .../002_BaseColorLinearLight.material | 26 +- .../002_BaseColorMultiply.material | 24 +- .../003_MetalMatte.material | 28 +- .../003_MetalPolished.material | 28 +- .../004_MetalMap.material | 30 +-- .../005_RoughnessMap.material | 34 +-- .../006_SpecularF0Map.material | 28 +- ...07_MultiscatteringCompensationOff.material | 34 +-- ...007_MultiscatteringCompensationOn.material | 34 +-- .../008_NormalMap.material | 28 +- .../008_NormalMap_Bevels.material | 12 +- .../009_Opacity_Blended.material | 32 +-- ...ty_Blended_Alpha_Affects_Specular.material | 34 +-- ...ty_Cutout_PackedAlpha_DoubleSided.material | 18 +- ...ity_Cutout_SplitAlpha_DoubleSided.material | 16 +- ...ity_Cutout_SplitAlpha_SingleSided.material | 14 +- .../009_Opacity_Opaque_DoubleSided.material | 12 +- .../009_Opacity_TintedTransparent.material | 30 +-- .../010_AmbientOcclusion.material | 13 +- .../010_BothOcclusion.material | 15 +- .../010_OcclusionBase.material | 30 +-- .../010_SpecularOcclusion.material | 11 +- .../011_Emissive.material | 29 +-- .../012_Parallax_POM.material | 19 +- .../012_Parallax_POM_Cutout.material | 36 +-- .../013_SpecularAA_Off.material | 19 +- .../013_SpecularAA_On.material | 23 +- .../014_ClearCoat.material | 36 +-- .../014_ClearCoat_NormalMap.material | 44 ++-- .../014_ClearCoat_NormalMap_2ndUv.material | 52 ++-- .../014_ClearCoat_RoughnessMap.material | 42 ++- .../015_SubsurfaceScattering.material | 28 +- ...SubsurfaceScattering_Transmission.material | 18 +- ...rfaceScattering_Transmission_Thin.material | 40 ++- .../100_UvTiling_AmbientOcclusion.material | 11 +- .../100_UvTiling_BaseColor.material | 11 +- .../100_UvTiling_Emissive.material | 31 +-- .../100_UvTiling_Metallic.material | 17 +- .../100_UvTiling_Normal.material | 11 +- ...100_UvTiling_Normal_Dome_Rotate20.material | 26 +- ...100_UvTiling_Normal_Dome_Rotate90.material | 26 +- ...0_UvTiling_Normal_Dome_ScaleOnlyU.material | 26 +- ...0_UvTiling_Normal_Dome_ScaleOnlyV.material | 26 +- ...UvTiling_Normal_Dome_ScaleUniform.material | 26 +- ...UvTiling_Normal_Dome_TransformAll.material | 36 ++- .../100_UvTiling_Opacity.material | 17 +- .../100_UvTiling_Parallax_A.material | 53 ++-- .../100_UvTiling_Parallax_B.material | 53 ++-- .../100_UvTiling_Roughness.material | 15 +- .../100_UvTiling_SpecularF0.material | 31 +-- .../101_DetailMaps_BaseNoDetailMaps.material | 40 +-- .../102_DetailMaps_All.material | 60 ++--- .../103_DetailMaps_BaseColor.material | 21 +- .../103_DetailMaps_BaseColorWithMask.material | 15 +- .../104_DetailMaps_Normal.material | 23 +- .../104_DetailMaps_NormalWithMask.material | 13 +- ...etailMaps_BlendMaskUsingDetailUVs.material | 58 ++--- .../UvTilingBase.material | 28 +- .../DisplayVertexColor.material | 22 +- 145 files changed, 1802 insertions(+), 3127 deletions(-) diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_black.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_black.material index d15aa620c7..04766a23e1 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_black.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_black.material @@ -1,35 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "irradiance": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "opacity": { - "factor": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "irradiance.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "opacity.factor": 1.0 } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_green.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_green.material index 579359b085..02440cce7a 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_green.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_green.material @@ -1,35 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.0, - 1.0, - 0.0, - 1.0 - ] - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "irradiance": { - "color": [ - 0.0, - 1.0, - 0.0, - 1.0 - ] - }, - "opacity": { - "factor": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.0, + 1.0, + 0.0, + 1.0 + ], + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "irradiance.color": [ + 0.0, + 1.0, + 0.0, + 1.0 + ], + "opacity.factor": 1.0 } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_arch.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_arch.material index 88d5fc0fc6..e91c35fa8b 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_arch.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_arch.material @@ -1,49 +1,29 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.800000011920929, - 0.800000011920929, - 0.800000011920929, - 1.0 - ], - "textureMap": "Textures/arch_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.885053813457489, - 0.801281750202179, - 1.0 - ] - }, - "metallic": { - "textureMap": "Textures/arch_1k_metallic.png" - }, - "normal": { - "textureMap": "Textures/arch_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "Textures/arch_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.050999999046325687, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "Textures/arch_1k_roughness.png" - } + "propertyValues": { + "baseColor.color": [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1.0 + ], + "baseColor.textureMap": "Textures/arch_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.885053813457489, + 0.801281750202179, + 1.0 + ], + "metallic.textureMap": "Textures/arch_1k_metallic.png", + "normal.textureMap": "Textures/arch_1k_normal.jpg", + "occlusion.diffuseTextureMap": "Textures/arch_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.050999999046325684, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "Textures/arch_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_bricks.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_bricks.material index 7244397ee9..aa23f2e97c 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_bricks.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_bricks.material @@ -1,54 +1,32 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.800000011920929, - 0.800000011920929, - 0.800000011920929, - 1.0 - ], - "textureMap": "Textures/bricks_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "Textures/bricks_1k_normal.jpg", - "roughness": 0.5 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.9703211784362793, - 0.9703211784362793, - 1.0 - ] - }, - "metallic": { - "textureMap": "Textures/bricks_1k_metallic.png" - }, - "normal": { - "textureMap": "Textures/bricks_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "Textures/bricks_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "algorithm": "ContactRefinement", - "factor": 0.03500000014901161, - "quality": "Medium", - "useTexture": false - }, - "roughness": { - "textureMap": "Textures/bricks_1k_roughness.png" - } + "propertyValues": { + "baseColor.color": [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1.0 + ], + "baseColor.textureMap": "Textures/bricks_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "Textures/bricks_1k_normal.jpg", + "clearCoat.roughness": 0.5, + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.9703211784362793, + 0.9703211784362793, + 1.0 + ], + "metallic.textureMap": "Textures/bricks_1k_metallic.png", + "normal.textureMap": "Textures/bricks_1k_normal.jpg", + "occlusion.diffuseTextureMap": "Textures/bricks_1k_ao.png", + "opacity.factor": 1.0, + "parallax.algorithm": "ContactRefinement", + "parallax.factor": 0.03500000014901161, + "parallax.quality": "Medium", + "parallax.useTexture": false, + "roughness.textureMap": "Textures/bricks_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_floor.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_floor.material index 8a3f289c26..a49327a710 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_floor.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_floor.material @@ -1,51 +1,31 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.800000011920929, - 0.800000011920929, - 0.800000011920929, - 1.0 - ], - "textureMap": "Textures/floor_1k_basecolor.png" - }, - "clearCoat": { - "enable": true, - "influenceMap": "Textures/floor_1k_ao.png", - "normalMap": "Textures/floor_1k_normal.png", - "roughness": 0.25 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.9404135346412659, - 0.8688944578170776, - 1.0 - ] - }, - "normal": { - "textureMap": "Textures/floor_1k_normal.png" - }, - "occlusion": { - "diffuseTextureMap": "Textures/floor_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.012000000104308129, - "pdo": true, - "useTexture": false - }, - "roughness": { - "textureMap": "Textures/floor_1k_roughness.png" - } + "propertyValues": { + "baseColor.color": [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1.0 + ], + "baseColor.textureMap": "Textures/floor_1k_basecolor.png", + "clearCoat.enable": true, + "clearCoat.influenceMap": "Textures/floor_1k_ao.png", + "clearCoat.normalMap": "Textures/floor_1k_normal.png", + "clearCoat.roughness": 0.25, + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.9404135346412659, + 0.8688944578170776, + 1.0 + ], + "normal.textureMap": "Textures/floor_1k_normal.png", + "occlusion.diffuseTextureMap": "Textures/floor_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.012000000104308128, + "parallax.pdo": true, + "parallax.useTexture": false, + "roughness.textureMap": "Textures/floor_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_roof.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_roof.material index 7bc193978f..4f6b6bae92 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_roof.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_mat_roof.material @@ -1,44 +1,26 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.800000011920929, - 0.800000011920929, - 0.800000011920929, - 1.0 - ], - "textureBlendMode": "Lerp", - "textureMap": "Textures/roof_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "metallic": { - "useTexture": false - }, - "normal": { - "factor": 0.5, - "flipY": true, - "textureMap": "Textures/roof_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "Textures/roof_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "algorithm": "ContactRefinement", - "factor": 0.019999999552965165, - "quality": "Medium", - "useTexture": false - }, - "roughness": { - "textureMap": "Textures/roof_1k_roughness.png" - } + "propertyValues": { + "baseColor.color": [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1.0 + ], + "baseColor.textureBlendMode": "Lerp", + "baseColor.textureMap": "Textures/roof_1k_basecolor.png", + "general.applySpecularAA": true, + "metallic.useTexture": false, + "normal.factor": 0.5, + "normal.flipY": true, + "normal.textureMap": "Textures/roof_1k_normal.jpg", + "occlusion.diffuseTextureMap": "Textures/roof_1k_ao.png", + "opacity.factor": 1.0, + "parallax.algorithm": "ContactRefinement", + "parallax.factor": 0.019999999552965164, + "parallax.quality": "Medium", + "parallax.useTexture": false, + "roughness.textureMap": "Textures/roof_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_phong5.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_phong5.material index a53cbef4e4..e801b4d095 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_phong5.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_phong5.material @@ -1,35 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.0, - 0.0, - 1.0, - 1.0 - ] - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "irradiance": { - "color": [ - 0.0, - 0.0, - 1.0, - 1.0 - ] - }, - "opacity": { - "factor": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.0, + 0.0, + 1.0, + 1.0 + ], + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "irradiance.color": [ + 0.0, + 0.0, + 1.0, + 1.0 + ], + "opacity.factor": 1.0 } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_red.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_red.material index 6ddb645319..ea364bab34 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_red.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_red.material @@ -1,35 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.800000011920929, - 0.0, - 0.0, - 1.0 - ] - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "irradiance": { - "color": [ - 1.0, - 0.0, - 0.0, - 1.0 - ] - }, - "opacity": { - "factor": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.800000011920929, + 0.0, + 0.0, + 1.0 + ], + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "irradiance.color": [ + 1.0, + 0.0, + 0.0, + 1.0 + ], + "opacity.factor": 1.0 } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_white.material b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_white.material index e3d310cd15..0f90de5e13 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_white.material +++ b/AutomatedTesting/Gem/Sponza/Assets/TestData/Test_Sponza_Material_Conversion_white.material @@ -1,19 +1,13 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "opacity": { - "factor": 1.0 - } + "propertyValues": { + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "opacity.factor": 1.0 } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/lightBlocker_lambert1.material b/AutomatedTesting/Gem/Sponza/Assets/objects/lightBlocker_lambert1.material index 35677a81c6..0f90de5e13 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/lightBlocker_lambert1.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/lightBlocker_lambert1.material @@ -1,19 +1,13 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "opacity": { - "factor": 1.0 - } + "propertyValues": { + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "opacity.factor": 1.0 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_arch.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_arch.material index 6518091265..21f63885a9 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_arch.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_arch.material @@ -1,40 +1,22 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/arch_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.2663614749908447, - 0.2383916974067688, - 0.18117037415504456, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/arch_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/arch_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.050999999046325684, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/arch_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/arch_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.2663614749908447, + 0.2383916974067688, + 0.18117037415504456, + 1.0 + ], + "normal.textureMap": "../Textures/arch_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/arch_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.050999999046325684, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/arch_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_background.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_background.material index 2fd7ed39cc..7d5edb86e8 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_background.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_background.material @@ -1,45 +1,25 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/background_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "../Textures/background_1k_normal.jpg", - "roughness": 0.4000000059604645 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.19806210696697235, - 0.1746547669172287, - 0.16513313353061676, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/background_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/background_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.03099999949336052, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/background_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/background_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "../Textures/background_1k_normal.jpg", + "clearCoat.roughness": 0.4000000059604645, + "general.applySpecularAA": true, + "irradiance.color": [ + 0.19806210696697235, + 0.1746547669172287, + 0.16513313353061676, + 1.0 + ], + "normal.textureMap": "../Textures/background_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/background_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.03099999949336052, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/background_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_bricks.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_bricks.material index 52fdf9e3a2..9e7a01d573 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_bricks.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_bricks.material @@ -1,45 +1,25 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/bricks_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "../Textures/bricks_1k_normal.jpg", - "roughness": 0.5 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.27467766404151917, - 0.27467766404151917, - 0.270496666431427, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/bricks_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/bricks_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "algorithm": "ContactRefinement", - "factor": 0.03500000014901161, - "quality": "Medium", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/bricks_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/bricks_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "../Textures/bricks_1k_normal.jpg", + "clearCoat.roughness": 0.5, + "general.applySpecularAA": true, + "irradiance.color": [ + 0.27467766404151917, + 0.27467766404151917, + 0.270496666431427, + 1.0 + ], + "normal.textureMap": "../Textures/bricks_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/bricks_1k_ao.png", + "opacity.factor": 1.0, + "parallax.algorithm": "ContactRefinement", + "parallax.factor": 0.03500000014901161, + "parallax.quality": "Medium", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/bricks_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_ceiling.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_ceiling.material index 10f5a01a8e..b9bc4e3dcb 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_ceiling.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_ceiling.material @@ -1,36 +1,22 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/ceiling_1k_basecolor.png" - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "irradiance": { - "color": [ - 0.29176774621009827, - 0.27888914942741394, - 0.2501564025878906, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/ceiling_1k_normal.png" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/ceiling_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/ceiling_1k_basecolor.png", + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "irradiance.color": [ + 0.29176774621009827, + 0.27888914942741394, + 0.2501564025878906, + 1.0 + ], + "normal.textureMap": "../Textures/ceiling_1k_normal.png", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/ceiling_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_chain.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_chain.material index caf03bd3ce..5b553b5113 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_chain.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_chain.material @@ -1,35 +1,21 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureBlendMode": "Lerp", - "textureMap": "../Textures/chain_basecolor.png" - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "general": { - "doubleSided": true - }, - "metallic": { - "factor": 0.8899999856948853 - }, - "normal": { - "textureMap": "../Textures/chain_normal.jpg" - }, - "opacity": { - "alphaSource": "Split", - "factor": 1.0, - "mode": "Cutout", - "textureMap": "../Textures/chain_alpha.png" - } + "propertyValues": { + "baseColor.textureBlendMode": "Lerp", + "baseColor.textureMap": "../Textures/chain_basecolor.png", + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "general.doubleSided": true, + "metallic.factor": 0.8899999856948853, + "normal.textureMap": "../Textures/chain_normal.jpg", + "opacity.alphaSource": "Split", + "opacity.factor": 1.0, + "opacity.mode": "Cutout", + "opacity.textureMap": "../Textures/chain_alpha.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columna.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columna.material index 15c3fec349..5e8b17d959 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columna.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columna.material @@ -1,45 +1,25 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/columnA_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "../Textures/columnA_1k_normal.jpg", - "roughness": 0.30000001192092896 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.8964369893074036, - 0.8264744281768799, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/columnA_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/columnA_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.017000000923871994, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/columnA_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/columnA_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "../Textures/columnA_1k_normal.jpg", + "clearCoat.roughness": 0.30000001192092896, + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.8964369893074036, + 0.8264744281768799, + 1.0 + ], + "normal.textureMap": "../Textures/columnA_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/columnA_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.017000000923871994, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/columnA_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnb.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnb.material index e13f96b2bb..4f24f4d61b 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnb.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnb.material @@ -1,45 +1,25 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/columnB_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "../Textures/columnB_1k_normal.jpg", - "roughness": 0.30000001192092896 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.41788357496261597, - 0.40723279118537903, - 0.4286869466304779, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/columnB_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/columnB_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.020999999716877937, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/columnB_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/columnB_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "../Textures/columnB_1k_normal.jpg", + "clearCoat.roughness": 0.30000001192092896, + "general.applySpecularAA": true, + "irradiance.color": [ + 0.41788357496261597, + 0.40723279118537903, + 0.4286869466304779, + 1.0 + ], + "normal.textureMap": "../Textures/columnB_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/columnB_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.020999999716877937, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/columnB_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnc.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnc.material index 479692848a..e7c9401091 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnc.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_columnc.material @@ -1,45 +1,25 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/columnC_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "../Textures/columnC_1k_normal.jpg", - "roughness": 0.30000001192092896 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.32314029335975647, - 0.29176774621009827, - 0.24228274822235107, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/columnC_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/columnC_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.014000000432133675, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/columnC_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/columnC_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "../Textures/columnC_1k_normal.jpg", + "clearCoat.roughness": 0.30000001192092896, + "general.applySpecularAA": true, + "irradiance.color": [ + 0.32314029335975647, + 0.29176774621009827, + 0.24228274822235107, + 1.0 + ], + "normal.textureMap": "../Textures/columnC_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/columnC_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.014000000432133675, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/columnC_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainblue.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainblue.material index 50fd968956..8b2167e4ac 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainblue.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainblue.material @@ -1,52 +1,32 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "color": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], - "textureMap": "../Textures/curtainBlue_1k_basecolor.png" - }, - "emissive": { - "color": [ - 1.0, - 1.0, - 1.0, - 1.0 - ] - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.0, - 0.14901961386203766, - 1.0, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/curtain_metallic.png" - }, - "normal": { - "factor": 0.5, - "textureMap": "../Textures/curtain_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/curtain_ao.png" - }, - "roughness": { - "textureMap": "../Textures/curtain_roughness.png" - }, - "specularF0": { - "enableMultiScatterCompensation": true - } + "propertyValues": { + "baseColor.color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "baseColor.textureMap": "../Textures/curtainBlue_1k_basecolor.png", + "emissive.color": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "general.applySpecularAA": true, + "irradiance.color": [ + 0.0, + 0.14901961386203766, + 1.0, + 1.0 + ], + "metallic.textureMap": "../Textures/curtain_metallic.png", + "normal.factor": 0.5, + "normal.textureMap": "../Textures/curtain_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/curtain_ao.png", + "roughness.textureMap": "../Textures/curtain_roughness.png", + "specularF0.enableMultiScatterCompensation": true } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtaingreen.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtaingreen.material index 6e70a42d24..5e6233ab04 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtaingreen.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtaingreen.material @@ -1,38 +1,20 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/curtainGreen_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.0, - 0.15294118225574493, - 0.0, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/curtain_metallic.png" - }, - "normal": { - "factor": 0.5, - "textureMap": "../Textures/curtain_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/curtain_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/curtain_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/curtainGreen_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.0, + 0.15294118225574493, + 0.0, + 1.0 + ], + "metallic.textureMap": "../Textures/curtain_metallic.png", + "normal.factor": 0.5, + "normal.textureMap": "../Textures/curtain_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/curtain_ao.png", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/curtain_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainred.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainred.material index 8233633310..86122d274f 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainred.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_curtainred.material @@ -1,43 +1,23 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/curtainRed_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.41960784792900085, - 0.003921568859368563, - 0.003921568859368563, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/curtain_metallic.png" - }, - "normal": { - "textureMap": "../Textures/curtain_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/curtain_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/curtain_roughness.png" - }, - "uv": { - "center": [ - 16.0, - 0.0 - ] - } + "propertyValues": { + "baseColor.textureMap": "../Textures/curtainRed_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.41960784792900085, + 0.003921568859368563, + 0.003921568859368563, + 1.0 + ], + "metallic.textureMap": "../Textures/curtain_metallic.png", + "normal.textureMap": "../Textures/curtain_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/curtain_ao.png", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/curtain_roughness.png", + "uv.center": [ + 16.0, + 0.0 + ] } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_details.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_details.material index b66d8fa679..1a8588e749 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_details.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_details.material @@ -1,39 +1,19 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/details_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "normalMap": "../Textures/details_1k_normal.png", - "roughness": 0.25 - }, - "general": { - "applySpecularAA": true - }, - "metallic": { - "textureMap": "../Textures/details_1k_metallic.png" - }, - "normal": { - "textureMap": "../Textures/details_1k_normal.png" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/details_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.02500000037252903, - "pdo": true, - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/details_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/details_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.normalMap": "../Textures/details_1k_normal.png", + "clearCoat.roughness": 0.25, + "general.applySpecularAA": true, + "metallic.textureMap": "../Textures/details_1k_metallic.png", + "normal.textureMap": "../Textures/details_1k_normal.png", + "occlusion.diffuseTextureMap": "../Textures/details_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.02500000037252903, + "parallax.pdo": true, + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/details_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricblue.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricblue.material index 19ce3a6839..4cb149b1dc 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricblue.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricblue.material @@ -1,39 +1,21 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/fabricBlue_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.0, - 0.15049973130226135, - 1.0, - 1.0 - ], - "factor": 0.30000001192092896 - }, - "metallic": { - "textureMap": "../Textures/fabric_metallic.png" - }, - "normal": { - "factor": 0.5, - "textureMap": "../Textures/fabric_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/fabric_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/fabric_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/fabricBlue_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.0, + 0.15049973130226135, + 1.0, + 1.0 + ], + "irradiance.factor": 0.30000001192092896, + "metallic.textureMap": "../Textures/fabric_metallic.png", + "normal.factor": 0.5, + "normal.textureMap": "../Textures/fabric_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/fabric_ao.png", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/fabric_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricgreen.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricgreen.material index 94b8270fef..9a6746ba12 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricgreen.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricgreen.material @@ -1,39 +1,21 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/fabricGreen_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.0, - 0.15292592346668243, - 0.0012207217514514923, - 1.0 - ], - "factor": 0.30000001192092896 - }, - "metallic": { - "textureMap": "../Textures/fabric_metallic.png" - }, - "normal": { - "factor": 0.5, - "textureMap": "../Textures/fabric_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/fabric_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/fabric_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/fabricGreen_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.0, + 0.15292592346668243, + 0.0012207217514514923, + 1.0 + ], + "irradiance.factor": 0.30000001192092896, + "metallic.textureMap": "../Textures/fabric_metallic.png", + "normal.factor": 0.5, + "normal.textureMap": "../Textures/fabric_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/fabric_ao.png", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/fabric_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricred.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricred.material index 7bd2ecddd0..85cd0e1650 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricred.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_fabricred.material @@ -1,39 +1,21 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/fabricRed_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.42040130496025085, - 0.004654001910239458, - 0.0037232013419270515, - 1.0 - ], - "factor": 0.30000001192092896 - }, - "metallic": { - "textureMap": "../Textures/fabric_metallic.png" - }, - "normal": { - "factor": 0.5, - "textureMap": "../Textures/fabric_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/fabric_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/fabric_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/fabricRed_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.42040130496025085, + 0.004654001910239458, + 0.0037232013419270515, + 1.0 + ], + "irradiance.factor": 0.30000001192092896, + "metallic.textureMap": "../Textures/fabric_metallic.png", + "normal.factor": 0.5, + "normal.textureMap": "../Textures/fabric_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/fabric_ao.png", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/fabric_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_flagpole.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_flagpole.material index aca6c05d29..53f78ac390 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_flagpole.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_flagpole.material @@ -1,46 +1,24 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/flagpole_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.6520485281944275, - 0.7122911214828491, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/flagpole_1k_metallic.png" - }, - "normal": { - "textureMap": "../Textures/flagpole_1k_normal.png" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/flagpole_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.014000000432133675, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/flagpole_1k_roughness.png" - }, - "specularF0": { - "enableMultiScatterCompensation": true - } + "propertyValues": { + "baseColor.textureMap": "../Textures/flagpole_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.6520485281944275, + 0.7122911214828491, + 1.0 + ], + "metallic.textureMap": "../Textures/flagpole_1k_metallic.png", + "normal.textureMap": "../Textures/flagpole_1k_normal.png", + "occlusion.diffuseTextureMap": "../Textures/flagpole_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.014000000432133675, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/flagpole_1k_roughness.png", + "specularF0.enableMultiScatterCompensation": true } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_floor.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_floor.material index b75143326d..29aed982e7 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_floor.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_floor.material @@ -1,44 +1,24 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/floor_1k_basecolor.png" - }, - "clearCoat": { - "influenceMap": "../Textures/floor_1k_ao.png", - "normalMap": "../Textures/floor_1k_normal.png", - "roughness": 0.25 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.9404135346412659, - 0.8688944578170776, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/floor_1k_normal.png" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/floor_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.012000000104308128, - "pdo": true, - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/floor_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/floor_1k_basecolor.png", + "clearCoat.influenceMap": "../Textures/floor_1k_ao.png", + "clearCoat.normalMap": "../Textures/floor_1k_normal.png", + "clearCoat.roughness": 0.25, + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.9404135346412659, + 0.8688944578170776, + 1.0 + ], + "normal.textureMap": "../Textures/floor_1k_normal.png", + "occlusion.diffuseTextureMap": "../Textures/floor_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.012000000104308128, + "parallax.pdo": true, + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/floor_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_leaf.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_leaf.material index 51638d6d94..50c2a119ef 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_leaf.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_leaf.material @@ -1,43 +1,25 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/thorn_basecolor.png" - }, - "clearCoat": { - "factor": 0.05000000074505806, - "normalMap": "../Textures/thorn_normal.jpg", - "roughness": 0.10000000149011612 - }, - "general": { - "applySpecularAA": true, - "doubleSided": true - }, - "irradiance": { - "color": [ - 0.46506446599960327, - 1.0, - 0.3944609761238098, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/thorn_normal.jpg" - }, - "opacity": { - "alphaSource": "Split", - "factor": 0.20000000298023224, - "mode": "Cutout", - "textureMap": "../Textures/thorn_alpha.png" - }, - "parallax": { - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/thorn_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/thorn_basecolor.png", + "clearCoat.factor": 0.05000000074505806, + "clearCoat.normalMap": "../Textures/thorn_normal.jpg", + "clearCoat.roughness": 0.10000000149011612, + "general.applySpecularAA": true, + "general.doubleSided": true, + "irradiance.color": [ + 0.46506446599960327, + 1.0, + 0.3944609761238098, + 1.0 + ], + "normal.textureMap": "../Textures/thorn_normal.jpg", + "opacity.alphaSource": "Split", + "opacity.factor": 0.20000000298023224, + "opacity.mode": "Cutout", + "opacity.textureMap": "../Textures/thorn_alpha.png", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/thorn_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_lion.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_lion.material index eee41e9c13..97dbaa7f18 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_lion.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_lion.material @@ -1,36 +1,22 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/lion_1k_basecolor.png" - }, - "emissive": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "irradiance": { - "color": [ - 0.5583428740501404, - 0.496940553188324, - 0.4125429093837738, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/lion_1k_normal.jpg" - }, - "opacity": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "../Textures/lion_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/lion_1k_basecolor.png", + "emissive.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "irradiance.color": [ + 0.5583428740501404, + 0.496940553188324, + 0.4125429093837738, + 1.0 + ], + "normal.textureMap": "../Textures/lion_1k_normal.jpg", + "opacity.factor": 1.0, + "roughness.textureMap": "../Textures/lion_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_roof.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_roof.material index fec7bb1e34..6416ee2b55 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_roof.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_roof.material @@ -1,47 +1,27 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureBlendMode": "Lerp", - "textureMap": "../Textures/roof_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.29613184928894043, - 0.3324483036994934, - 0.45078203082084656, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/roof_1k_metallic.png", - "useTexture": false - }, - "normal": { - "factor": 0.5, - "flipY": true, - "textureMap": "../Textures/roof_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/roof_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "algorithm": "ContactRefinement", - "factor": 0.019999999552965164, - "quality": "Medium", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/roof_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureBlendMode": "Lerp", + "baseColor.textureMap": "../Textures/roof_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.29613184928894043, + 0.3324483036994934, + 0.45078203082084656, + 1.0 + ], + "metallic.textureMap": "../Textures/roof_1k_metallic.png", + "metallic.useTexture": false, + "normal.factor": 0.5, + "normal.flipY": true, + "normal.textureMap": "../Textures/roof_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/roof_1k_ao.png", + "opacity.factor": 1.0, + "parallax.algorithm": "ContactRefinement", + "parallax.factor": 0.019999999552965164, + "parallax.quality": "Medium", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/roof_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vase.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vase.material index da7a9de3a8..4722c4a2ff 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vase.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vase.material @@ -1,46 +1,24 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/vase_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 1.0, - 0.8713664412498474, - 0.6021667718887329, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/vase_1k_metallic.png" - }, - "normal": { - "textureMap": "../Textures/vase_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/vase_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.027000000700354576, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/vase_1k_roughness.png" - }, - "specularF0": { - "enableMultiScatterCompensation": true - } + "propertyValues": { + "baseColor.textureMap": "../Textures/vase_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 1.0, + 0.8713664412498474, + 0.6021667718887329, + 1.0 + ], + "metallic.textureMap": "../Textures/vase_1k_metallic.png", + "normal.textureMap": "../Textures/vase_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/vase_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.027000000700354576, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/vase_1k_roughness.png", + "specularF0.enableMultiScatterCompensation": true } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vasehanging.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vasehanging.material index bda7aad38c..31ac0bd369 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vasehanging.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vasehanging.material @@ -1,43 +1,23 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/vaseHanging_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.765606164932251, - 1.0, - 0.7052567601203918, - 1.0 - ] - }, - "metallic": { - "textureMap": "../Textures/vaseHanging_1k_metallic.png" - }, - "normal": { - "textureMap": "../Textures/vaseHanging_1k_normal.png" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/vaseHanging_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.04600000008940697, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/vaseHanging_1k_roughness.png" - } + "propertyValues": { + "baseColor.textureMap": "../Textures/vaseHanging_1k_basecolor.png", + "general.applySpecularAA": true, + "irradiance.color": [ + 0.765606164932251, + 1.0, + 0.7052567601203918, + 1.0 + ], + "metallic.textureMap": "../Textures/vaseHanging_1k_metallic.png", + "normal.textureMap": "../Textures/vaseHanging_1k_normal.png", + "occlusion.diffuseTextureMap": "../Textures/vaseHanging_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.04600000008940697, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/vaseHanging_1k_roughness.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseplant.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseplant.material index 5546daa0e0..fc92f7beca 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseplant.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseplant.material @@ -1,36 +1,26 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "color": [ - 0.800000011920929, - 0.800000011920929, - 0.800000011920929, - 1.0 - ], - "textureBlendMode": "Lerp", - "textureMap": "../Textures/vasePlant_1k_basecolor.png" - }, - "general": { - "applySpecularAA": true, - "doubleSided": true - }, - "irradiance": { - "color": [ - 0.09086747467517853, - 0.4111391007900238, - 0.0474097803235054, - 1.0 - ] - }, - "opacity": { - "alphaSource": "Split", - "factor": 0.23999999463558197, - "mode": "Cutout", - "textureMap": "../Textures/vasePlant_1k_alpha.png" - } + "propertyValues": { + "baseColor.color": [ + 0.800000011920929, + 0.800000011920929, + 0.800000011920929, + 1.0 + ], + "baseColor.textureBlendMode": "Lerp", + "baseColor.textureMap": "../Textures/vasePlant_1k_basecolor.png", + "general.applySpecularAA": true, + "general.doubleSided": true, + "irradiance.color": [ + 0.09086747467517853, + 0.4111391007900238, + 0.0474097803235054, + 1.0 + ], + "opacity.alphaSource": "Split", + "opacity.factor": 0.23999999463558197, + "opacity.mode": "Cutout", + "opacity.textureMap": "../Textures/vasePlant_1k_alpha.png" } } \ No newline at end of file diff --git a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseround.material b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseround.material index 268e3ab613..049859e37e 100644 --- a/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseround.material +++ b/AutomatedTesting/Gem/Sponza/Assets/objects/sponza_mat_vaseround.material @@ -1,49 +1,27 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "../Textures/vaseRound_1k_basecolor.png" - }, - "clearCoat": { - "factor": 0.5, - "influenceMap": "../Textures/vaseRound_1k_ao.png", - "normalMap": "../Textures/vaseRound_1k_normal.jpg", - "roughness": 0.25 - }, - "general": { - "applySpecularAA": true - }, - "irradiance": { - "color": [ - 0.46933698654174805, - 0.3824063539505005, - 0.47861447930336, - 1.0 - ] - }, - "normal": { - "textureMap": "../Textures/vaseRound_1k_normal.jpg" - }, - "occlusion": { - "diffuseTextureMap": "../Textures/vaseRound_1k_ao.png" - }, - "opacity": { - "factor": 1.0 - }, - "parallax": { - "factor": 0.019999999552965164, - "pdo": true, - "quality": "High", - "useTexture": false - }, - "roughness": { - "textureMap": "../Textures/vaseRound_1k_roughness.png" - }, - "specularF0": { - "enableMultiScatterCompensation": true - } + "propertyValues": { + "baseColor.textureMap": "../Textures/vaseRound_1k_basecolor.png", + "clearCoat.factor": 0.5, + "clearCoat.influenceMap": "../Textures/vaseRound_1k_ao.png", + "clearCoat.normalMap": "../Textures/vaseRound_1k_normal.jpg", + "clearCoat.roughness": 0.25, + "general.applySpecularAA": true, + "irradiance.color": [ + 0.46933698654174805, + 0.3824063539505005, + 0.47861447930336, + 1.0 + ], + "normal.textureMap": "../Textures/vaseRound_1k_normal.jpg", + "occlusion.diffuseTextureMap": "../Textures/vaseRound_1k_ao.png", + "opacity.factor": 1.0, + "parallax.factor": 0.019999999552965164, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.useTexture": false, + "roughness.textureMap": "../Textures/vaseRound_1k_roughness.png", + "specularF0.enableMultiScatterCompensation": true } } \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic.material index 6af3ceb0c1..7fbdfd2e4e 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic.material @@ -1,32 +1,26 @@ { "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "baseColor": { - "color": [ 1.0, 1.0, 1.0 ], - "factor": 0.75, - "useTexture": false, - "textureMap": "" - }, - "metallic": { - "factor": 0.0, - "useTexture": false, - "textureMap": "" - }, - "roughness": { - "factor": 0.0, - "useTexture": false, - "textureMap": "" - }, - "specularF0": { - "factor": 0.5, - "useTexture": false, - "textureMap": "" - }, - "normal": { - "factor": 1.0, - "useTexture": false, - "textureMap": "" - } + "propertyValues": { + "baseColor.color": [ + 1.0, + 1.0, + 1.0 + ], + "baseColor.factor": 0.75, + "baseColor.textureMap": "", + "baseColor.useTexture": false, + "metallic.factor": 0.0, + "metallic.textureMap": "", + "metallic.useTexture": false, + "normal.factor": 1.0, + "normal.textureMap": "", + "normal.useTexture": false, + "roughness.factor": 0.0, + "roughness.textureMap": "", + "roughness.useTexture": false, + "specularF0.factor": 0.5, + "specularF0.textureMap": "", + "specularF0.useTexture": false } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r00.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r00.material index 541bd83981..0a84ea1a7f 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r00.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r00.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.0 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.0 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r01.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r01.material index 19691258e0..2eca4d2cee 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r01.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r01.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.1 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.10000000149011612 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r02.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r02.material index 46fda2aab1..3bd1791d7c 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r02.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r02.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.2 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.20000000298023224 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r03.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r03.material index 79cf4bf401..15f7e5895d 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r03.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r03.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.3 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.30000001192092896 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r04.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r04.material index 9aabf3e158..e33d6a9e8f 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r04.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r04.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.4 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.4000000059604645 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r05.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r05.material index 8b02f225fc..d7f663fefc 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r05.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r05.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.5 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r06.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r06.material index 5b089da4bd..7a3be6c791 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r06.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r06.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.6 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.6000000238418579 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r07.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r07.material index 25741cf689..ad59f0bc0a 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r07.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r07.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.7 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.699999988079071 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r08.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r08.material index 04103273f2..ed24021dce 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r08.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r08.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.8 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.800000011920929 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r09.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r09.material index 74eb68da99..34d75d2d03 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r09.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r09.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 0.9 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 0.8999999761581421 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r10.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r10.material index 3533ca6676..d540e239a0 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r10.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m00_r10.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 0.0 - }, - "roughness": { - "factor": 1.0 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 0.0, + "roughness.factor": 1.0 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r00.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r00.material index d2ce0fadc9..b3ac239778 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r00.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r00.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.0 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.0 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r01.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r01.material index 8d96ea6217..fc1b49c65a 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r01.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r01.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.1 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.10000000149011612 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r02.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r02.material index e8feb87283..5058b2f562 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r02.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r02.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.2 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.20000000298023224 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r03.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r03.material index c14591bd52..f1395484c8 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r03.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r03.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.3 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.30000001192092896 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r04.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r04.material index 60a3167f02..87d741f0bc 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r04.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r04.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.4 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.4000000059604645 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r05.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r05.material index d71ff06961..128b1a45f2 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r05.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r05.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.5 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r06.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r06.material index 6fa8cfe1a6..00c7864af4 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r06.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r06.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.6 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.6000000238418579 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r07.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r07.material index 773cc66f03..74e26c35e4 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r07.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r07.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.7 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.699999988079071 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r08.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r08.material index 6971597d1d..6f8140338c 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r08.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r08.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.8 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.800000011920929 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r09.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r09.material index c2d8cc47bd..bbfaca32a1 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r09.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r09.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.9 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 0.8999999761581421 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r10.material b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r10.material index 906879b0ea..5c375fde88 100644 --- a/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r10.material +++ b/AutomatedTesting/Levels/Graphics/PbrMaterialChart/materials/basic_m10_r10.material @@ -1,13 +1,9 @@ { - "parentMaterial": "./basic.material", "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 1.0 - } + "parentMaterial": "./basic.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.factor": 1.0 } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Materials/DefaultPBR.material b/AutomatedTesting/Materials/DefaultPBR.material index f0990f148c..918af4b939 100644 --- a/AutomatedTesting/Materials/DefaultPBR.material +++ b/AutomatedTesting/Materials/DefaultPBR.material @@ -1,4 +1,4 @@ { "materialType": "Materials/Types/StandardPBR.materialtype", "parentMaterial": "Materials/Presets/PBR/default_grid.material" -} +} \ No newline at end of file diff --git a/AutomatedTesting/Materials/DefaultPBRTransparent.material b/AutomatedTesting/Materials/DefaultPBRTransparent.material index a7000d5371..9a0c3ba360 100644 --- a/AutomatedTesting/Materials/DefaultPBRTransparent.material +++ b/AutomatedTesting/Materials/DefaultPBRTransparent.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "Materials/Presets/PBR/default_grid.material", "materialTypeVersion": 3, - "properties": { - "opacity": { - "mode": "Blended" - } + "parentMaterial": "Materials/Presets/PBR/default_grid.material", + "propertyValues": { + "opacity.mode": "Blended" } } \ No newline at end of file diff --git a/AutomatedTesting/Materials/MinimalBlue.material b/AutomatedTesting/Materials/MinimalBlue.material index 7310a90250..62d4659a96 100644 --- a/AutomatedTesting/Materials/MinimalBlue.material +++ b/AutomatedTesting/Materials/MinimalBlue.material @@ -1,17 +1,13 @@ { - "description": "", - "parentMaterial": "", "materialType": "TestData/Materials/Types/MinimalPBR.materialtype", "materialTypeVersion": 3, - "properties": { - "settings": { - "color": [ - 0.08522164076566696, - 0.11898985505104065, - 1.0, - 1.0 - ], - "roughness": 0.33000001311302185 - } + "propertyValues": { + "settings.color": [ + 0.08522164076566696, + 0.11898985505104065, + 1.0, + 1.0 + ], + "settings.roughness": 0.33000001311302185 } } \ No newline at end of file diff --git a/AutomatedTesting/Materials/UVs.material b/AutomatedTesting/Materials/UVs.material index bd66df622e..4515b7c234 100644 --- a/AutomatedTesting/Materials/UVs.material +++ b/AutomatedTesting/Materials/UVs.material @@ -1,3 +1,3 @@ { "materialType": "UVs.materialtype" -} +} \ No newline at end of file diff --git a/AutomatedTesting/Materials/basic_grey.material b/AutomatedTesting/Materials/basic_grey.material index 6ecc1e029a..740a17b163 100644 --- a/AutomatedTesting/Materials/basic_grey.material +++ b/AutomatedTesting/Materials/basic_grey.material @@ -1,32 +1,26 @@ { "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 1, - "properties": { - "baseColor": { - "color": [ 0.18, 0.18, 0.18 ], - "factor": 1.0, - "useTexture": false, - "textureMap": "" - }, - "metallic": { - "factor": 0.0, - "useTexture": false, - "textureMap": "" - }, - "roughness": { - "factor": 1.0, - "useTexture": false, - "textureMap": "" - }, - "specularF0": { - "factor": 0.5, - "useTexture": false, - "textureMap": "" - }, - "normal": { - "factor": 1.0, - "useTexture": false, - "textureMap": "" - } + "propertyValues": { + "baseColor.color": [ + 0.18000000715255737, + 0.18000000715255737, + 0.18000000715255737 + ], + "baseColor.factor": 1.0, + "baseColor.textureMap": "", + "baseColor.useTexture": false, + "metallic.factor": 0.0, + "metallic.textureMap": "", + "metallic.useTexture": false, + "normal.factor": 1.0, + "normal.textureMap": "", + "normal.useTexture": false, + "roughness.factor": 1.0, + "roughness.textureMap": "", + "roughness.useTexture": false, + "specularF0.factor": 0.5, + "specularF0.textureMap": "", + "specularF0.useTexture": false } -} +} \ No newline at end of file diff --git a/AutomatedTesting/Materials/decal/airship_symbol_decal.material b/AutomatedTesting/Materials/decal/airship_symbol_decal.material index 40060aafeb..f1faca6105 100644 --- a/AutomatedTesting/Materials/decal/airship_symbol_decal.material +++ b/AutomatedTesting/Materials/decal/airship_symbol_decal.material @@ -1,36 +1,20 @@ { "materialType": "Materials/Types/StandardPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "textureMap": "Materials/decal/airship_symbol_decal.tif" - }, - "general": { - "doubleSided": true - }, - "metallic": { - "useTexture": false - }, - "normal": { - "useTexture": false - }, - "opacity": { - "alphaSource": "Split", - "factor": 0.6899999976158142, - "mode": "Cutout", - "textureMap": "Materials/decal/airship_symbol_decal.tif" - }, - "roughness": { - "useTexture": false - }, - "specularF0": { - "useTexture": false - }, - "uv": { - "center": [ - 0.0, - 1.0 - ] - } + "propertyValues": { + "baseColor.textureMap": "Materials/decal/airship_symbol_decal.tif", + "general.doubleSided": true, + "metallic.useTexture": false, + "normal.useTexture": false, + "opacity.alphaSource": "Split", + "opacity.factor": 0.6899999976158142, + "opacity.mode": "Cutout", + "opacity.textureMap": "Materials/decal/airship_symbol_decal.tif", + "roughness.useTexture": false, + "specularF0.useTexture": false, + "uv.center": [ + 0.0, + 1.0 + ] } } \ No newline at end of file diff --git a/AutomatedTesting/Objects/MorphTargets/DisplayWrinkleMaskBlendValues.material b/AutomatedTesting/Objects/MorphTargets/DisplayWrinkleMaskBlendValues.material index 52c323b454..a918ef45be 100644 --- a/AutomatedTesting/Objects/MorphTargets/DisplayWrinkleMaskBlendValues.material +++ b/AutomatedTesting/Objects/MorphTargets/DisplayWrinkleMaskBlendValues.material @@ -1,13 +1,9 @@ { - "description": "", "materialType": "Materials/Types/Skin.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "wrinkleLayers": { - "count": 3, - "enable": true, - "showBlendValues": true - } + "propertyValues": { + "wrinkleLayers.count": 3, + "wrinkleLayers.enable": true, + "wrinkleLayers.showBlendValues": true } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/AutoBrick/Brick.material b/Gems/Atom/TestData/TestData/Materials/AutoBrick/Brick.material index 061510d4c2..4312a91ffe 100644 --- a/Gems/Atom/TestData/TestData/Materials/AutoBrick/Brick.material +++ b/Gems/Atom/TestData/TestData/Materials/AutoBrick/Brick.material @@ -1,30 +1,24 @@ { - "description": "", "materialType": "TestData/Materials/Types/AutoBrick.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "appearance": { - "ao": 0.5252525210380554, - "brickColor": [ - 0.3013504147529602, - 0.0032501716632395984, - 0.0032501716632395984, - 1.0 - ], - "brickColorBleed": 0.5050504803657532, - "brickColorNoise": 0.20202019810676576, - "lineColor": [ - 0.08339055627584458, - 0.07264820486307144, - 0.05905241519212723, - 1.0 - ], - "lineColorNoise": 0.35353541374206545 - }, - "shape": { - "brickWidth": 0.16660000383853913, - "lineDepth": 0.005454500205814838 - } + "propertyValues": { + "appearance.ao": 0.5252525210380554, + "appearance.brickColor": [ + 0.3013504147529602, + 0.0032501716632395983, + 0.0032501716632395983, + 1.0 + ], + "appearance.brickColorBleed": 0.5050504803657532, + "appearance.brickColorNoise": 0.20202019810676575, + "appearance.lineColor": [ + 0.08339055627584457, + 0.07264820486307144, + 0.05905241519212723, + 1.0 + ], + "appearance.lineColorNoise": 0.35353541374206543, + "shape.brickWidth": 0.16660000383853912, + "shape.lineDepth": 0.005454500205814838 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/AutoBrick/Tile.material b/Gems/Atom/TestData/TestData/Materials/AutoBrick/Tile.material index b81ff4110b..c4fbe58477 100644 --- a/Gems/Atom/TestData/TestData/Materials/AutoBrick/Tile.material +++ b/Gems/Atom/TestData/TestData/Materials/AutoBrick/Tile.material @@ -1,33 +1,27 @@ { - "description": "", "materialType": "TestData/Materials/Types/AutoBrick.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "appearance": { - "ao": 0.010100999847054482, - "brickColor": [ - 0.4612802267074585, - 0.6926985383033752, - 0.6798046827316284, - 1.0 - ], - "brickColorBleed": 0.5050504803657532, - "brickColorNoise": 0.05000000074505806, - "lineColor": [ - 1.0, - 1.0, - 1.0, - 1.0 - ], - "lineColorNoise": 0.0 - }, - "shape": { - "brickHeight": 0.16660000383853913, - "brickOffset": 0.0, - "brickWidth": 0.16660000383853913, - "lineDepth": 0.0012121000327169896, - "lineWidth": 0.01030299998819828 - } + "propertyValues": { + "appearance.ao": 0.010100999847054482, + "appearance.brickColor": [ + 0.4612802267074585, + 0.6926985383033752, + 0.6798046827316284, + 1.0 + ], + "appearance.brickColorBleed": 0.5050504803657532, + "appearance.brickColorNoise": 0.05000000074505806, + "appearance.lineColor": [ + 1.0, + 1.0, + 1.0, + 1.0 + ], + "appearance.lineColorNoise": 0.0, + "shape.brickHeight": 0.16660000383853912, + "shape.brickOffset": 0.0, + "shape.brickWidth": 0.16660000383853912, + "shape.lineDepth": 0.0012121000327169895, + "shape.lineWidth": 0.01030299998819828 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/ParallaxRock.material b/Gems/Atom/TestData/TestData/Materials/ParallaxRock.material index 1e140b9cf7..4348318fbd 100644 --- a/Gems/Atom/TestData/TestData/Materials/ParallaxRock.material +++ b/Gems/Atom/TestData/TestData/Materials/ParallaxRock.material @@ -1,33 +1,18 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "Materials/Presets/PBR/default_grid.material", "materialTypeVersion": 3, - "properties": { - "occlusion": { - "diffuseTextureMap": "TestData/Textures/cc0/Rock030_2K_AmbientOcclusion.jpg" - }, - "baseColor": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Color.jpg" - }, - "metallic": { - "useTexture": false - }, - "normal": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Normal.jpg" - }, - "parallax": { - "algorithm": "POM", - "factor": 0.03, - "quality": "High", - "textureMap": "TestData/Textures/cc0/Rock030_2K_Displacement.jpg", - "pdo": true - }, - "roughness": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Roughness.jpg" - }, - "specularF0": { - "useTexture": false - } + "parentMaterial": "Materials/Presets/PBR/default_grid.material", + "propertyValues": { + "baseColor.textureMap": "TestData/Textures/cc0/Rock030_2K_Color.jpg", + "metallic.useTexture": false, + "normal.textureMap": "TestData/Textures/cc0/Rock030_2K_Normal.jpg", + "occlusion.diffuseTextureMap": "TestData/Textures/cc0/Rock030_2K_AmbientOcclusion.jpg", + "parallax.algorithm": "POM", + "parallax.factor": 0.029999999329447746, + "parallax.pdo": true, + "parallax.quality": "High", + "parallax.textureMap": "TestData/Textures/cc0/Rock030_2K_Displacement.jpg", + "roughness.textureMap": "TestData/Textures/cc0/Rock030_2K_Roughness.jpg", + "specularF0.useTexture": false } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/SkinTestCases/001_hermanubis_regression_test.material b/Gems/Atom/TestData/TestData/Materials/SkinTestCases/001_hermanubis_regression_test.material index be607e7721..f5f52bbf7e 100644 --- a/Gems/Atom/TestData/TestData/Materials/SkinTestCases/001_hermanubis_regression_test.material +++ b/Gems/Atom/TestData/TestData/Materials/SkinTestCases/001_hermanubis_regression_test.material @@ -1,55 +1,43 @@ { - "description": "", "materialType": "Materials/Types/Skin.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.1277027577161789, - 0.174273282289505, - 0.29372090101242068, - 1.0 - ], - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", - "useTexture": false - }, - "detailLayerGroup": { - "baseColorDetailBlend": 0.4300000071525574, - "baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", - "enableBaseColor": true, - "enableDetailLayer": true, - "enableNormals": true, - "normalDetailFlipY": true, - "normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", - "normalDetailStrength": 0.25999999046325686, - "textureMapUv": "Tiled" - }, - "detailUV": { - "scale": 5.0 - }, - "normal": { - "flipY": true, - "textureMap": "Objects/Hermanubis/Hermanubis_Normal.png" - }, - "subsurfaceScattering": { - "enableSubsurfaceScattering": true, - "influenceMap": "Objects/Hermanubis/Hermanubis_thickness.tif", - "scatterDistance": 15.0, - "subsurfaceScatterFactor": 0.4300000071525574, - "thicknessMap": "Objects/Hermanubis/Hermanubis_thickness.tif", - "transmissionAttenuation": 15.0, - "transmissionDistortion": 0.3499999940395355, - "transmissionMode": "ThickObject", - "transmissionPower": 16.399999618530275, - "transmissionScale": 0.10000000149011612, - "transmissionTint": [ - 1.0, - 0.3182879388332367, - 0.16388189792633058, - 1.0 - ], - "useInfluenceMap": false - } + "propertyValues": { + "baseColor.color": [ + 0.1277027577161789, + 0.174273282289505, + 0.29372090101242065, + 1.0 + ], + "baseColor.textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", + "baseColor.useTexture": false, + "detailLayerGroup.baseColorDetailBlend": 0.4300000071525574, + "detailLayerGroup.baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", + "detailLayerGroup.enableBaseColor": true, + "detailLayerGroup.enableDetailLayer": true, + "detailLayerGroup.enableNormals": true, + "detailLayerGroup.normalDetailFlipY": true, + "detailLayerGroup.normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", + "detailLayerGroup.normalDetailStrength": 0.25999999046325684, + "detailLayerGroup.textureMapUv": "Tiled", + "detailUV.scale": 5.0, + "normal.flipY": true, + "normal.textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", + "subsurfaceScattering.enableSubsurfaceScattering": true, + "subsurfaceScattering.influenceMap": "Objects/Hermanubis/Hermanubis_thickness.tif", + "subsurfaceScattering.scatterDistance": 15.0, + "subsurfaceScattering.subsurfaceScatterFactor": 0.4300000071525574, + "subsurfaceScattering.thicknessMap": "Objects/Hermanubis/Hermanubis_thickness.tif", + "subsurfaceScattering.transmissionAttenuation": 15.0, + "subsurfaceScattering.transmissionDistortion": 0.3499999940395355, + "subsurfaceScattering.transmissionMode": "ThickObject", + "subsurfaceScattering.transmissionPower": 16.399999618530273, + "subsurfaceScattering.transmissionScale": 0.10000000149011612, + "subsurfaceScattering.transmissionTint": [ + 1.0, + 0.3182879388332367, + 0.16388189792633057, + 1.0 + ], + "subsurfaceScattering.useInfluenceMap": false } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/SkinTestCases/002_wrinkle_regression_test.material b/Gems/Atom/TestData/TestData/Materials/SkinTestCases/002_wrinkle_regression_test.material index 4222108b5e..3e3fe338c5 100644 --- a/Gems/Atom/TestData/TestData/Materials/SkinTestCases/002_wrinkle_regression_test.material +++ b/Gems/Atom/TestData/TestData/Materials/SkinTestCases/002_wrinkle_regression_test.material @@ -1,63 +1,49 @@ { - "description": "", "materialType": "Materials/Types/Skin.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.2847791314125061, - 0.45421531796455386, - 0.9392080307006836, - 1.0 - ], - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_bc.png" - }, - "detailLayerGroup": { - "baseColorDetailBlend": 0.4300000071525574, - "baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", - "enableBaseColor": true, - "enableDetailLayer": true, - "enableNormals": true, - "normalDetailFlipY": true, - "normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", - "normalDetailStrength": 1.5, - "textureMapUv": "Tiled" - }, - "detailUV": { - "scale": 5.0 - }, - "normal": { - "flipY": true, - "textureMap": "Objects/Hermanubis/Hermanubis_Normal.png" - }, - "subsurfaceScattering": { - "enableSubsurfaceScattering": true, - "influenceMap": "TestData/Textures/checker8x8_gray_512.png", - "scatterDistance": 15.0, - "subsurfaceScatterFactor": 0.4300000071525574, - "thicknessMap": "Objects/Hermanubis/Hermanubis_thickness.tif", - "transmissionAttenuation": 15.0, - "transmissionDistortion": 0.3499999940395355, - "transmissionMode": "ThickObject", - "transmissionPower": 16.399999618530275, - "transmissionScale": 0.10000000149011612, - "transmissionTint": [ - 1.0, - 0.3182879388332367, - 0.16388189792633058, - 1.0 - ] - }, - "wrinkleLayers": { - "baseColorMap1": "TestData/Textures/cc0/Lava004_1K_Color.jpg", - "baseColorMap3": "TestData/Textures/checker8x8_gray_512.png", - "count": 3, - "enable": true, - "enableBaseColor": true, - "enableNormal": true, - "normalMap1": "TestData/Textures/cc0/Lava004_1K_Normal.jpg", - "normalMap2": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png" - } + "propertyValues": { + "baseColor.color": [ + 0.2847791314125061, + 0.45421531796455383, + 0.9392080307006836, + 1.0 + ], + "baseColor.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_bc.png", + "detailLayerGroup.baseColorDetailBlend": 0.4300000071525574, + "detailLayerGroup.baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", + "detailLayerGroup.enableBaseColor": true, + "detailLayerGroup.enableDetailLayer": true, + "detailLayerGroup.enableNormals": true, + "detailLayerGroup.normalDetailFlipY": true, + "detailLayerGroup.normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", + "detailLayerGroup.normalDetailStrength": 1.5, + "detailLayerGroup.textureMapUv": "Tiled", + "detailUV.scale": 5.0, + "normal.flipY": true, + "normal.textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", + "subsurfaceScattering.enableSubsurfaceScattering": true, + "subsurfaceScattering.influenceMap": "TestData/Textures/checker8x8_gray_512.png", + "subsurfaceScattering.scatterDistance": 15.0, + "subsurfaceScattering.subsurfaceScatterFactor": 0.4300000071525574, + "subsurfaceScattering.thicknessMap": "Objects/Hermanubis/Hermanubis_thickness.tif", + "subsurfaceScattering.transmissionAttenuation": 15.0, + "subsurfaceScattering.transmissionDistortion": 0.3499999940395355, + "subsurfaceScattering.transmissionMode": "ThickObject", + "subsurfaceScattering.transmissionPower": 16.399999618530273, + "subsurfaceScattering.transmissionScale": 0.10000000149011612, + "subsurfaceScattering.transmissionTint": [ + 1.0, + 0.3182879388332367, + 0.16388189792633057, + 1.0 + ], + "wrinkleLayers.baseColorMap1": "TestData/Textures/cc0/Lava004_1K_Color.jpg", + "wrinkleLayers.baseColorMap3": "TestData/Textures/checker8x8_gray_512.png", + "wrinkleLayers.count": 3, + "wrinkleLayers.enable": true, + "wrinkleLayers.enableBaseColor": true, + "wrinkleLayers.enableNormal": true, + "wrinkleLayers.normalMap1": "TestData/Textures/cc0/Lava004_1K_Normal.jpg", + "wrinkleLayers.normalMap2": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material index f683ad052d..29c5cd2cbe 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material @@ -1,156 +1,96 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "blend": { - "enableLayer2": true, - "enableLayer3": true - }, - "layer1_baseColor": { - "color": [ - 0.3495536744594574, - 0.2659952640533447, - 0.12039368599653244, - 1.0 - ], - "textureMap": "TestData/Textures/cc0/bark1_col.jpg" - }, - "layer1_emissive": { - "color": [ - 0.8521705865859985, - 0.029510948807001115, - 0.029510948807001115, - 1.0 - ], - "intensity": 0.8199999928474426 - }, - "layer1_normal": { - "factor": 0.4444443881511688, - "flipY": true, - "textureMap": "TestData/Textures/cc0/bark1_norm.jpg" - }, - "layer1_occlusion": { - "diffuseFactor": 1.6399999856948853, - "diffuseTextureMap": "TestData/Textures/cc0/bark1_disp.jpg" - }, - "layer1_parallax": { - "factor": 0.02500000037252903, - "textureMap": "TestData/Textures/cc0/bark1_disp.jpg" - }, - "layer1_roughness": { - "lowerBound": 0.010100999847054482, - "textureMap": "TestData/Textures/cc0/bark1_roughness.jpg" - }, - "layer1_specularF0": { - "factor": 0.5099999904632568, - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "layer1_uv": { - "center": [ - 0.75, - 0.75 - ], - "offsetU": 0.5, - "offsetV": 0.25 - }, - "layer2_baseColor": { - "textureMap": "TestData/Textures/cc0/Lava004_1K_Color.jpg" - }, - "layer2_clearCoat": { - "enable": true, - "influenceMap": "TestData/Textures/checker8x8_512.png", - "normalMap": "TestData/Objects/cube/cube_norm.tif", - "normalStrength": 0.5400000214576721, - "roughness": 0.10000000149011612 - }, - "layer2_emissive": { - "enable": true, - "intensity": 2.140000104904175, - "textureMap": "TestData/Textures/cc0/Lava004_1K_Emission.jpg" - }, - "layer2_normal": { - "flipY": true, - "textureMap": "TestData/Textures/cc0/Lava004_1K_Normal.jpg" - }, - "layer2_occlusion": { - "specularFactor": 2.0, - "specularTextureMap": "TestData/Textures/cc0/Tiles009_1K_Displacement.jpg" - }, - "layer2_parallax": { - "factor": 0.01600000075995922, - "textureMap": "TestData/Textures/cc0/Lava004_1K_Displacement.jpg" - }, - "layer2_roughness": { - "textureMap": "TestData/Textures/cc0/Lava004_1K_Roughness.jpg" - }, - "layer2_uv": { - "center": [ - 0.0, - 0.0 - ], - "offsetU": 0.5, - "offsetV": 0.25 - }, - "layer3_baseColor": { - "color": [ - 0.6315556764602661, - 1.0, - 0.9451438188552856, - 1.0 - ], - "textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Color.jpg" - }, - "layer3_clearCoat": { - "influenceMap": "TestData/Textures/checker8x8_512.png" - }, - "layer3_emissive": { - "intensity": -0.9399999976158142 - }, - "layer3_metallic": { - "factor": 1.0, - "textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Metalness.jpg" - }, - "layer3_normal": { - "textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Normal.jpg" - }, - "layer3_occlusion": { - "diffuseFactor": 1.0399999618530274, - "diffuseTextureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Displacement.jpg" - }, - "layer3_parallax": { - "factor": 0.004999999888241291, - "textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Displacement.jpg" - }, - "layer3_roughness": { - "lowerBound": 0.07999999821186066, - "textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Roughness.jpg", - "upperBound": 0.75 - }, - "layer3_specularF0": { - "factor": 0.47474750876426699 - }, - "layer3_uv": { - "center": [ - 0.0, - 0.0 - ], - "offsetU": 0.11999999731779099, - "rotateDegrees": -57.599998474121097 - }, - "parallax": { - "quality": "Medium" - }, - "uv": { - "center": [ - 0.10000000149011612, - 0.20000000298023225 - ], - "offsetU": 0.23000000417232514, - "offsetV": -0.23999999463558198, - "rotateDegrees": 39.599998474121097, - "scale": 1.100000023841858 - } + "propertyValues": { + "blend.enableLayer2": true, + "blend.enableLayer3": true, + "layer1_baseColor.color": [ + 0.3495536744594574, + 0.2659952640533447, + 0.12039368599653244, + 1.0 + ], + "layer1_baseColor.textureMap": "TestData/Textures/cc0/bark1_col.jpg", + "layer1_emissive.color": [ + 0.8521705865859985, + 0.029510948807001114, + 0.029510948807001114, + 1.0 + ], + "layer1_emissive.intensity": 0.8199999928474426, + "layer1_normal.factor": 0.4444443881511688, + "layer1_normal.flipY": true, + "layer1_normal.textureMap": "TestData/Textures/cc0/bark1_norm.jpg", + "layer1_occlusion.diffuseFactor": 1.6399999856948853, + "layer1_occlusion.diffuseTextureMap": "TestData/Textures/cc0/bark1_disp.jpg", + "layer1_parallax.factor": 0.02500000037252903, + "layer1_parallax.textureMap": "TestData/Textures/cc0/bark1_disp.jpg", + "layer1_roughness.lowerBound": 0.010100999847054482, + "layer1_roughness.textureMap": "TestData/Textures/cc0/bark1_roughness.jpg", + "layer1_specularF0.factor": 0.5099999904632568, + "layer1_specularF0.textureMap": "TestData/Textures/checker8x8_512.png", + "layer1_uv.center": [ + 0.75, + 0.75 + ], + "layer1_uv.offsetU": 0.5, + "layer1_uv.offsetV": 0.25, + "layer2_baseColor.textureMap": "TestData/Textures/cc0/Lava004_1K_Color.jpg", + "layer2_clearCoat.enable": true, + "layer2_clearCoat.influenceMap": "TestData/Textures/checker8x8_512.png", + "layer2_clearCoat.normalMap": "TestData/Objects/cube/cube_norm.tif", + "layer2_clearCoat.normalStrength": 0.5400000214576721, + "layer2_clearCoat.roughness": 0.10000000149011612, + "layer2_emissive.enable": true, + "layer2_emissive.intensity": 2.140000104904175, + "layer2_emissive.textureMap": "TestData/Textures/cc0/Lava004_1K_Emission.jpg", + "layer2_normal.flipY": true, + "layer2_normal.textureMap": "TestData/Textures/cc0/Lava004_1K_Normal.jpg", + "layer2_occlusion.specularFactor": 2.0, + "layer2_occlusion.specularTextureMap": "TestData/Textures/cc0/Tiles009_1K_Displacement.jpg", + "layer2_parallax.factor": 0.01600000075995922, + "layer2_parallax.textureMap": "TestData/Textures/cc0/Lava004_1K_Displacement.jpg", + "layer2_roughness.textureMap": "TestData/Textures/cc0/Lava004_1K_Roughness.jpg", + "layer2_uv.center": [ + 0.0, + 0.0 + ], + "layer2_uv.offsetU": 0.5, + "layer2_uv.offsetV": 0.25, + "layer3_baseColor.color": [ + 0.6315556764602661, + 1.0, + 0.9451438188552856, + 1.0 + ], + "layer3_baseColor.textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Color.jpg", + "layer3_clearCoat.influenceMap": "TestData/Textures/checker8x8_512.png", + "layer3_emissive.intensity": -0.9399999976158142, + "layer3_metallic.factor": 1.0, + "layer3_metallic.textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Metalness.jpg", + "layer3_normal.textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Normal.jpg", + "layer3_occlusion.diffuseFactor": 1.0399999618530273, + "layer3_occlusion.diffuseTextureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Displacement.jpg", + "layer3_parallax.factor": 0.004999999888241291, + "layer3_parallax.textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Displacement.jpg", + "layer3_roughness.lowerBound": 0.07999999821186066, + "layer3_roughness.textureMap": "TestData/Textures/cc0/PaintedMetal003_1K_Roughness.jpg", + "layer3_roughness.upperBound": 0.75, + "layer3_specularF0.factor": 0.47474750876426697, + "layer3_uv.center": [ + 0.0, + 0.0 + ], + "layer3_uv.offsetU": 0.11999999731779099, + "layer3_uv.rotateDegrees": -57.599998474121094, + "parallax.quality": "Medium", + "uv.center": [ + 0.10000000149011612, + 0.20000000298023224 + ], + "uv.offsetU": 0.23000000417232513, + "uv.offsetV": -0.23999999463558197, + "uv.rotateDegrees": 39.599998474121094, + "uv.scale": 1.100000023841858 } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer2Off.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer2Off.material index 042f31f3ec..9318469c74 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer2Off.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer2Off.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "enableLayer2": false - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material", + "propertyValues": { + "blend.enableLayer2": false } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer3Off.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer3Off.material index 59fc168a6c..e6d2da09cc 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer3Off.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures_Layer3Off.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "enableLayer3": false - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/001_ManyFeatures.material", + "propertyValues": { + "blend.enableLayer3": false } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material index a1d3c288ea..cd244f5273 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material @@ -1,55 +1,29 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "blend": { - "enableLayer2": true, - "enableLayer3": true - }, - "layer1_baseColor": { - "textureMap": "TestData/Textures/cc0/bark1_col.jpg" - }, - "layer1_normal": { - "textureMap": "TestData/Textures/cc0/bark1_norm.jpg" - }, - "layer1_parallax": { - "factor": 0.03999999910593033, - "textureMap": "TestData/Textures/cc0/bark1_disp.jpg" - }, - "layer1_roughness": { - "textureMap": "TestData/Textures/cc0/bark1_roughness.jpg" - }, - "layer2_baseColor": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Color.jpg" - }, - "layer2_clearCoat": { - "normalStrength": 0.0 - }, - "layer2_normal": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Normal.jpg" - }, - "layer2_parallax": { - "factor": 0.05299999937415123, - "offset": -0.024000000208616258, - "textureMap": "TestData/Textures/cc0/Rock030_2K_Displacement.jpg" - }, - "layer2_roughness": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Roughness.jpg" - }, - "layer3_baseColor": { - "color": [ - 0.4298008680343628, - 0.4298008680343628, - 0.4298008680343628, - 1.0 - ], - "textureMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg" - }, - "parallax": { - "pdo": true, - "quality": "Medium" - } + "propertyValues": { + "blend.enableLayer2": true, + "blend.enableLayer3": true, + "layer1_baseColor.textureMap": "TestData/Textures/cc0/bark1_col.jpg", + "layer1_normal.textureMap": "TestData/Textures/cc0/bark1_norm.jpg", + "layer1_parallax.factor": 0.03999999910593033, + "layer1_parallax.textureMap": "TestData/Textures/cc0/bark1_disp.jpg", + "layer1_roughness.textureMap": "TestData/Textures/cc0/bark1_roughness.jpg", + "layer2_baseColor.textureMap": "TestData/Textures/cc0/Rock030_2K_Color.jpg", + "layer2_clearCoat.normalStrength": 0.0, + "layer2_normal.textureMap": "TestData/Textures/cc0/Rock030_2K_Normal.jpg", + "layer2_parallax.factor": 0.05299999937415123, + "layer2_parallax.offset": -0.024000000208616257, + "layer2_parallax.textureMap": "TestData/Textures/cc0/Rock030_2K_Displacement.jpg", + "layer2_roughness.textureMap": "TestData/Textures/cc0/Rock030_2K_Roughness.jpg", + "layer3_baseColor.color": [ + 0.4298008680343628, + 0.4298008680343628, + 0.4298008680343628, + 1.0 + ], + "layer3_baseColor.textureMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", + "parallax.pdo": true, + "parallax.quality": "Medium" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendMask.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendMask.material index b7be8ab18f..9e831e6412 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendMask.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendMask.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "debugDrawMode": "BlendMask" - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", + "propertyValues": { + "blend.debugDrawMode": "BlendMask" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendWeights.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendWeights.material index 99a9c9f382..69877b3025 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendWeights.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_BlendWeights.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "debugDrawMode": "FinalBlendWeights" - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", + "propertyValues": { + "blend.debugDrawMode": "FinalBlendWeights" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_Displacement.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_Displacement.material index 6dbee69845..04c921a955 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_Displacement.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/003_Debug_Displacement.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "debugDrawMode": "Displacement" - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", + "propertyValues": { + "blend.debugDrawMode": "Displacement" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/004_UseVertexColors.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/004_UseVertexColors.material index b53df9a505..3a55475bcd 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/004_UseVertexColors.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/004_UseVertexColors.material @@ -1,14 +1,9 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "blendSource": "BlendMaskVertexColors" - }, - "parallax": { - "quality": "Medium" - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/002_ParallaxPdo.material", + "propertyValues": { + "blend.blendSource": "BlendMaskVertexColors", + "parallax.quality": "Medium" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material index f313080cce..9bc96f315f 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material @@ -1,81 +1,43 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "blend": { - "blendSource": "Displacement", - "displacementBlendDistance": 0.008999999612569809, - "enableLayer2": true, - "enableLayer3": true - }, - "layer1_baseColor": { - "textureMap": "TestData/Textures/cc0/Ground033_1K_Color.jpg" - }, - "layer1_normal": { - "textureMap": "TestData/Textures/cc0/Ground033_1K_Normal.jpg" - }, - "layer1_occlusion": { - "diffuseTextureMap": "TestData/Textures/cc0/Ground033_1K_AmbientOcclusion.jpg" - }, - "layer1_parallax": { - "factor": 0.017000000923871995, - "offset": -0.006000000052154064, - "textureMap": "TestData/Textures/cc0/Ground033_1K_Displacement.jpg" - }, - "layer1_roughness": { - "textureMap": "TestData/Textures/cc0/Ground033_1K_Roughness.jpg" - }, - "layer2_baseColor": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Color.jpg" - }, - "layer2_normal": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Normal.jpg" - }, - "layer2_occlusion": { - "diffuseTextureMap": "TestData/Textures/cc0/Rocks002_1K_AmbientOcclusion.jpg" - }, - "layer2_parallax": { - "factor": 0.03099999949336052, - "offset": 0.0020000000949949028, - "textureMap": "TestData/Textures/cc0/Rock030_2K_Displacement.jpg" - }, - "layer2_roughness": { - "textureMap": "TestData/Textures/cc0/Rock030_2K_Roughness.jpg" - }, - "layer2_uv": { - "center": [ - 0.0, - 0.0 - ], - "offsetU": 0.1599999964237213, - "offsetV": 0.07999999821186066, - "rotateDegrees": 90.0 - }, - "layer3_baseColor": { - "textureMap": "TestData/Textures/cc0/Rocks002_1K_Color.jpg" - }, - "layer3_normal": { - "textureMap": "TestData/Textures/cc0/Rocks002_1K_Normal.jpg" - }, - "layer3_parallax": { - "factor": 0.027000000700354577, - "textureMap": "TestData/Textures/cc0/Rocks002_1K_Displacement.jpg" - }, - "layer3_roughness": { - "textureMap": "TestData/Textures/cc0/Rocks002_1K_Roughness.jpg" - }, - "layer3_uv": { - "center": [ - 0.0, - 0.0 - ], - "scale": 3.4999988079071047 - }, - "parallax": { - "algorithm": "Relief", - "pdo": true - } + "propertyValues": { + "blend.blendSource": "Displacement", + "blend.displacementBlendDistance": 0.008999999612569809, + "blend.enableLayer2": true, + "blend.enableLayer3": true, + "layer1_baseColor.textureMap": "TestData/Textures/cc0/Ground033_1K_Color.jpg", + "layer1_normal.textureMap": "TestData/Textures/cc0/Ground033_1K_Normal.jpg", + "layer1_occlusion.diffuseTextureMap": "TestData/Textures/cc0/Ground033_1K_AmbientOcclusion.jpg", + "layer1_parallax.factor": 0.017000000923871994, + "layer1_parallax.offset": -0.006000000052154064, + "layer1_parallax.textureMap": "TestData/Textures/cc0/Ground033_1K_Displacement.jpg", + "layer1_roughness.textureMap": "TestData/Textures/cc0/Ground033_1K_Roughness.jpg", + "layer2_baseColor.textureMap": "TestData/Textures/cc0/Rock030_2K_Color.jpg", + "layer2_normal.textureMap": "TestData/Textures/cc0/Rock030_2K_Normal.jpg", + "layer2_occlusion.diffuseTextureMap": "TestData/Textures/cc0/Rocks002_1K_AmbientOcclusion.jpg", + "layer2_parallax.factor": 0.03099999949336052, + "layer2_parallax.offset": 0.0020000000949949026, + "layer2_parallax.textureMap": "TestData/Textures/cc0/Rock030_2K_Displacement.jpg", + "layer2_roughness.textureMap": "TestData/Textures/cc0/Rock030_2K_Roughness.jpg", + "layer2_uv.center": [ + 0.0, + 0.0 + ], + "layer2_uv.offsetU": 0.1599999964237213, + "layer2_uv.offsetV": 0.07999999821186066, + "layer2_uv.rotateDegrees": 90.0, + "layer3_baseColor.textureMap": "TestData/Textures/cc0/Rocks002_1K_Color.jpg", + "layer3_normal.textureMap": "TestData/Textures/cc0/Rocks002_1K_Normal.jpg", + "layer3_parallax.factor": 0.027000000700354576, + "layer3_parallax.textureMap": "TestData/Textures/cc0/Rocks002_1K_Displacement.jpg", + "layer3_roughness.textureMap": "TestData/Textures/cc0/Rocks002_1K_Roughness.jpg", + "layer3_uv.center": [ + 0.0, + 0.0 + ], + "layer3_uv.scale": 3.4999988079071045, + "parallax.algorithm": "Relief", + "parallax.pdo": true } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer2Off.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer2Off.material index 6f64bcd49f..984fd93cdf 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer2Off.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer2Off.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "enableLayer2": false - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", + "propertyValues": { + "blend.enableLayer2": false } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer3Off.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer3Off.material index 8b32223c82..491d2ffd89 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer3Off.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_Layer3Off.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "enableLayer3": false - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", + "propertyValues": { + "blend.enableLayer3": false } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material index 023316c5f6..2b91cf8e17 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material @@ -1,14 +1,9 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "blendSource": "Displacement_With_BlendMaskTexture" - }, - "layer1_parallax": { - "offset": -0.004000000189989805 - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", + "propertyValues": { + "blend.blendSource": "Displacement_With_BlendMaskTexture", + "layer1_parallax.offset": -0.004000000189989805 } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_AllSameHeight.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_AllSameHeight.material index d88802d4de..89b72f810b 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_AllSameHeight.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_AllSameHeight.material @@ -1,23 +1,14 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "displacementBlendDistance": 0.0010000000474974514 - }, - "layer1_parallax": { - "offset": -0.00800000037997961, - "textureMap": "" - }, - "layer2_parallax": { - "offset": -0.00800000037997961, - "textureMap": "" - }, - "layer3_parallax": { - "offset": -0.00800000037997961, - "textureMap": "" - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material", + "propertyValues": { + "blend.displacementBlendDistance": 0.0010000000474974513, + "layer1_parallax.offset": -0.00800000037997961, + "layer1_parallax.textureMap": "", + "layer2_parallax.offset": -0.00800000037997961, + "layer2_parallax.textureMap": "", + "layer3_parallax.offset": -0.00800000037997961, + "layer3_parallax.textureMap": "" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_NoHeightmaps.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_NoHeightmaps.material index 9ba4d20a9a..a431f63112 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_NoHeightmaps.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture_NoHeightmaps.material @@ -1,20 +1,13 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material", "materialTypeVersion": 3, - "properties": { - "layer1_parallax": { - "offset": -0.03200000151991844, - "textureMap": "" - }, - "layer2_parallax": { - "offset": -0.00800000037997961, - "textureMap": "" - }, - "layer3_parallax": { - "offset": -0.00800000037997961, - "textureMap": "" - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskTexture.material", + "propertyValues": { + "layer1_parallax.offset": -0.03200000151991844, + "layer1_parallax.textureMap": "", + "layer2_parallax.offset": -0.00800000037997961, + "layer2_parallax.textureMap": "", + "layer3_parallax.offset": -0.00800000037997961, + "layer3_parallax.textureMap": "" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskVertexColors.material b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskVertexColors.material index 51219aa180..3a4e16b85e 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskVertexColors.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement_With_BlendMaskVertexColors.material @@ -1,15 +1,10 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", "materialTypeVersion": 3, - "properties": { - "blend": { - "blendSource": "Displacement_With_BlendMaskVertexColors", - "displacementBlendDistance": 0.02387000061571598 - }, - "parallax": { - "enable": false - } + "parentMaterial": "TestData/Materials/StandardMultilayerPbrTestCases/005_UseDisplacement.material", + "propertyValues": { + "blend.blendSource": "Displacement_With_BlendMaskVertexColors", + "blend.displacementBlendDistance": 0.02387000061571598, + "parallax.enable": false } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/001_DefaultWhite.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/001_DefaultWhite.material index 164b73c892..5b5e902752 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/001_DefaultWhite.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/001_DefaultWhite.material @@ -1,6 +1,4 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3 } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLerp.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLerp.material index 29329a03a2..c2d6cafb1b 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLerp.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLerp.material @@ -1,19 +1,15 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.2541542649269104, - 0.5271076560020447, - 0.8388037085533142, - 1.0 - ], - "factor": 0.75, - "textureBlendMode": "Lerp", - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_hp_bc.png" - } + "propertyValues": { + "baseColor.color": [ + 0.2541542649269104, + 0.5271076560020447, + 0.8388037085533142, + 1.0 + ], + "baseColor.factor": 0.75, + "baseColor.textureBlendMode": "Lerp", + "baseColor.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_hp_bc.png" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLinearLight.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLinearLight.material index 46a8fd70ef..ecad50b541 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLinearLight.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorLinearLight.material @@ -1,19 +1,15 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.2541542649269104, - 0.5271076560020447, - 0.8388037085533142, - 1.0 - ], - "factor": 0.75, - "textureBlendMode": "LinearLight", - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_hp_bc.png" - } + "propertyValues": { + "baseColor.color": [ + 0.2541542649269104, + 0.5271076560020447, + 0.8388037085533142, + 1.0 + ], + "baseColor.factor": 0.75, + "baseColor.textureBlendMode": "LinearLight", + "baseColor.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_hp_bc.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorMultiply.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorMultiply.material index 7abf4ca40c..c76bb9ff90 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorMultiply.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/002_BaseColorMultiply.material @@ -1,18 +1,14 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.2541542649269104, - 0.5271076560020447, - 0.8388037085533142, - 1.0 - ], - "factor": 0.75, - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_hp_bc.png" - } + "propertyValues": { + "baseColor.color": [ + 0.2541542649269104, + 0.5271076560020447, + 0.8388037085533142, + 1.0 + ], + "baseColor.factor": 0.75, + "baseColor.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_hp_bc.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalMatte.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalMatte.material index 73ad13e27b..dabedfeb19 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalMatte.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalMatte.material @@ -1,22 +1,14 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5, - 0.5, - 0.5, - 1.0 - ] - }, - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.33 - } + "propertyValues": { + "baseColor.color": [ + 0.5, + 0.5, + 0.5, + 1.0 + ], + "metallic.factor": 1.0, + "roughness.factor": 0.33000001311302185 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalPolished.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalPolished.material index 9dea40d6ec..4dfbb4804d 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalPolished.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/003_MetalPolished.material @@ -1,22 +1,14 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5, - 0.5, - 0.5, - 1.0 - ] - }, - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.1 - } + "propertyValues": { + "baseColor.color": [ + 0.5, + 0.5, + 0.5, + 1.0 + ], + "metallic.factor": 1.0, + "roughness.factor": 0.10000000149011612 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/004_MetalMap.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/004_MetalMap.material index d20e354a53..5c5f7a4bc7 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/004_MetalMap.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/004_MetalMap.material @@ -1,23 +1,15 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5093766450881958, - 0.5093766450881958, - 0.5093766450881958, - 1.0 - ] - }, - "metallic": { - "factor": 1.0, - "textureMap": "TestData/Textures/checker8x8_gray_512.png" - }, - "roughness": { - "factor": 0.5 - } + "propertyValues": { + "baseColor.color": [ + 0.5093766450881958, + 0.5093766450881958, + 0.5093766450881958, + 1.0 + ], + "metallic.factor": 1.0, + "metallic.textureMap": "TestData/Textures/checker8x8_gray_512.png", + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/005_RoughnessMap.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/005_RoughnessMap.material index 283c6ac60b..1cc5d49f0e 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/005_RoughnessMap.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/005_RoughnessMap.material @@ -1,25 +1,17 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5093766450881958, - 0.5093766450881958, - 0.5093766450881958, - 1.0 - ] - }, - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 0.5353534817695618, - "upperBound": 0.20202019810676576, - "lowerBound": 0.6464645862579346, - "textureMap": "TestData/Textures/checker8x8_gray_512.png" - } + "propertyValues": { + "baseColor.color": [ + 0.5093766450881958, + 0.5093766450881958, + 0.5093766450881958, + 1.0 + ], + "metallic.factor": 1.0, + "roughness.factor": 0.5353534817695618, + "roughness.lowerBound": 0.6464645862579346, + "roughness.textureMap": "TestData/Textures/checker8x8_gray_512.png", + "roughness.upperBound": 0.20202019810676575 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/006_SpecularF0Map.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/006_SpecularF0Map.material index 11228e2199..23361702c3 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/006_SpecularF0Map.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/006_SpecularF0Map.material @@ -1,22 +1,14 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.3330281674861908, - 0.3330281674861908, - 0.3330281674861908, - 1.0 - ] - }, - "roughness": { - "factor": 0.0 - }, - "specularF0": { - "textureMap": "TestData/Textures/checker8x8_gray_512.png" - } + "propertyValues": { + "baseColor.color": [ + 0.3330281674861908, + 0.3330281674861908, + 0.3330281674861908, + 1.0 + ], + "roughness.factor": 0.0, + "specularF0.textureMap": "TestData/Textures/checker8x8_gray_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOff.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOff.material index 3b9779aac1..26d5f1e9e6 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOff.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOff.material @@ -1,26 +1,16 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.9764705896377564, - 0.7098039388656616, - 0.125490203499794, - 1.0 - ] - }, - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 1.0 - }, - "specularF0": { - "enableMultiScatterCompensation": false, - "factor": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.9764705896377563, + 0.7098039388656616, + 0.125490203499794, + 1.0 + ], + "metallic.factor": 1.0, + "roughness.factor": 1.0, + "specularF0.enableMultiScatterCompensation": false, + "specularF0.factor": 1.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOn.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOn.material index dbbcdc631d..7d7d323b7a 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOn.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/007_MultiscatteringCompensationOn.material @@ -1,26 +1,16 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.9764705896377564, - 0.7098039388656616, - 0.125490203499794, - 1.0 - ] - }, - "metallic": { - "factor": 1.0 - }, - "roughness": { - "factor": 1.0 - }, - "specularF0": { - "enableMultiScatterCompensation": true, - "factor": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.9764705896377563, + 0.7098039388656616, + 0.125490203499794, + 1.0 + ], + "metallic.factor": 1.0, + "roughness.factor": 1.0, + "specularF0.enableMultiScatterCompensation": true, + "specularF0.factor": 1.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap.material index 4b2842a594..973c6132e7 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap.material @@ -1,21 +1,15 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5521476864814758, - 0.5521476864814758, - 0.5521476864814758, - 1.0 - ] - }, - "normal": { - "factor": 0.75, - "flipY": true, - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png" - } + "propertyValues": { + "baseColor.color": [ + 0.5521476864814758, + 0.5521476864814758, + 0.5521476864814758, + 1.0 + ], + "normal.factor": 0.75, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap_Bevels.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap_Bevels.material index aec3bbf478..1326ed4317 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap_Bevels.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/008_NormalMap_Bevels.material @@ -1,12 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.30000001192092898, - "textureMap": "TestData/Objects/cube/cube_norm.tif" - } + "propertyValues": { + "normal.factor": 0.30000001192092896, + "normal.textureMap": "TestData/Objects/cube/cube_norm.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended.material index 1528403868..42534744a6 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended.material @@ -1,23 +1,17 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5906767249107361, - 1.0, - 0.11703670024871826, - 1.0 - ], - "textureMap": "Textures/Default/default_basecolor.tif" - }, - "opacity": { - "alphaSource": "Split", - "factor": 0.75, - "mode": "Blended", - "textureMap": "TestData/Textures/checker8x8_gray_512.png" - } + "propertyValues": { + "baseColor.color": [ + 0.5906767249107361, + 1.0, + 0.11703670024871826, + 1.0 + ], + "baseColor.textureMap": "Textures/Default/default_basecolor.tif", + "opacity.alphaSource": "Split", + "opacity.factor": 0.75, + "opacity.mode": "Blended", + "opacity.textureMap": "TestData/Textures/checker8x8_gray_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended_Alpha_Affects_Specular.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended_Alpha_Affects_Specular.material index 20f5ccf098..960a1a42cf 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended_Alpha_Affects_Specular.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Blended_Alpha_Affects_Specular.material @@ -1,24 +1,18 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5906767249107361, - 1.0, - 0.11703670024871826, - 1.0 - ], - "textureMap": "Textures/Default/default_basecolor.tif" - }, - "opacity": { - "alphaSource": "Split", - "factor": 0.75, - "mode": "Blended", - "textureMap": "TestData/Textures/checker8x8_gray_512.png", - "alphaAffectsSpecular": 1.0 - } + "propertyValues": { + "baseColor.color": [ + 0.5906767249107361, + 1.0, + 0.11703670024871826, + 1.0 + ], + "baseColor.textureMap": "Textures/Default/default_basecolor.tif", + "opacity.alphaAffectsSpecular": 1.0, + "opacity.alphaSource": "Split", + "opacity.factor": 0.75, + "opacity.mode": "Blended", + "opacity.textureMap": "TestData/Textures/checker8x8_gray_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_PackedAlpha_DoubleSided.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_PackedAlpha_DoubleSided.material index d8683681c4..9acd51694f 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_PackedAlpha_DoubleSided.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_PackedAlpha_DoubleSided.material @@ -1,16 +1,10 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "TestData/Textures/Foliage_Leaves_0_BaseColor.dds" - }, - "opacity": { - "doubleSided": true, - "mode": "Cutout", - "textureMap": "TestData/Textures/checker8x8_512.png" - } + "propertyValues": { + "baseColor.textureMap": "TestData/Textures/Foliage_Leaves_0_BaseColor.dds", + "opacity.doubleSided": true, + "opacity.mode": "Cutout", + "opacity.textureMap": "TestData/Textures/checker8x8_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_DoubleSided.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_DoubleSided.material index 8e8dad46d8..cad29a9f77 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_DoubleSided.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_DoubleSided.material @@ -1,14 +1,10 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "opacity": { - "alphaSource": "Split", - "doubleSided": true, - "mode": "Cutout", - "textureMap": "TestData/Textures/checker8x8_512.png" - } + "propertyValues": { + "opacity.alphaSource": "Split", + "opacity.doubleSided": true, + "opacity.mode": "Cutout", + "opacity.textureMap": "TestData/Textures/checker8x8_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_SingleSided.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_SingleSided.material index 2d9b4c514b..9429e31fb6 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_SingleSided.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Cutout_SplitAlpha_SingleSided.material @@ -1,13 +1,9 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "opacity": { - "alphaSource": "Split", - "mode": "Cutout", - "textureMap": "TestData/Textures/checker8x8_512.png" - } + "propertyValues": { + "opacity.alphaSource": "Split", + "opacity.mode": "Cutout", + "opacity.textureMap": "TestData/Textures/checker8x8_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Opaque_DoubleSided.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Opaque_DoubleSided.material index f7ac93a7ac..835e19a4f3 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Opaque_DoubleSided.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_Opaque_DoubleSided.material @@ -1,14 +1,8 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "Textures/Default/checker_uv_basecolor.png" - }, - "general": { - "doubleSided": true - } + "propertyValues": { + "baseColor.textureMap": "Textures/Default/checker_uv_basecolor.png", + "general.doubleSided": true } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_TintedTransparent.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_TintedTransparent.material index 9d36d0a7e6..a9e60e7f5e 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_TintedTransparent.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/009_Opacity_TintedTransparent.material @@ -1,23 +1,17 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.5906767249107361, - 1.0, - 0.11703670024871826, - 1.0 - ], - "textureMap": "Textures/Default/default_basecolor.tif" - }, - "opacity": { - "alphaSource": "Split", - "factor": 0.75, - "mode": "TintedTransparent", - "textureMap": "TestData/Textures/checker8x8_gray_512.png" - } + "propertyValues": { + "baseColor.color": [ + 0.5906767249107361, + 1.0, + 0.11703670024871826, + 1.0 + ], + "baseColor.textureMap": "Textures/Default/default_basecolor.tif", + "opacity.alphaSource": "Split", + "opacity.factor": 0.75, + "opacity.mode": "TintedTransparent", + "opacity.textureMap": "TestData/Textures/checker8x8_gray_512.png" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_AmbientOcclusion.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_AmbientOcclusion.material index a7fe0d1d4d..8ccf39096a 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_AmbientOcclusion.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_AmbientOcclusion.material @@ -1,12 +1,9 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "010_OcclusionBase.material", "materialTypeVersion": 3, - "properties": { - "occlusion": { - "diffuseFactor": 2.0, - "diffuseTextureMap": "TestData/Textures/cc0/Tiles009_1K_AmbientOcclusion.jpg" - } + "parentMaterial": "010_OcclusionBase.material", + "propertyValues": { + "occlusion.diffuseFactor": 2.0, + "occlusion.diffuseTextureMap": "TestData/Textures/cc0/Tiles009_1K_AmbientOcclusion.jpg" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_BothOcclusion.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_BothOcclusion.material index 1f9c94db47..b2b2b90363 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_BothOcclusion.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_BothOcclusion.material @@ -1,14 +1,11 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "010_OcclusionBase.material", "materialTypeVersion": 3, - "properties": { - "occlusion": { - "diffuseFactor": 2.0, - "diffuseTextureMap": "TestData/Textures/cc0/Tiles009_1K_AmbientOcclusion.jpg", - "specularFactor": 2.0, - "specularTextureMap": "TestData/Textures/cc0/Tiles009_1K_Displacement.jpg" - } + "parentMaterial": "010_OcclusionBase.material", + "propertyValues": { + "occlusion.diffuseFactor": 2.0, + "occlusion.diffuseTextureMap": "TestData/Textures/cc0/Tiles009_1K_AmbientOcclusion.jpg", + "occlusion.specularFactor": 2.0, + "occlusion.specularTextureMap": "TestData/Textures/cc0/Tiles009_1K_Displacement.jpg" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_OcclusionBase.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_OcclusionBase.material index 534305b68a..170576e20e 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_OcclusionBase.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_OcclusionBase.material @@ -1,25 +1,15 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.06784161180257797, - 0.2073090672492981, - 0.29570457339286806, - 1.0 - ] - }, - "clearCoat": { - "enable": true - }, - "normal": { - "textureMap": "TestData/Textures/cc0/Tiles009_1K_Normal.jpg" - }, - "roughness": { - "factor": 0.0 - } + "propertyValues": { + "baseColor.color": [ + 0.06784161180257797, + 0.2073090672492981, + 0.29570457339286804, + 1.0 + ], + "clearCoat.enable": true, + "normal.textureMap": "TestData/Textures/cc0/Tiles009_1K_Normal.jpg", + "roughness.factor": 0.0 } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_SpecularOcclusion.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_SpecularOcclusion.material index 6403bc5c14..f69a316c59 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_SpecularOcclusion.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/010_SpecularOcclusion.material @@ -1,12 +1,9 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "010_OcclusionBase.material", "materialTypeVersion": 3, - "properties": { - "occlusion": { - "specularFactor": 2.0, - "specularTextureMap": "TestData/Textures/cc0/Tiles009_1K_Displacement.jpg" - } + "parentMaterial": "010_OcclusionBase.material", + "propertyValues": { + "occlusion.specularFactor": 2.0, + "occlusion.specularTextureMap": "TestData/Textures/cc0/Tiles009_1K_Displacement.jpg" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/011_Emissive.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/011_Emissive.material index dc42c0d6b5..7c640b573d 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/011_Emissive.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/011_Emissive.material @@ -1,21 +1,16 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "Textures/Default/default_basecolor.tif" - }, - "emissive": { - "color": [ - 0.003936827648431063, - 1.0, - 0.0, - 1.0 - ], - "enable": true, - "intensity": 3.0, - "textureMap": "TestData/Textures/checker8x8_gray_512.png" - } + "propertyValues": { + "baseColor.textureMap": "Textures/Default/default_basecolor.tif", + "emissive.color": [ + 0.003936827648431063, + 1.0, + 0.0, + 1.0 + ], + "emissive.enable": true, + "emissive.intensity": 3.0, + "emissive.textureMap": "TestData/Textures/checker8x8_gray_512.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM.material index fee4a30f77..35f91d0eb1 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM.material @@ -1,16 +1,11 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_bc.png" - }, - "parallax": { - "algorithm": "POM", - "factor": 0.02500000037252903, - "quality": "High", - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_disp.png" - } + "propertyValues": { + "baseColor.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_bc.png", + "parallax.algorithm": "POM", + "parallax.factor": 0.02500000037252903, + "parallax.quality": "High", + "parallax.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_disp.png" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM_Cutout.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM_Cutout.material index d69b75285e..bf6907fbd5 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM_Cutout.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/012_Parallax_POM_Cutout.material @@ -1,28 +1,18 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_bc.png" - }, - "opacity": { - "alphaSource": "Split", - "mode": "Cutout", - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "parallax": { - "factor": 0.10000000149011612, - "quality": "High", - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_disp.png" - }, - "uv": { - "center": [ - 0.0, - 0.0 - ], - "scale": 0.5 - } + "propertyValues": { + "baseColor.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_bc.png", + "opacity.alphaSource": "Split", + "opacity.mode": "Cutout", + "opacity.textureMap": "TestData/Textures/checker8x8_512.png", + "parallax.factor": 0.10000000149011612, + "parallax.quality": "High", + "parallax.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_disp.png", + "uv.center": [ + 0.0, + 0.0 + ], + "uv.scale": 0.5 } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_Off.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_Off.material index a1da93acbb..c266799f26 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_Off.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_Off.material @@ -1,17 +1,10 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", "materialTypeVersion": 3, - "properties": { - "metallic": { - "factor": 1.0 - }, - "normal": { - "flipY": true, - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png" - }, - "roughness": { - "factor": 0.13131310045719148 - } + "propertyValues": { + "metallic.factor": 1.0, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png", + "roughness.factor": 0.13131310045719147 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_On.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_On.material index 07018e9140..a2d33da506 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_On.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/013_SpecularAA_On.material @@ -1,20 +1,11 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", "materialTypeVersion": 3, - "properties": { - "general": { - "applySpecularAA": true - }, - "metallic": { - "factor": 1.0 - }, - "normal": { - "flipY": true, - "textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png" - }, - "roughness": { - "factor": 0.13131310045719148 - } + "propertyValues": { + "general.applySpecularAA": true, + "metallic.factor": 1.0, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/TextureHaven/4k_castle_brick_02_red/4k_castle_brick_02_red_normal.png", + "roughness.factor": 0.13131310045719147 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat.material index e02a8b5fc2..2f60fcc9b2 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat.material @@ -1,27 +1,17 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 1.0, - 0.34190890192985537, - 0.0009155413135886192, - 1.0 - ], - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "clearCoat": { - "enable": true, - "influenceMap": "TestData/Textures/checker8x8_512.png" - }, - "metallic": { - "factor": 0.5 - }, - "roughness": { - "factor": 0.5 - } + "propertyValues": { + "baseColor.color": [ + 1.0, + 0.34190890192985535, + 0.0009155413135886192, + 1.0 + ], + "baseColor.textureMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.enable": true, + "clearCoat.influenceMap": "TestData/Textures/checker8x8_512.png", + "metallic.factor": 0.5, + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap.material index 56d8515305..0fb6e22664 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap.material @@ -1,31 +1,21 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 1.0, - 0.34190890192985537, - 0.0009155413135886192, - 1.0 - ], - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "clearCoat": { - "enable": true, - "influenceMap": "TestData/Textures/checker8x8_512.png", - "normalMap": "TestData/Textures/test_dome_normal.tiff", - "roughnessMap": "TestData/Textures/checker8x8_512.png", - "useInfluenceMap": false, - "useRoughnessMap": false - }, - "metallic": { - "factor": 0.5 - }, - "roughness": { - "factor": 0.5 - } + "propertyValues": { + "baseColor.color": [ + 1.0, + 0.34190890192985535, + 0.0009155413135886192, + 1.0 + ], + "baseColor.textureMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.enable": true, + "clearCoat.influenceMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.normalMap": "TestData/Textures/test_dome_normal.tiff", + "clearCoat.roughnessMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.useInfluenceMap": false, + "clearCoat.useRoughnessMap": false, + "metallic.factor": 0.5, + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap_2ndUv.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap_2ndUv.material index e7575d8bd6..f76ef83485 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap_2ndUv.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_NormalMap_2ndUv.material @@ -1,35 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 1.0, - 0.34190890192985537, - 0.0009155413135886192, - 1.0 - ], - "textureMap": "TestData/Textures/checker8x8_512.png", - "textureMapUv": "Unwrapped" - }, - "clearCoat": { - "enable": true, - "influenceMap": "TestData/Textures/checker8x8_512.png", - "influenceMapUv": "Unwrapped", - "normalMap": "TestData/Textures/test_dome_normal.tiff", - "normalMapUv": "Unwrapped", - "roughnessMap": "TestData/Textures/checker8x8_512.png", - "roughnessMapUv": "Unwrapped", - "useInfluenceMap": false, - "useRoughnessMap": false - }, - "metallic": { - "factor": 0.5 - }, - "roughness": { - "factor": 0.5 - } + "propertyValues": { + "baseColor.color": [ + 1.0, + 0.34190890192985535, + 0.0009155413135886192, + 1.0 + ], + "baseColor.textureMap": "TestData/Textures/checker8x8_512.png", + "baseColor.textureMapUv": "Unwrapped", + "clearCoat.enable": true, + "clearCoat.influenceMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.influenceMapUv": "Unwrapped", + "clearCoat.normalMap": "TestData/Textures/test_dome_normal.tiff", + "clearCoat.normalMapUv": "Unwrapped", + "clearCoat.roughnessMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.roughnessMapUv": "Unwrapped", + "clearCoat.useInfluenceMap": false, + "clearCoat.useRoughnessMap": false, + "metallic.factor": 0.5, + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_RoughnessMap.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_RoughnessMap.material index 3ccbfeacc1..62e15fe2c5 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_RoughnessMap.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/014_ClearCoat_RoughnessMap.material @@ -1,30 +1,20 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 1.0, - 0.34190890192985537, - 0.0009155413135886192, - 1.0 - ], - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "clearCoat": { - "enable": true, - "influenceMap": "TestData/Textures/checker8x8_512.png", - "roughness": 0.5050504803657532, - "roughnessMap": "TestData/Textures/checker8x8_512.png", - "useInfluenceMap": false - }, - "metallic": { - "factor": 0.5 - }, - "roughness": { - "factor": 0.5 - } + "propertyValues": { + "baseColor.color": [ + 1.0, + 0.34190890192985535, + 0.0009155413135886192, + 1.0 + ], + "baseColor.textureMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.enable": true, + "clearCoat.influenceMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.roughness": 0.5050504803657532, + "clearCoat.roughnessMap": "TestData/Textures/checker8x8_512.png", + "clearCoat.useInfluenceMap": false, + "metallic.factor": 0.5, + "roughness.factor": 0.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering.material index fb3621f056..3f189f5ff5 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering.material @@ -1,20 +1,16 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "subsurfaceScattering": { - "enableSubsurfaceScattering": true, - "influenceMap": "TestData/Textures/checker8x8_512.png", - "scatterColor": [ - 1.0, - 0.20000000298023225, - 0.07058823853731156, - 1.0 - ], - "scatterDistance": 40.0, - "subsurfaceScatterFactor": 1.0 - } + "propertyValues": { + "subsurfaceScattering.enableSubsurfaceScattering": true, + "subsurfaceScattering.influenceMap": "TestData/Textures/checker8x8_512.png", + "subsurfaceScattering.scatterColor": [ + 1.0, + 0.20000000298023224, + 0.07058823853731155, + 1.0 + ], + "subsurfaceScattering.scatterDistance": 40.0, + "subsurfaceScattering.subsurfaceScatterFactor": 1.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission.material index eff175be77..5a2373d5eb 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission.material @@ -1,15 +1,11 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "subsurfaceScattering": { - "enableSubsurfaceScattering": true, - "scatterDistance": 64.6464614868164, - "subsurfaceScatterFactor": 1.0, - "thicknessMap": "TestData/Textures/checker8x8_512.png", - "transmissionMode": "ThickObject" - } + "propertyValues": { + "subsurfaceScattering.enableSubsurfaceScattering": true, + "subsurfaceScattering.scatterDistance": 64.6464614868164, + "subsurfaceScattering.subsurfaceScatterFactor": 1.0, + "subsurfaceScattering.thicknessMap": "TestData/Textures/checker8x8_512.png", + "subsurfaceScattering.transmissionMode": "ThickObject" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission_Thin.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission_Thin.material index ee9bb1f4a5..c8a1401d17 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission_Thin.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/015_SubsurfaceScattering_Transmission_Thin.material @@ -1,29 +1,21 @@ { - "description": "", - "parentMaterial": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", "materialTypeVersion": 4, - "properties": { - "baseColor": { - "color": [ - 0.027664607390761375, - 0.1926604062318802, - 0.013916227966547012, - 1.0 - ] - }, - "general": { - "doubleSided": true - }, - "subsurfaceScattering": { - "thickness": 0.20000000298023224, - "transmissionMode": "ThinObject", - "transmissionTint": [ - 0.009140154346823692, - 0.19806210696697235, - 0.01095597818493843, - 1.0 - ] - } + "propertyValues": { + "baseColor.color": [ + 0.027664607390761375, + 0.1926604062318802, + 0.013916227966547012, + 1.0 + ], + "general.doubleSided": true, + "subsurfaceScattering.thickness": 0.20000000298023224, + "subsurfaceScattering.transmissionMode": "ThinObject", + "subsurfaceScattering.transmissionTint": [ + 0.009140154346823692, + 0.19806210696697235, + 0.01095597818493843, + 1.0 + ] } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_AmbientOcclusion.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_AmbientOcclusion.material index d88c1f151f..8e68176843 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_AmbientOcclusion.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_AmbientOcclusion.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "occlusion": { - "diffuseTextureMap": "TestData/Objects/cube/cube_diff.tif" - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "occlusion.diffuseTextureMap": "TestData/Objects/cube/cube_diff.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_BaseColor.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_BaseColor.material index 89bd1005a5..565f3bf8e0 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_BaseColor.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_BaseColor.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "TestData/Objects/cube/cube_diff.tif" - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "baseColor.textureMap": "TestData/Objects/cube/cube_diff.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Emissive.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Emissive.material index 564de16cc2..a053737973 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Emissive.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Emissive.material @@ -1,22 +1,17 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.0, - 0.0, - 0.0, - 1.0 - ] - }, - "emissive": { - "enable": true, - "intensity": 2.0, - "textureMap": "TestData/Objects/cube/cube_diff.tif", - "useTexture": true - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "baseColor.color": [ + 0.0, + 0.0, + 0.0, + 1.0 + ], + "emissive.enable": true, + "emissive.intensity": 2.0, + "emissive.textureMap": "TestData/Objects/cube/cube_diff.tif", + "emissive.useTexture": true } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Metallic.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Metallic.material index 0eff6198dd..17a13d79cf 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Metallic.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Metallic.material @@ -1,15 +1,10 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "metallic": { - "factor": 1.0, - "textureMap": "TestData/Objects/cube/cube_diff.tif" - }, - "roughness": { - "factor": 0.0 - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "metallic.factor": 1.0, + "metallic.textureMap": "TestData/Objects/cube/cube_diff.tif", + "roughness.factor": 0.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal.material index e50c669114..bbdc3c62ec 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal.material @@ -1,11 +1,8 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "normal": { - "textureMap": "TestData/Objects/cube/cube_diff.tif" - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "normal.textureMap": "TestData/Objects/cube/cube_diff.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate20.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate20.material index 0b3d678bdd..b0e6a0a498 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate20.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate20.material @@ -1,20 +1,14 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.15000000596046449, - "flipY": true, - "textureMap": "TestData/Textures/test_dome_normal.tiff" - }, - "uv": { - "center": [ - 0.5, - 0.5 - ], - "rotateDegrees": 20.0 - } + "propertyValues": { + "normal.factor": 0.15000000596046448, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/test_dome_normal.tiff", + "uv.center": [ + 0.5, + 0.5 + ], + "uv.rotateDegrees": 20.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate90.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate90.material index 4a7ade8b30..0e72deebbc 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate90.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_Rotate90.material @@ -1,20 +1,14 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.15000000596046449, - "flipY": true, - "textureMap": "TestData/Textures/test_dome_normal.tiff" - }, - "uv": { - "center": [ - 0.5, - 0.5 - ], - "rotateDegrees": 90.0 - } + "propertyValues": { + "normal.factor": 0.15000000596046448, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/test_dome_normal.tiff", + "uv.center": [ + 0.5, + 0.5 + ], + "uv.rotateDegrees": 90.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyU.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyU.material index c0477ac5cf..7d87e24938 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyU.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyU.material @@ -1,20 +1,14 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.15000000596046449, - "flipY": true, - "textureMap": "TestData/Textures/test_dome_normal.tiff" - }, - "uv": { - "center": [ - 0.5, - 0.5 - ], - "tileU": 2.0 - } + "propertyValues": { + "normal.factor": 0.15000000596046448, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/test_dome_normal.tiff", + "uv.center": [ + 0.5, + 0.5 + ], + "uv.tileU": 2.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyV.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyV.material index b088a0c090..a589741097 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyV.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleOnlyV.material @@ -1,20 +1,14 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.15000000596046449, - "flipY": true, - "textureMap": "TestData/Textures/test_dome_normal.tiff" - }, - "uv": { - "center": [ - 0.5, - 0.5 - ], - "tileV": 2.0 - } + "propertyValues": { + "normal.factor": 0.15000000596046448, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/test_dome_normal.tiff", + "uv.center": [ + 0.5, + 0.5 + ], + "uv.tileV": 2.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleUniform.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleUniform.material index c7c3fac87f..6d687bfc45 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleUniform.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_ScaleUniform.material @@ -1,20 +1,14 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.15000000596046449, - "flipY": true, - "textureMap": "TestData/Textures/test_dome_normal.tiff" - }, - "uv": { - "center": [ - 0.5, - 0.5 - ], - "scale": 3.0 - } + "propertyValues": { + "normal.factor": 0.15000000596046448, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/test_dome_normal.tiff", + "uv.center": [ + 0.5, + 0.5 + ], + "uv.scale": 3.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_TransformAll.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_TransformAll.material index 849e926031..2e916fbb33 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_TransformAll.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Normal_Dome_TransformAll.material @@ -1,25 +1,19 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "normal": { - "factor": 0.15000000596046449, - "flipY": true, - "textureMap": "TestData/Textures/test_dome_normal.tiff" - }, - "uv": { - "center": [ - 0.25, - 0.5 - ], - "offsetU": 0.3737373948097229, - "offsetV": -0.4545454978942871, - "rotateDegrees": 110.0, - "scale": 2.0, - "tileU": 0.5, - "tileV": 1.5 - } + "propertyValues": { + "normal.factor": 0.15000000596046448, + "normal.flipY": true, + "normal.textureMap": "TestData/Textures/test_dome_normal.tiff", + "uv.center": [ + 0.25, + 0.5 + ], + "uv.offsetU": 0.3737373948097229, + "uv.offsetV": -0.4545454978942871, + "uv.rotateDegrees": 110.0, + "uv.scale": 2.0, + "uv.tileU": 0.5, + "uv.tileV": 1.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Opacity.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Opacity.material index b203ec5318..ec056b8459 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Opacity.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Opacity.material @@ -1,14 +1,11 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "opacity": { - "alphaSource": "Split", - "factor": 0.9, - "mode": "Cutout", - "textureMap": "TestData/Objects/cube/cube_diff.tif" - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "opacity.alphaSource": "Split", + "opacity.factor": 0.8999999761581421, + "opacity.mode": "Cutout", + "opacity.textureMap": "TestData/Objects/cube/cube_diff.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_A.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_A.material index ad2e27063b..2e0eadb40f 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_A.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_A.material @@ -1,36 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardPbrTestCases/UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "TestData/Objects/cube/cube_diff.tif" - }, - "metallic": { - "factor": 1.0, - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "parallax": { - "algorithm": "POM", - "factor": 0.10000000149011612, - "quality": "High", - "textureMap": "TestData/Objects/cube/cube_diff.tif" - }, - "roughness": { - "textureMap": "TestData/Textures/checker8x8_flip_512.png" - }, - "uv": { - "center": [ - 0.25, - 0.5 - ], - "offsetU": -0.6767677068710327, - "offsetV": 0.19191919267177583, - "rotateDegrees": 63.6363639831543, - "scale": 0.800000011920929, - "tileU": 0.699999988079071, - "tileV": 1.5 - } + "parentMaterial": "TestData/Materials/StandardPbrTestCases/UvTilingBase.material", + "propertyValues": { + "baseColor.textureMap": "TestData/Objects/cube/cube_diff.tif", + "metallic.factor": 1.0, + "metallic.textureMap": "TestData/Textures/checker8x8_512.png", + "parallax.algorithm": "POM", + "parallax.factor": 0.10000000149011612, + "parallax.quality": "High", + "parallax.textureMap": "TestData/Objects/cube/cube_diff.tif", + "roughness.textureMap": "TestData/Textures/checker8x8_flip_512.png", + "uv.center": [ + 0.25, + 0.5 + ], + "uv.offsetU": -0.6767677068710327, + "uv.offsetV": 0.19191919267177582, + "uv.rotateDegrees": 63.6363639831543, + "uv.scale": 0.800000011920929, + "uv.tileU": 0.699999988079071, + "uv.tileV": 1.5 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_B.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_B.material index 75646e5191..9e368f8be0 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_B.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Parallax_B.material @@ -1,36 +1,25 @@ { - "description": "", "materialType": "Materials/Types/StandardPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardPbrTestCases/UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "TestData/Objects/cube/cube_diff.tif" - }, - "metallic": { - "factor": 1.0, - "textureMap": "TestData/Textures/checker8x8_512.png" - }, - "parallax": { - "algorithm": "POM", - "factor": 0.05000000074505806, - "quality": "High", - "textureMap": "TestData/Objects/cube/cube_diff.tif" - }, - "roughness": { - "textureMap": "TestData/Textures/checker8x8_flip_512.png" - }, - "uv": { - "center": [ - 0.5, - 0.25 - ], - "offsetU": 1.0, - "offsetV": -1.0, - "rotateDegrees": 90.0, - "scale": 1.2000000476837159, - "tileU": 0.699999988079071, - "tileV": 1.7999999523162842 - } + "parentMaterial": "TestData/Materials/StandardPbrTestCases/UvTilingBase.material", + "propertyValues": { + "baseColor.textureMap": "TestData/Objects/cube/cube_diff.tif", + "metallic.factor": 1.0, + "metallic.textureMap": "TestData/Textures/checker8x8_512.png", + "parallax.algorithm": "POM", + "parallax.factor": 0.05000000074505806, + "parallax.quality": "High", + "parallax.textureMap": "TestData/Objects/cube/cube_diff.tif", + "roughness.textureMap": "TestData/Textures/checker8x8_flip_512.png", + "uv.center": [ + 0.5, + 0.25 + ], + "uv.offsetU": 1.0, + "uv.offsetV": -1.0, + "uv.rotateDegrees": 90.0, + "uv.scale": 1.2000000476837158, + "uv.tileU": 0.699999988079071, + "uv.tileV": 1.7999999523162842 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Roughness.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Roughness.material index 49ff9555f1..35a7dc6ad4 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Roughness.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_Roughness.material @@ -1,14 +1,9 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "metallic": { - "factor": 1.0 - }, - "roughness": { - "textureMap": "TestData/Objects/cube/cube_diff.tif" - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "metallic.factor": 1.0, + "roughness.textureMap": "TestData/Objects/cube/cube_diff.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_SpecularF0.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_SpecularF0.material index a750e30d80..43b0aacde4 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_SpecularF0.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/100_UvTiling_SpecularF0.material @@ -1,23 +1,16 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "color": [ - 0.11546501517295838, - 0.11546501517295838, - 0.11546501517295838, - 1.0 - ] - }, - "roughness": { - "factor": 0.0 - }, - "specularF0": { - "factor": 1.0, - "textureMap": "TestData/Objects/cube/cube_diff.tif" - } + "parentMaterial": "TestData\\Materials\\StandardPbrTestCases\\UvTilingBase.material", + "propertyValues": { + "baseColor.color": [ + 0.11546501517295837, + 0.11546501517295837, + 0.11546501517295837, + 1.0 + ], + "roughness.factor": 0.0, + "specularF0.factor": 1.0, + "specularF0.textureMap": "TestData/Objects/cube/cube_diff.tif" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material index 30959fc972..a299d17479 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material @@ -1,31 +1,19 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", - "textureMapUv": "Unwrapped" - }, - "detailUV": { - "center": [ - 0.0, - 0.0 - ] - }, - "metallic": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_Metallic.png", - "textureMapUv": "Unwrapped" - }, - "normal": { - "flipY": true, - "textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", - "textureMapUv": "Unwrapped" - }, - "roughness": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_Roughness.png", - "textureMapUv": "Unwrapped" - } + "propertyValues": { + "baseColor.textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", + "baseColor.textureMapUv": "Unwrapped", + "detailUV.center": [ + 0.0, + 0.0 + ], + "metallic.textureMap": "Objects/Hermanubis/Hermanubis_bronze_Metallic.png", + "metallic.textureMapUv": "Unwrapped", + "normal.flipY": true, + "normal.textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", + "normal.textureMapUv": "Unwrapped", + "roughness.textureMap": "Objects/Hermanubis/Hermanubis_bronze_Roughness.png", + "roughness.textureMapUv": "Unwrapped" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/102_DetailMaps_All.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/102_DetailMaps_All.material index 2cb14b490e..4f1247d7c0 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/102_DetailMaps_All.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/102_DetailMaps_All.material @@ -1,42 +1,28 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", - "textureMapUv": "Unwrapped" - }, - "detailLayerGroup": { - "baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", - "blendDetailMask": "Objects/Hermanubis/Hermanubis_ao.tif", - "blendDetailMaskUv": "Unwrapped", - "enableBaseColor": true, - "enableDetailLayer": true, - "enableNormals": true, - "normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", - "normalDetailStrength": 1.5 - }, - "detailUV": { - "center": [ - 0.0, - 0.0 - ], - "scale": 10.0 - }, - "metallic": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_Metallic.png", - "textureMapUv": "Unwrapped" - }, - "normal": { - "flipY": true, - "textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", - "textureMapUv": "Unwrapped" - }, - "roughness": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_Roughness.png", - "textureMapUv": "Unwrapped" - } + "propertyValues": { + "baseColor.textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", + "baseColor.textureMapUv": "Unwrapped", + "detailLayerGroup.baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", + "detailLayerGroup.blendDetailMask": "Objects/Hermanubis/Hermanubis_ao.tif", + "detailLayerGroup.blendDetailMaskUv": "Unwrapped", + "detailLayerGroup.enableBaseColor": true, + "detailLayerGroup.enableDetailLayer": true, + "detailLayerGroup.enableNormals": true, + "detailLayerGroup.normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", + "detailLayerGroup.normalDetailStrength": 1.5, + "detailUV.center": [ + 0.0, + 0.0 + ], + "detailUV.scale": 10.0, + "metallic.textureMap": "Objects/Hermanubis/Hermanubis_bronze_Metallic.png", + "metallic.textureMapUv": "Unwrapped", + "normal.flipY": true, + "normal.textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", + "normal.textureMapUv": "Unwrapped", + "roughness.textureMap": "Objects/Hermanubis/Hermanubis_bronze_Roughness.png", + "roughness.textureMapUv": "Unwrapped" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColor.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColor.material index 826ae2d737..ff3e4d63b8 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColor.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColor.material @@ -1,17 +1,12 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material", "materialTypeVersion": 3, - "properties": { - "detailLayerGroup": { - "baseColorDetailBlend": 0.800000011920929, - "baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", - "enableBaseColor": true, - "enableDetailLayer": true - }, - "detailUV": { - "scale": 20.0 - } + "parentMaterial": "TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material", + "propertyValues": { + "detailLayerGroup.baseColorDetailBlend": 0.800000011920929, + "detailLayerGroup.baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", + "detailLayerGroup.enableBaseColor": true, + "detailLayerGroup.enableDetailLayer": true, + "detailUV.scale": 20.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColorWithMask.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColorWithMask.material index 1c2214a031..09cc883efd 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColorWithMask.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColorWithMask.material @@ -1,13 +1,10 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColor.material", "materialTypeVersion": 3, - "properties": { - "detailLayerGroup": { - "baseColorDetailBlend": 1.0, - "blendDetailMask": "TestData/Textures/checker8x8_flip_512.png", - "blendDetailMaskUv": "Unwrapped" - } + "parentMaterial": "TestData/Materials/StandardPbrTestCases/103_DetailMaps_BaseColor.material", + "propertyValues": { + "detailLayerGroup.baseColorDetailBlend": 1.0, + "detailLayerGroup.blendDetailMask": "TestData/Textures/checker8x8_flip_512.png", + "detailLayerGroup.blendDetailMaskUv": "Unwrapped" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_Normal.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_Normal.material index 9a80cfaaa0..81de9e0bce 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_Normal.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_Normal.material @@ -1,18 +1,13 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material", "materialTypeVersion": 3, - "properties": { - "detailLayerGroup": { - "enableDetailLayer": true, - "enableNormals": true, - "normalDetailFlipY": true, - "normalDetailMap": "TestData/Textures/test_dome_normal.tiff", - "normalDetailStrength": 0.30000001192092898 - }, - "detailUV": { - "scale": 40.0 - } + "parentMaterial": "TestData/Materials/StandardPbrTestCases/101_DetailMaps_BaseNoDetailMaps.material", + "propertyValues": { + "detailLayerGroup.enableDetailLayer": true, + "detailLayerGroup.enableNormals": true, + "detailLayerGroup.normalDetailFlipY": true, + "detailLayerGroup.normalDetailMap": "TestData/Textures/test_dome_normal.tiff", + "detailLayerGroup.normalDetailStrength": 0.30000001192092896, + "detailUV.scale": 40.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_NormalWithMask.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_NormalWithMask.material index 0ee81633ae..477da12807 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_NormalWithMask.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/104_DetailMaps_NormalWithMask.material @@ -1,12 +1,9 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "TestData/Materials/StandardPbrTestCases/104_DetailMaps_Normal.material", "materialTypeVersion": 3, - "properties": { - "detailLayerGroup": { - "blendDetailMask": "TestData/Textures/checker8x8_gray_512.png", - "blendDetailMaskUv": "Unwrapped" - } + "parentMaterial": "TestData/Materials/StandardPbrTestCases/104_DetailMaps_Normal.material", + "propertyValues": { + "detailLayerGroup.blendDetailMask": "TestData/Textures/checker8x8_gray_512.png", + "detailLayerGroup.blendDetailMaskUv": "Unwrapped" } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/105_DetailMaps_BlendMaskUsingDetailUVs.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/105_DetailMaps_BlendMaskUsingDetailUVs.material index b2747ead21..d9c7a42c41 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/105_DetailMaps_BlendMaskUsingDetailUVs.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/105_DetailMaps_BlendMaskUsingDetailUVs.material @@ -1,41 +1,27 @@ { - "description": "", "materialType": "Materials/Types/EnhancedPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "baseColor": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", - "textureMapUv": "Unwrapped" - }, - "detailLayerGroup": { - "baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", - "blendDetailMask": "TestData/Textures/checker2x2_128.png", - "enableBaseColor": true, - "enableDetailLayer": true, - "enableNormals": true, - "normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", - "normalDetailStrength": 1.5 - }, - "detailUV": { - "center": [ - 0.0, - 0.0 - ], - "scale": 10.0 - }, - "metallic": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_Metallic.png", - "textureMapUv": "Unwrapped" - }, - "normal": { - "flipY": true, - "textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", - "textureMapUv": "Unwrapped" - }, - "roughness": { - "textureMap": "Objects/Hermanubis/Hermanubis_bronze_Roughness.png", - "textureMapUv": "Unwrapped" - } + "propertyValues": { + "baseColor.textureMap": "Objects/Hermanubis/Hermanubis_bronze_BaseColor.png", + "baseColor.textureMapUv": "Unwrapped", + "detailLayerGroup.baseColorDetailMap": "TestData/Textures/cc0/Concrete019_1K_Color.jpg", + "detailLayerGroup.blendDetailMask": "TestData/Textures/checker2x2_128.png", + "detailLayerGroup.enableBaseColor": true, + "detailLayerGroup.enableDetailLayer": true, + "detailLayerGroup.enableNormals": true, + "detailLayerGroup.normalDetailMap": "TestData/Textures/cc0/Concrete019_1K_Normal.jpg", + "detailLayerGroup.normalDetailStrength": 1.5, + "detailUV.center": [ + 0.0, + 0.0 + ], + "detailUV.scale": 10.0, + "metallic.textureMap": "Objects/Hermanubis/Hermanubis_bronze_Metallic.png", + "metallic.textureMapUv": "Unwrapped", + "normal.flipY": true, + "normal.textureMap": "Objects/Hermanubis/Hermanubis_Normal.png", + "normal.textureMapUv": "Unwrapped", + "roughness.textureMap": "Objects/Hermanubis/Hermanubis_bronze_Roughness.png", + "roughness.textureMapUv": "Unwrapped" } } \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/UvTilingBase.material b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/UvTilingBase.material index be607db929..6927d51ecf 100644 --- a/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/UvTilingBase.material +++ b/Gems/Atom/TestData/TestData/Materials/StandardPbrTestCases/UvTilingBase.material @@ -1,20 +1,16 @@ { - "description": "", "materialType": "Materials\\Types\\StandardPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "uv": { - "center": [ - 0.5, - 0.5 - ], - "offsetU": 0.10000000149011612, - "offsetV": 0.15000000596046449, - "rotateDegrees": 38.181819915771487, - "scale": 1.5, - "tileU": 0.5, - "tileV": 2.0 - } + "propertyValues": { + "uv.center": [ + 0.5, + 0.5 + ], + "uv.offsetU": 0.10000000149011612, + "uv.offsetV": 0.15000000596046448, + "uv.rotateDegrees": 38.181819915771484, + "uv.scale": 1.5, + "uv.tileU": 0.5, + "uv.tileV": 2.0 } -} +} \ No newline at end of file diff --git a/Gems/Atom/TestData/TestData/Objects/ModelHotReload/DisplayVertexColor.material b/Gems/Atom/TestData/TestData/Objects/ModelHotReload/DisplayVertexColor.material index 8a2f45260a..669efe2339 100644 --- a/Gems/Atom/TestData/TestData/Objects/ModelHotReload/DisplayVertexColor.material +++ b/Gems/Atom/TestData/TestData/Objects/ModelHotReload/DisplayVertexColor.material @@ -1,18 +1,12 @@ { - "description": "", "materialType": "Materials/Types/StandardMultilayerPBR.materialtype", - "parentMaterial": "", "materialTypeVersion": 3, - "properties": { - "blend": { - "blendSource": "BlendMaskVertexColors", - "debugDrawMode": "FinalBlendWeights", - "enableLayer2": true, - "enableLayer3": true, - "textureMap": "" - }, - "parallax": { - "enable": false - } + "propertyValues": { + "blend.blendSource": "BlendMaskVertexColors", + "blend.debugDrawMode": "FinalBlendWeights", + "blend.enableLayer2": true, + "blend.enableLayer3": true, + "blend.textureMap": "", + "parallax.enable": false } -} +} \ No newline at end of file From ddab03d6785e66d425fada619dad1d2f9b95fe78 Mon Sep 17 00:00:00 2001 From: santorac <55155825+santorac@users.noreply.github.com> Date: Tue, 8 Feb 2022 11:18:17 -0800 Subject: [PATCH 4/4] Reponse to code review feedback. The main change is making GetPropertyValues return by const ref. Signed-off-by: santorac <55155825+santorac@users.noreply.github.com> --- .../Include/Atom/RPI.Edit/Material/MaterialSourceData.h | 2 +- .../Code/Source/RPI.Edit/Material/MaterialSourceData.cpp | 6 +++--- .../RPI/Code/Tests/Material/MaterialSourceDataTests.cpp | 8 ++++---- .../Code/Source/Document/MaterialDocument.cpp | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h index b8c613fd12..8819cbc78b 100644 --- a/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h +++ b/Gems/Atom/RPI/Code/Include/Atom/RPI.Edit/Material/MaterialSourceData.h @@ -75,7 +75,7 @@ namespace AZ void SetPropertyValue(const Name& propertyId, const MaterialPropertyValue& value); const MaterialPropertyValue& GetPropertyValue(const Name& propertyId) const; - PropertyValueMap GetPropertyValues() const; + const PropertyValueMap& GetPropertyValues() const; bool HasPropertyValue(const Name& propertyId) const; void RemovePropertyValue(const Name& propertyId); diff --git a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp index e5092b5480..fe6ec415a3 100644 --- a/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp +++ b/Gems/Atom/RPI/Code/Source/RPI.Edit/Material/MaterialSourceData.cpp @@ -100,7 +100,7 @@ namespace AZ m_propertyValues.erase(propertyId); } - MaterialSourceData::PropertyValueMap MaterialSourceData::GetPropertyValues() const + const MaterialSourceData::PropertyValueMap& MaterialSourceData::GetPropertyValues() const { return m_propertyValues; } @@ -112,9 +112,9 @@ namespace AZ void MaterialSourceData::ConvertToNewDataFormat() { - for (auto& [groupName, propertyList] : m_propertiesOld) + for (const auto& [groupName, propertyList] : m_propertiesOld) { - for (auto& [propertyName, propertyValue] : propertyList) + for (const auto& [propertyName, propertyValue] : propertyList) { SetPropertyValue(MaterialPropertyId{groupName, propertyName}, propertyValue); } diff --git a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp index 362d7d8b6d..7676772389 100644 --- a/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp +++ b/Gems/Atom/RPI/Code/Tests/Material/MaterialSourceDataTests.cpp @@ -357,7 +357,7 @@ namespace UnitTest return fixupType(a.GetTypeId()) == fixupType(targetTypeId) && fixupType(b.GetTypeId()) == fixupType(targetTypeId); } - void CheckEqual(MaterialSourceData& a, MaterialSourceData& b) + void CheckEqual(const MaterialSourceData& a, const MaterialSourceData& b) { EXPECT_STREQ(a.m_materialType.c_str(), b.m_materialType.c_str()); EXPECT_STREQ(a.m_description.c_str(), b.m_description.c_str()); @@ -1091,15 +1091,15 @@ namespace UnitTest MaterialSourceData sourceDataLevel3 = MaterialUtils::LoadMaterialSourceData("@exefolder@/Temp/m3.material").TakeValue(); auto materialAssetLevel1 = sourceDataLevel1.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); - EXPECT_TRUE(materialAssetLevel1.IsSuccess()); + ASSERT_TRUE(materialAssetLevel1.IsSuccess()); EXPECT_TRUE(materialAssetLevel1.GetValue()->WasPreFinalized()); auto materialAssetLevel2 = sourceDataLevel2.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); - EXPECT_TRUE(materialAssetLevel2.IsSuccess()); + ASSERT_TRUE(materialAssetLevel2.IsSuccess()); EXPECT_TRUE(materialAssetLevel2.GetValue()->WasPreFinalized()); auto materialAssetLevel3 = sourceDataLevel3.CreateMaterialAssetFromSourceData(Uuid::CreateRandom()); - EXPECT_TRUE(materialAssetLevel3.IsSuccess()); + ASSERT_TRUE(materialAssetLevel3.IsSuccess()); EXPECT_TRUE(materialAssetLevel3.GetValue()->WasPreFinalized()); auto layout = materialAssetLevel1.GetValue()->GetMaterialPropertiesLayout(); diff --git a/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp b/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp index 6f576c9e02..8db8ee1eeb 100644 --- a/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp +++ b/Gems/Atom/Tools/MaterialEditor/Code/Source/Document/MaterialDocument.cpp @@ -677,7 +677,7 @@ namespace MaterialEditor if (!loadResult) { AZ_Error("MaterialDocument", false, "Material source data could not be loaded: '%s'.", m_absolutePath.c_str()); - return OpenFailed(); + return false; } m_materialSourceData = loadResult.TakeValue();