TransformVector node not working with Instanced Static Mesh

Hello!

Today I ran into an issue while using the Material Editor “ObjectScale” node in connection with an instanced static mesh. The node just completely ignores the scale of individual instances, which leads to wrong results. Looking into the material function I found that it uses “TransformVector” nodes, so I tested around with them and came to the conclusion that the “TransformVector” nodes do not work with the scale of instanced mesh instances!

A workaround is to scale the component instead of the individual instances, however that can be pretty inconvenient and also not a solution for randomly scaled instances.

Hello,

Could you please provide a screenshot of your material/blueprint setup so I can take a look at what you are doing?

Thank you

It should be very easy to reproduce, so I will just list the steps involved here:
Create a material, add an “ObjectScale” node and plug the “XYZ” output into the basecolor pin of the material. Next create a blueprint, open it and a a InstancedStaticMeshComponent. Assign a mesh to the component and add one instance. If you change the scale of the component to something lower than 1 the mesh will not be white anymore. Now if you reset the component scale and instead scale down your instance, it will always be white regardsless of it’s scale.

Hello,

I have been able to reproduce your issue and have entered a bug report, UE-31043. Thank you for your report.

Have a great day

We currently don’t support the Object Scale node when instancing. We could extract scale information from the instance transform rather than the primitive component’s transform which is what the TransformVector node uses. We have a similar request to make ObjectRadius work in UE-29023. That task could also make the Object Scale work.

Note that instancing has several other limitations because it works by rendering a number of instances as if they were a single object, and there is not always a place to store information for each instance.