I’m trying to point an entity to a 3D vector. (basically setting an entities angle so it points to a position in 3D space). At the moment, I’m stuck with getting an angle from a vector.
//Vectors in the bracket are 3D, first is the entity position, second is a position in space where I want to point at.
( myEntity.Pos - posToPointAt ).Angle
I’m currently stuck at transforming the direction vector into an angle. Help is much appreciated.
That’s not how it works, you are missing an essential bit of information: in stead of using the entity position, you need to figure out what way your entity is pointing right now? Acquiring that info might be as simple as using your current rotation matrix and multiplying it with a unit vector down the z-axis (or whatever the “neutral” direction of the entity is), but that all depends on your particular setup.
Once you have both direction vectors (your current direction, and the direction to the new desired location… the last one being the normalized “myEntity.Pos – posToPointAt”), you use a function like below to calculate the rotation between the directions. Notice I use quaternions here, you might be needing a rotation matrix.