Download

Spline Mesh gets distorted when blueprint actor is scaled in world [Solved]

I am working on a kit where a wire rotates around a pipe, using a spline to control the distortion of the wire. When the actor is scaled larger than 1x in the world, the spline-mesh component becomes distorted even though the spline it is attached to appears normal. Imgur: The magic of the Internet

Picture 1 shows the distortion, the rest are blueprint nodes which I will try to explain here as best I can.

Picture 2 Gets the spline’s length and determines how many iterations of the spline-mesh will be needed to fill the wire, and determines how long each of those spline-meshes will be. This data is used later inside of Add Spline Along Mesh V2.2, a custom function.

Pictures 3-5 are the insides of Add Spline Along Mesh V2.2

Picture 3 shows variables being set, and calculates the beginning, middle, and end point of each iteration of Spline Mesh Component.

Picture 4 shows the spline-mesh being attached to the spline, and then positions each Spline Mesh Component at the appropriate location and tangent based on the location and tangent of the spline at it’s Start and End positions I have attempted to account for actor scaling here by multiplying the tangent by the root scene’s Relative 3D scale, but this has had no affect. I have tried a few other ways of grabbing the actor’s in-world scaling and multiplying the tangent here, but they have had either no affect, or only further distorted the spline-mesh.

Picture 5 shows setting the spline-mesh’s start and end scales based on the tangent scale, and setting the mesh’s start and end roll based on the spline’s roll.

Is there anything wrong with my spline/mesh setup to cause this issue? If there is nothing -wrong- with my spline/mesh setup, how do I account for actor-scale in the world without the base mesh getting distorted?

I have no idea why this works, but where I was multiplying the tangent by the scale of the actor, I needed to divide by the scale of the actor. Imgur: The magic of the Internet