Set Actor Location Not Working

Not quite sure, I don’t know too much about splines but maybe the location one isn’t set to world space? It’s on local. If the rotator is working and locating isn’t then that’s the only thing I see different.

I’m having some issues doing a simple follow spline test in BP, simple enough, i’m trying to move a character along a spline, updating the distance alone spline every tick.

As you can see in the attached screen shot I query both distance and rotation alone spline which feeds into a set actor location and set actor location node… the rotation works while no matter what I do the character is always moved to 0,0,0… regardless of if it has movement data being pumped into it or I have a singular world space value entered into it.

Anyone know what i’m either doing wrong or why this isn’t working?

and thanks

for any help

Uncheck the “Sweep” bool (not sure what happens if you got both)
And the “Get Location At Distance along Spline” is on “local coordinates”, try World Coordinates

That was a good fine, i didn’t notice I had that set to local but its still pumping out world space locations every tick… because their set to local they are wrong but none of them are having an effect on the actual greyhound

Thanks for the response, unfortunately neither of these have had an effect. the print node is still pumping out values from the set location at distance along spline node correctly, its just not accepting them

Hey Ryatta-

I noticed you have a print screen node connected to your “Get Location at Distance Along Spline” node - what is the value being returned from this call? Can you provide the full setup for your spline blueprint to help me reproduce your issue on my end?

the point of the print screen node was to make sure that I was actually getting correct location vectors out of the get distance at spline node so i knew the problem was with the set actor location node

When you say the full setup. what else do you need… I have a looped spline that I’m getting the location along the line with a float that increase by 10 every tick… ideally the result would be the character slowly moving alone the spline… I’m not aware of anything else I should need to make it work… the actual scene only has a race track the spline is created around

My spline BP is attached as image, I just dragged it into the scene and added extra points from that.

though as I mentioned earlier I can’t even get set actor location to do anything other then move the character to 0,0,0, when when manually entering a value. I’d love to see a screen shot of your working setup

The Set Actor Location node itself is working for me when I try to update the position of an actor. If there is some issue with it working with splines I would like to ensure my test project matches your setup as closely as possible. This would require knowing the steps of how you created your spline blueprint.

As others have mentioned - it appears the issue is the Coordinate Space setting on the Get Location at Distance Along Spline node. With the node set to Local space, what appears to be happening is the node determines how far forward you’ve moved and calculates the vector based on the spline relative to itself. So if SplineDistance is set to 0 by default, the first time the node is the resulting vector output would be (0, 0, 0) since the spline is at it’s own origin. After an increment of 10, the new vector would be (10, 0, 0). This is why you’re seeing your character move to the origin since this is the vector being used to set the location. By switching to The Coordinate Space to World instead, the vector output will be the spline’s position relative to the world. If your spline is located at (400, 384, 747) for example, the first time the Get Location at Distance Along Spline node is called the output will be (400, 384, 747). The next time it’s called, assuming the same 10 increment, the output would be (410, 384, 747). Here is a screenshot of the setup that worked for me to move the default Third Person Template character along the spline.

Cheers

I can confirm when I tried I was getting the same result in both local and world mode, I’ll double check this on Monday when I’m back at work, it was just the original screen shot that I provided had the get location node set to local but I have had it set to world for the majority of the time.

I’ll try and let you know, but 90% certain unless I notice something else different I’m likely to get the same result… to double check your testing this in 4:12?

I can confirm that I was running these test in 4.12. If you are still having issue with the spline movement not working after changing coordinate space to world, please provide a copy of your project for me to test your issue directly.

This bugged me for a while but as it turned out the reason was the player BP has another process in it that someone else had set up driving its location to 0,0,0. so no matter what the level BP did the player was always at 0,0,0

typical :smiley:

how do I send an actor to different levels?

Hey -

Please create a new post for your question as this is not related to the original question asked on this post. This helps keep information for different issues from being lost within the context of another question.