Instanced static mesh vertex animations break when being rotated via the "update instance transform node" but not via other methods of rotation.

If I rotate the pedestrian instance static mesh, as seen in the sample project provided, it rotates and animates vaia world position offset on shader as expected unless its rotated via the Update instance transform node for instance meshes. It becomes distorted at times.

  • Actor transform works for rotations on this model + shader.
  • Relative transform targeting the root component works for this model + shader.
  • Update instance transform breaks the animation on an instanced static mesh, and this is the only one we can use based on our needs. Updating its rotation breaks the animation as scene in the demo. Just hit play or see attached video.

Steps to Reproduce

  • Create an instance static mesh with vertex animation data driven via the WPO on its shader.[Image Removed]
  • Add the instance static mesh via the level BP[Image Removed]
  • Rotate the static mesh in level using “Update Instance Transform”, and observe the distorted animation. Use the sample project provided as this is all setup, just hit play or see attached video.

Hey there, we addressed this when we release Unreal 5.0. I could get you the CLs to potentially integrate this change in, but you may have potential knockons. Let me know.

Dustin

So the changes that you would need to start to take would be:

The changes to have the transform material function to add instance support. This could have knockons because it touches core shaders and shader factories. There were many changes in the leadup to the release of 5.0

https://github.com/EpicGames/UnrealEngine/commit/bc0f6113f6f625c4b704cfcf38d07daf50e87d84

And then inside of MS_VertexAnimationTools_MorphTargets, you would need to change transform vector nodes (2 of the three within that function) that hook into the world position offset output and the vert shader normal outputs to be Instance & Particle Space to World Space.

Dustin

Any support you could provide in this area would be useful. Could you elaborate a bit more? What issues from the Chang list would cause Knock-on issues?

Question

  1. Is there a workaround in editor without having to resort to the process listed? Is there any way something can be done on the shader / material level to work around this?

Is this something Epic can provide a patch for?

Hey there, I’m currently testing out a potential in-engine fix to see if we can get around potential knockons. That said, you could try applying the patch file I’ve attached to the case called InstanceMeshSupport.patch, with the changes I’ve suggested. Again, there may be knock-ons, or other requirements that only come with Unreal 5.

Sounds good, I’ll try the patch file.

[mention removed]​

InstanceMeshSupport.patch, I’m not seeing that anywhere. Where is that available?

Apologies, I’ve attached it to the message here instead of the case.