Unity C# > UnityEngine : Mathf
카테고리: UnityDocs
태그: Unity Game Engine
공부하면서 알게된 것만 정리합니다.😀
👩🦰 Mathf
수학과 관련된 함수들이 미리 들어있는 함수 집합
🚀 변수/프로퍼티
✈ Deg2Rad
π / 180
값을 가진다. 일반 각도(몇 도 몇 도 하는 그 Degree)에Mathf.Deg2Rad
을 곱하면 라디안으로 변환한 값을 구할 수 있다.
- 라디안 👉 Degree
- Degree = 라디안 * (180 / π)
- Degree 👉 라디안
Mathf.Deg2Rad
- 라디안 = Degree *
(π / 180)
- 라디안 = Degree *
Mathf.Sin(_angle * Mathf.Deg2Rad)
🚀 함수
✈ Max
public static float Max(float a, float b);
a, b 둘 중 더 큰 것을 리턴한다.
✈ Sqrt
public static float Sqrt(float f);
제곱근
✈ Floor
public static float Floor(float f);
내림. 소수점 버림
✈ SmoothDamp
public static float SmoothDamp(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);
Gradually changes a value towards a desired goal over time.
- 매개변수 첫번째 값이
- 매개변수 두번째 값으로 되기까지
- 네번째 매개변수인 시간(float)동안 스무스하게 변화하는 값을 리턴한다.
- 세번째 매개변수는 Call by reference인 ref 참조 변수로서 직전, 마지막 프레임에서의 속도를 나타낸다. 함수 안에서 계산되어 바깥으로 꺼내짐.
✈ SmoothDampAngle
public static float SmoothDampAngle(float current, float target, ref float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime);
- 👉 SmoothDamp 함수와 기능은 동일하나 각도를 고려해서 스무스하게 변경시킨다.
- 360도 체계에서는 예를들어 -270도와 90도는 같은 회전값임을 의미하니까 사실 -270도면 90도만 돌면 되는건데 일반 SmoothDamp 함수를 사용하면 270도씩 돌아버리니까 SmoothDampAngle을 사용하면 의도와 달리 더 많이 회전하는 경우를 막아 줌 !
✈ Clamp
public static float Clamp(float value, float min, float max);
- value 이 min ~ max 범위를 벗어나지 않도록 한다.
- value min보다 작으면 min 로 설정되고
- value max보다 크면 max 로 설정된다.
✈ RoundToInt
public static int RoundToInt(float f);
- 인수를 정수로 반올림
✈ Round
public static float Round(float f);
- 반올림
✈ Lerp
public static float Lerp(float a, float b, float t);
- a, b 사이의 t (0~1)만큼 위치한 값을 리턴한다.
- t 가 0.5라면 리턴되는 값은 a 와 b 의 중간값!
✈ Sin
public static float Sin(float f);
- 해당 라디안 각도의 sin 값(float) 리턴
- 삼각함수는 인수를 라디안(float)으로 받는다.
✈ Cos
public static float Cos(float f);
- 해당 라디안 각도의 cos 값(float) 리턴
- 삼각함수는 인수를 라디안(float)으로 받는다.
🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄
댓글 남기기