반응형
C#에서 소수점 자리수를 바꾸기 위해서는 C#의 Math 클래스에 Round 함수를 이용하는 방법이 있다.
Unity에서 Vector로 가져온 쿼터니언 데이터를 출력하면 소수점 7자리까지 출력되는 경우들이 있는데, 사용처에 따라 소수점 3~4자리까지만 표현해도 되는 상황이 존재한다.
이 때 아래 함수를 사용하면 손쉽게 Vector를 가공해 다시 저장할 수 있다.
public Vector3 RoundVectorData(Vector3 data)
{
Vector3 res = Vector3.zero;
/*
Math.Round(데이터,자릿수) : 반올림 함수
example Math.Round(input, 3);
입력 : 1.1234567
출력 : 1.123
*/
/*
Math.Ceiling(데이터) : 올림 함수
example Math.Round(input);
입력 : 1.1234567
출력 : 2
*/
/*
Math.Truncate(데이터) : 내림 함수
example Math.Round(input);
입력 : 1.1234567
출력 : 1
*/
res.x = (float)Math.Round(data.x, 3);
res.y = (float)Math.Round(data.y, 3);
res.z = (float)Math.Round(data.z, 3);
return res;
}
반응형
'개발 > Unity' 카테고리의 다른 글
URP Light Probe Group (0) | 2021.12.05 |
---|---|
PlayerPrefs로 데이터 관리하기 (0) | 2021.11.03 |
Unity - 멀티 디스플레이 활성화 후 안보이게하고싶을 때 (0) | 2021.08.31 |
Unity - InputField 입력 이벤트 구현하기 (0) | 2021.08.18 |
Unity - 스크립트로 Shader Rendering Mode 변경하기 (0) | 2021.08.05 |