From 991fb071a5258cd6f128cbf2eb8e53ba7f63003c Mon Sep 17 00:00:00 2001 From: Tommy Walton Date: Fri, 23 Apr 2021 16:04:17 -0700 Subject: [PATCH] Add a wildcard source dependecy to the scene builder for wrinklemasks --- .../Code/Source/SceneBuilder/SceneBuilderWorker.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp b/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp index fa562a2986..bf12e91ef9 100644 --- a/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp +++ b/Gems/SceneProcessing/Code/Source/SceneBuilder/SceneBuilderWorker.cpp @@ -98,7 +98,7 @@ namespace SceneBuilder descriptor.m_jobKey = "Scene compilation"; descriptor.SetPlatformIdentifier(enabledPlatform.m_identifier.c_str()); descriptor.m_failOnError = true; - descriptor.m_priority = 11; // more important than static mesh files, since these may control logic (actors and motions specifically) + descriptor.m_priority = 11; // these may control logic (actors and motions specifically) descriptor.m_additionalFingerprintInfo = GetFingerprint(); AZ::SceneAPI::SceneBuilderDependencyBus::Broadcast(&AZ::SceneAPI::SceneBuilderDependencyRequests::ReportJobDependencies, @@ -107,11 +107,17 @@ namespace SceneBuilder response.m_createJobOutputs.push_back(descriptor); } - // Adding corresponding material file as a source file dependency + // Adding corresponding _wrinklemask folder as a source file dependency + // This enables morph target assets to get references to the wrinkle masks + // in the MorphTargetExporter, so they can be automatically applied at runtime AssetBuilderSDK::SourceFileDependency sourceFileDependencyInfo; AZStd::string relPath = request.m_sourceFile.c_str(); - AzFramework::StringFunc::Path::ReplaceExtension(relPath, "mtl"); + AzFramework::StringFunc::Path::StripExtension(relPath); + relPath += "_wrinklemasks"; + AzFramework::StringFunc::Path::AppendSeparator(relPath); + relPath += "*_wrinklemask.*"; sourceFileDependencyInfo.m_sourceFileDependencyPath = relPath; + sourceFileDependencyInfo.m_sourceDependencyType = AssetBuilderSDK::SourceFileDependency::SourceFileDependencyType::Wildcards; response.m_sourceFileDependencyList.push_back(sourceFileDependencyInfo); response.m_result = AssetBuilderSDK::CreateJobsResultCode::Success;