SetBoneTransformByName overrides previous

Download the following file:

  1. Create a new blank blueprint project and import the provided file.
  2. Create a new actor blueprint, add a poseablemeshcomponent and set the mesh to the imported file.
  3. In the construction tab, add a SetBoneRotationByName, set the name to Turret and Z to 45.0.
  4. In the viewport, note the rotation of the turret.
  5. Back in the construction tab, add another SetBoneRotationByName and connect it to the previous. Set the name to Barrel and Y to -45.0.
  6. In the viewport, note the rotation of the barrel but the lack of rotation on the turret!

Hi,

This is by design/how the construction script functions. If you need them to both turn at the same time, you would need to use an animation montage or another method. If you have any other questions regarding this feel free to reopen this thread.

-Thank you

It doesn’t just do this in the construction script, it does it in beginplay or tick, and it does it when you use equivalent functions in an animation blueprint.

Hi,

When you say “in beginplay or tick” are you using these nodes while still in the construction script or event graph, etc.? Also, what “equivalent functions in an animation Blueprint” are you using? If you submit a sample project I can take another look at the issue, however if this is in the construction script it is by design.

-Thank you

I mean when using those nodes in beginplay and tick they exhibit the same behaviour. The equivalent node in the animation graph is “Transform (Modify) Bone”. Try rotating the upper arm in the standard UE4 mannequin and then the lower arm. The lower arm will work but upper doesn’t. The upper without the subsequent lower works.

Hi,

If you can post a sample project or some screenshots I can take another look at the issuem, but this should be intentional as well.

-Thank you