I'm making a compass, and I need to find the lookvector of the position of my character and the position of a part, so basically the lookvector as if one Vector3 was looking at the end Vector3. Once I have this I can just use math.atan2(Pos.x, Pos.z) to get my degree and put it onto the compass gui. Any help?
LookVector between two positions?
1 answer
First, you can do exactly that by getting the lookVector of a CFrame that points the way you want. Luckily, there's a convenient constructor for that:
local cf = CFrame.new( from, to )
-- a CFrame located AT from, pointing TOWARDS to
local dir = cf.lookVector
Of course, this indirection isn't necessary.
To get from vector A to vector B, you have to travel a certain amount. That "travel" is also a vector, called a displacement. You compute displacement by subtracting: d = B - A. (This makes since A + d = A + B - A = B).
A displacement has a length -- the distance between A and B. For many things, you want to ignore the distance (for example, in the compass) -- you just want the direction.
Strictly speaking, that's not possible with a vector. But you can get a unit vector in the same direction -- a vector with the same direction, but unit (1) length.
local dir = (to - from).unit
This discussion is preserved as it was. New answers, comments, and votes are closed.
