월드 좌표계를 지역 좌표계로 옮겨서 회전값을 구함.
Transform from, Transform to
// 1. 현재 오브젝트에서 타켓 오브젝트까지의 Vector를 구하기(월드 좌표계에서 지역 좌표계로 이동시키기)
Vector3 objToTargetVec = to.position - from.position;
objToTargetVec = from.InverseTransformDirection(objToTargetVec);
objToTargetVec.Normalize(); // 노말라이즈
// 2. 지역 좌표계에서 기준 Vector(여기서는 Up)로 해서 회전값 구하기
Vector2 objToTargetProj = new Vector2(objToTargetVec.x, objToTargetVec.y);
float angleToRot = Vector2.Angle(Vector2.up, objToTargetProj);
// 3. x값이 음수이면 회전은 반대 방향
if(objToTargetProj.x > 0){
angleToRot *= -1;
}
// 4. 쿼터니언 구하기
Quaternion quat = Quaternion.AngleAxis( angleToRot, Vector3.forward);
