Unity의 Mathf 클래스 개요

Unity의 Mathf 클래스는 게임 및 앱 개발에 필요한 다양한 수학 함수들을 제공합니다. 이 문서에서는 Mathf 클래스의 주요 기능과 사용 예제에 대해 설명합니다.

주요 기능

삼각 함수

Mathf 클래스의 삼각 함수는 라디안 단위로 작동합니다. 주요 함수는 다음과 같습니다:

  • Sin: 사인 계산
  • Cos: 코사인 계산
  • Tan: 탄젠트 계산
  • Asin: 아크 사인 계산
  • Acos: 아크 코사인 계산
  • Atan: 아크 탄젠트 계산
  • Atan2: 두 점 간의 아크 탄젠트 계산
  • PI: 원주율 상수
  • Rad2Deg: 라디안을 도로 변환하는 상수
  • Deg2Rad: 도를 라디안으로 변환하는 상수

거듭제곱근 및 제곱근

Mathf 클래스는 다음과 같은 거듭제곱 및 제곱근 함수도 제공합니다:

  • Pow: 거듭제곱 계산
  • Sqrt: 제곱근 계산
  • Exp: 자연 지수 함수 계산

또한 이진 데이터 크기 작업 시 유용한 2의 거듭제곱 관련 함수도 포함되어 있습니다:

  • ClosestPowerOfTwo: 가장 가까운 2의 거듭제곱
  • NextPowerOfTwo: 다음 2의 거듭제곱
  • IsPowerOfTwo: 주어진 숫자가 2의 거듭제곱인지 확인

보간 함수

Mathf 클래스는 몇 가지 보간 함수를 제공합니다:

  • Lerp: 두 점 사이의 선형 보간
  • LerpAngle: 각도 보간
  • LerpUnclamped: 비한정 보간
  • InverseLerp: 주어진 값의 비율 계산
  • MoveTowards: 특정 값으로 향하는 보간
  • SmoothDamp: 부드러운 보간
  • SmoothStep: 부드러운 단계별 보간

위의 함수들은 Vector 및 Quaternion 클래스에서도 사용할 수 있습니다.

값 제한 및 반복

간단한 헬퍼 함수는 게임이나 앱에서 특정 값의 범위를 제한하거나 반복에 유용합니다. 주요 함수는 다음과 같습니다:

  • Max: 최대값 찾기
  • Min: 최소값 찾기
  • Repeat: 특정 범위 내에서 반복
  • PingPong: 장애물 사이에서 반복
  • Clamp: 특정 범위로 제한
  • Clamp01: 0과 1 사이로 제한
  • Ceil: 올림
  • Floor: 내림

로그 함수

로그 함수는 주어진 숫자의 자연 로그 또는 지정된 밑(base)으로 로그를 계산합니다. 주요 함수는 다음과 같습니다:

  • Log: 자연 로그 또는 지정된 밑의 로그 계산
  • Log10: 밑이 10인 로그 계산

총 정리

Mathf 클래스는 다양한 수학적 작업을 쉽게 수행할 수 있도록 도와주는 유용한 클래스입니다. 자세한 내용은 Mathf 스크립트 레퍼런스를 참고하세요.

활용 및 응용 예제

삼각 함수 활용 예시

게임에서 적의 시야를 계산하기 위해 각도를 사용하고 싶다면, Mathf.CosMathf.Sin을 활용할 수 있습니다.

float angle = player.transform.eulerAngles.y;
float directionX = Mathf.Cos(angle * Mathf.Deg2Rad);
float directionZ = Mathf.Sin(angle * Mathf.Deg2Rad);

보간 함수 활용 예시

캐릭터가 목표 위치로 부드럽게 이동하도록 할 때는 Mathf.Lerp를 사용할 수 있습니다.

transform.position = Vector3.Lerp(transform.position, targetPosition, Time.deltaTime * speed);

값 제한 예시

게임에서 점수가 특정 범위를 넘지 않도록 제한하고 싶다면 Mathf.Clamp를 사용할 수 있습니다.

score = Mathf.Clamp(score, 0, maxScore);

결론

Mathf 클래스는 Unity에서 수학적인 계산을 지원하는 중요한 클래스입니다. 플레이어의 경험을 향상시키기 위한 다양한 수학 함수들을 적극 활용해보세요.