I write a project that an airplane moving along path. But when i calculate rotation & location, then use SetActorLocation and SetActorRotation, the airplane is shaked. I try with some other methods but no way can fix that.
The first, i calculate all points in this path( include 4 line_path and 4 arc_path)
The second, calculate direction of Air Plane ( y,b,roll).
Last, i use SetActorLocation (_location[i]) and SetActorRotation(_direction[i].Rotation());
Note that speed of Air Plane ~ 10000 cm/s. location is quite large, aprox (2000000,2000000,100), i don’t know that it is the reason or not.
Because i’ve write an 2D - Air Plane project before ( in C# ), so now i fix code to mix with Unreal Engine, my code is so long, if need i will update my code tonight. Now i am far.
My assumption, something how you calculate the direction of Air Plane (y,b,roll) gives small errors. It’s difficult to say if it’s floating point inaccuracy without knowing how this function works. Did you use double in C#? Is it possible to reduce the size of the area and test if float is the reason? There are still some unknown variables and it’s difficult to help like that. Heck, I don’t even know if your calculated path is a straight line. The only reason why SetActorLocation/Rotation might shake is setting your actor tick under 30 fps, but that’s probably the only reason I can think of.