The comment for the AddLocalTransform node states "Change in transform of the component in its local reference frame. Scale is unchanged." However, when the node is used, the existing scale of the object the node is being applied to will be discarded and either set to the default scale (1, 1, 1), or set to whatever scale was specified in the transform that is applied to the AddLocalTransform node. The existing scale is neither left "unchanged", nor does it have any new scale from the new transform added to it.

Steps to Reproduce
  1. Create a new Blueprint project using the Blank template.
  2. Create a new Actor Blueprint.
  3. Add a Static Mesh Component to the Blueprint.
  4. Set the Static Mesh property to use any available static mesh.
  5. Set the scale of the Static Mesh Component on one or two axes so that it is easy to see the scaling.
    • eg: x = 10.0, y = 1.0, z = 1.0
  6. In the Event Graph, add a brief delay, then use the AddLocalTransform node to move the static mesh to a different location.
  7. When creating the new transform to plug into the AddLocalTransform node, either leave the Scale set to the default values (x = 1.0, y = 1.0, z = 1.0), or change it to different scale values than what were set for the defaults on the Static Mesh Component.
  8. Place an instance of the Blueprint in the level where it will be visible when PIE begins.
  9. Start PIE.

The static mesh moves to the new location, and the original scale setting is thrown out and replaced with either the default scale (1, 1, 1) or whatever new scale was supplied in the transform to be added.

The static mesh moves to the new location, and the original scale setting is kept.

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-61322 in the post.

Login to Vote

Won't Fix
ComponentUE - Gameplay - Blueprint
Affects Versions4.
CreatedJun 29, 2018
ResolvedAug 18, 2021
UpdatedAug 18, 2021