1. 탄젠트를 사용하여 각도 구하기 - 출처 위 두 공식을 사용하여 두 점 사이의 각도를 구할것입니다. 우선 기준이 될 시작점과 시작점으로부터의 각도를 구할 끝점을 구하기 위해 시작점 벡터에서 끝점 벡터를 빼줍니다. 그러면 시작점에서 부터 끝점으로 향하는 벡터가 구해지는데 이 백터의 x,y를 atan에 넣으면 두 점 사이의 각도를 구할 수 있습니다. 12345 float GetAngle(Vector2 start, Vector2 end) { Vector2 v2 = end - start; return Mathf.Atan2(v2.y, v2.x) * Mathf.Rad2Deg; }Colored by Color Scriptercs 2. Angle Unity에 두 점 사이의 각도를 구할수 있는 Vector2.Angl..
코드 2-13, 2-14 를 구현하였습니다. 2차원 벡터를 회전시키는 확장 함수 123456789101112131415161718using UnityEngine; public static class MyExtension{ public static Vector2 Rotate(this Vector2 v2, float degrees) { float sin = Mathf.Sin(degrees * Mathf.Deg2Rad); float cos = Mathf.Cos(degrees * Mathf.Deg2Rad); float tx = v2.x; float ty = v2.y; v2.x = (cos * tx) - (sin * ty); v2.y = (sin * tx) + (cos * ty); return v2; }}Colo..
그림 2-20 을 구현하였습니다. Instantiate, Destroy 사용은 자원 낭비가 심하기 때문에 다음 진행부터는 풀링을 사용하여 구현할 것입니다. 123456789101112131415161718using UnityEngine; public class MoveBullet : MonoBehaviour { public float speed; public Vector2 bulletSpeedVector; private void Update() { transform.Translate(bulletSpeedVector * Time.deltaTime * speed); Vector2 viewportPos = Camera.main.WorldToViewportPoint(transform.position); if(v..