You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Gems/Atom/Feature/Common/Code/Source/SkinnedMesh
Tommy Walton ded39be57e
Merging WrinkleMask support from 1.0 to main (#680)
Added a loop to the skin shader that will sample from wrinkle masks, multiply them by a weight, combine them, and use them instead of vertex colors for wrinkle map blending

Added an array of masks, an array of weights, and a wrinkle mask count to the DefaultObjectSrg. -Will create a follow up task to handle this a better way.

Removed motion vector (for now) from skin.materialtype since we're not using them, and removed depthtransparent since skin doesn't support transparency

Added an interface to the MeshFeatureProcessor to get the object srg

Wrapped srg->Compile in if(srg->IsQueuedForCompile()) to prevent compiling twice --This doesn't stop a race condition if both happen at the same time, but that is at least far less likely. It will need a better solution later.

Added a function to the MorphTargetExporter that will check to see if a texture that matches the blend shape name exists in a particular folder, and adds a reference to that image to the MorphTargetMetaAsset --Only supports .tif, and doesn't automatically re-process the .fbx if the folder is updated. These can be improved in later iterations

Added a null check in MaterialTypeSourceData.cpp to fix a crash I ran into

Added a for loop in two places to look for the first submesh that has a morph target, instead of just using the first to check if a lod has morph targets or not. --I have a better fix for this, but it involves more areas of the code, so I'm saving that for another change.

Modified AtomActorInstance to look for any morph targets that have a wrinkle mask reference

Then each frame, for any morph targets with non-zero weights that also have wrinkle masks, it updates the mask array, weights, and count on the object srg.
5 years ago
..
SkinnedMeshComputePass.cpp Fix for ATOM-15488 : Rendering out an animation with shadows crashes the editor (#794) 5 years ago
SkinnedMeshComputePass.h Fix for ATOM-15488 : Rendering out an animation with shadows crashes the editor (#794) 5 years ago
SkinnedMeshDispatchItem.cpp Fix for ATOM-15488 : Rendering out an animation with shadows crashes the editor (#794) 5 years ago
SkinnedMeshDispatchItem.h Fix for ATOM-15488 : Rendering out an animation with shadows crashes the editor (#794) 5 years ago
SkinnedMeshFeatureProcessor.cpp Merging WrinkleMask support from 1.0 to main (#680) 5 years ago
SkinnedMeshFeatureProcessor.h Merging WrinkleMask support from 1.0 to main (#680) 5 years ago
SkinnedMeshInputBuffers.cpp Integrating github/staging through commit 5f214be 5 years ago
SkinnedMeshInstance.cpp Initial commit 5 years ago
SkinnedMeshOutputStreamManager.cpp Initial commit 5 years ago
SkinnedMeshOutputStreamManager.h Initial commit 5 years ago
SkinnedMeshRenderProxy.cpp Fix for ATOM-15488 : Rendering out an animation with shadows crashes the editor (#794) 5 years ago
SkinnedMeshRenderProxy.h Initial commit 5 years ago
SkinnedMeshShaderOptionsCache.cpp Integrating github/staging through commit 5f214be 5 years ago
SkinnedMeshShaderOptionsCache.h Integrating github/staging through commit 5f214be 5 years ago
SkinnedMeshStatsCollector.cpp Initial commit 5 years ago
SkinnedMeshStatsCollector.h Initial commit 5 years ago
SkinnedMeshSystemComponent.cpp Initial commit 5 years ago
SkinnedMeshSystemComponent.h Initial commit 5 years ago
SkinnedMeshVertexStreamProperties.cpp Integrating github/staging through commit 5f214be 5 years ago
SkinnedMeshVertexStreamProperties.h Initial commit 5 years ago