Unity C# > UnityEngine : Mathf

Date:     Updated:

카테고리:

태그:

공부하면서 알게된 것만 정리합니다.😀

👩‍🦰 Mathf

수학과 관련된 함수들이 미리 들어있는 함수 집합

🚀 변수/프로퍼티

✈ Deg2Rad

π / 180 값을 가진다. 일반 각도(몇 도 몇 도 하는 그 Degree)에 Mathf.Deg2Rad을 곱하면 라디안으로 변환한 값을 구할 수 있다.

  • 라디안 👉 Degree
    • Degree = 라디안 * (180 / π)
  • Degree 👉 라디안 Mathf.Deg2Rad
    • 라디안 = Degree * (π / 180)
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)으로 받는다.


🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

UnityDocs 카테고리 내 다른 글 보러가기

댓글 남기기