Vector confusion,

Why , when tracing a line trace, when putting in my vectors for start and end of trace, do I have to add where my starting vector is to where my finishing vector is, for my finishing vector?

A vector is a point, 0,0,0 lets say for my starting vector
If I want my line trace to end at 0,0,50, for instance why do I have to add the 2 vectors together for the trace? Im missing some basic logic of how vectors work here and any input would be appreciated, thanks!

the pic shows what im trying to do and maybe can help explain it to me, thanks

The forward vector is pretty much a multiplier of the rotation in world space. If the player is facing x in world space, the forward vector will be 1x, 0y, 0z. If they are facing the opposite direction of x, it will be -1x, 0y, 0z, and so on… Which is why you need to multiply it by the distance.

I get that part, but then why do I then have to add it after the multiplication to the start point vector of the trace to get it to work, isnt it by itself now the end point of the vector once we have multiplied it?


here is a better picture of where im adding

Except that you are now needing to ‘add’ the 500 to the world location. So lets say you start is 100,100,0 and you get the forward of 1,0,0 (multiply by 500) so its now 500,0,0. If you don’t add it your end will be 500,0,0 when you want it to be 600,100,0.

Ok so your saying my controller rotation world is different from my player mesh world. I thought it was 0,0,0 for my mesh location, for example, to start, and for my controller it was 1,0,0 times 500 for a 501,0,0 to end. So it seemed stupid to have to add it to the world

You need to add your mesh’s WorldLocation to the ForwardVector because the ForwardVector itself lacks any positional data.

There we go, thanks so much, I am now one step closer to understanding everything and taking over the world