🔹 Mathf 주요 기능 정리 (Unity 수학 라이브러리)
Mathf는 게임 개발에서 자주 사용하는 수학 함수를 제공하는 Unity의 정적 클래스다
🔥 1. 반올림 및 변환 함수
함수 | 설명 | 예제 (입력 → 결과) |
Mathf.CeilToInt | 올림 후 int로 변환 | 2.3 → 3, -1.7 → -1 |
Mathf.FloorToInt | 내림 후 int로 변환 | 2.9 → 2, -1.2 → -2 |
Mathf.RoundToInt | 반올림 후 int로 변환 | 2.5 → 3, 2.4 → 2 |
Mathf.Abs | 절댓값 | Mathf.Abs(-5) → 5 |
Mathf.Sign | 부호 반환 (1 또는 -1) | Mathf.Sign(-10) → -1 |
✅ 사용 예제
int roundedValue = Mathf.RoundToInt(2.6f); // 3
int floorValue = Mathf.FloorToInt(-2.3f); // -3
🔢 2. 최소/최대값 관련 함수
함수 설명 예제 (입력 → 결과)
Mathf.Min | 두 값 중 최소값 반환 | Mathf.Min(3, 5) → 3 |
Mathf.Max | 두 값 중 최대값 반환 | Mathf.Max(3, 5) → 5 |
Mathf.Clamp | 값이 min~max 범위를 벗어나지 않게 조정 | Mathf.Clamp(15, 0, 10) → 10 |
Mathf.Clamp01 | 값이 0~1 사이가 되도록 조정 | Mathf.Clamp01(1.5) → 1 |
✅ 사용 예제
float health = Mathf.Clamp(currentHealth, 0, 100); // 체력이 0~100 사이로 유지됨
🔄 3. 보간(Lerp) 및 보간 변형 함수
함수 설명 예제 (입력 → 결과)
Mathf.Lerp | 선형 보간 (t=0이면 a, t=1이면 b) | Mathf.Lerp(0, 10, 0.5f) → 5 |
Mathf.LerpUnclamped | 범위를 초과하는 선형 보간 | Mathf.LerpUnclamped(0, 10, 1.5f) → 15 |
Mathf.SmoothStep | 더 부드러운 보간 | Mathf.SmoothStep(0, 10, 0.5f) → 5 |
✅ 사용 예제
float newValue = Mathf.Lerp(0, 100, 0.75f); // 0과 100 사이에서 75% 지점 → 75
🔄 4. 각도 및 삼각 함수
함수 설명 예제 (입력 → 결과)
Mathf.Sin | 사인값 반환 | Mathf.Sin(0) → 0 |
Mathf.Cos | 코사인값 반환 | Mathf.Cos(0) → 1 |
Mathf.Tan | 탄젠트값 반환 | Mathf.Tan(45°) → 1 |
Mathf.Atan2 | x, y 값으로 각도 반환 | Mathf.Atan2(1, 1) → 45° |
Mathf.Deg2Rad | 도(degree) → 라디안(radian) 변환 | 90 * Mathf.Deg2Rad → 1.57 |
Mathf.Rad2Deg | 라디안(radian) → 도(degree) 변환 | 1.57 * Mathf.Rad2Deg → 90 |
✅ 사용 예제
float radians = 90 * Mathf.Deg2Rad; // 90도를 라디안으로 변환
float degrees = Mathf.Atan2(1, 1) * Mathf.Rad2Deg; // x=1, y=1일 때 각도 계산 (45도)
⚡ 5. 거리 및 기타 수학 연산
함수 설명 예제 (입력 → 결과)
Mathf.Pow | 거듭제곱 | Mathf.Pow(2, 3) → 8 |
Mathf.Sqrt | 제곱근 | Mathf.Sqrt(16) → 4 |
Mathf.Exp | 자연로그 e^x | Mathf.Exp(1) → 2.718 |
Mathf.Log | 자연로그 | Mathf.Log(2.718) → 1 |
Mathf.Log10 | 로그(밑=10) | Mathf.Log10(100) → 2 |
Mathf.Distance | 두 점 사이 거리 | Mathf.Distance(A, B) |
Mathf.Approximately | 두 값이 거의 같으면 true 반환 | Mathf.Approximately(0.1 + 0.2, 0.3) → true |
✅ 사용 예제
float distance = Mathf.Distance(new Vector3(0, 0, 0), new Vector3(3, 4, 0)); // 5 (피타고라스 정리)
✅ 요약
카테고리 대표 함수
카테고리 | 대표 함수 |
🔥 반올림 | CeilToInt, FloorToInt, RoundToInt |
🔢 최소/최대값 | Min, Max, Clamp |
🔄 보간 | Lerp, SmoothStep |
📐 각도 | Sin, Cos, Tan, Atan2, Deg2Rad, Rad2Deg |
⚡ 거리 & 기타 | Distance, Pow, Sqrt, Approximately |
👉 Mathf는 게임 개발에서 수학 연산을 쉽게 처리할 수 있도록 도와주는 함수 모음이다
'유니티' 카테고리의 다른 글
System.Action을 사용해야 하는 경우와 비동기 호출과의 차이점 (0) | 2025.02.18 |
---|---|
C# string 주요기능 (0) | 2025.02.17 |
unity TryParse, Parse (0) | 2025.02.17 |
float, double과 decimal 차이점 (0) | 2025.02.17 |
[UNITY] 무료 사운드 mp3,wave 파일 편집 Goldwave 툴 (0) | 2025.02.11 |