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