Clamp
클램프란?
입력값에 최소, 최대값을 지정하여 넘지 않도록 해주는 함수이다.
아래의 형식을 보자.
float Mathf.Clamp(float value, float min, float max) (+ 1 overload)
위처럼 입력값을 주고 최소,최대순으로 입력해주면 된다.
오늘의 트러블 슈팅
카메라 조절하기
1인칭 게임에서 플레이어가 주변 환경에 부딪히면 콜라이더 때문에 벽에 막혀야 되는데 막히지만, 카메라가 그 안을 보는 문제가 있었다.
카메라가 벽을 통과하여 내부를 보게된 것.
이를 해결하기 위해 먼저 조절해준 것은
camera컴포넌트에 Clipping Planes에 Near의 값이다.
Near를 통해 카메라에 보이는 절두체의 시작점을 좁게 할 수 있다. 최고로 작게 하면 점처럼 되어 카메라 렌즈 바로 앞까지 오게 된다.
자세히 보면 점은 아니고 사다리꼴이다. 카메라 렌즈 쪽의 절두체를 최대한 작게 해준 모습.
이렇게 플레이어의 시야를 조절해주었고,
또 문제가 있다.
건물 내부가 보이지 않는 문제는 해결 되었지만, 이제는 플레이어의 얼굴이 조금 보인다.
이를 해결하기 위한 것이 CUllingMask이다.
culling 흔히 최적화 기법에 많이 사용되는 것으로 알고있다. 카메라가 보고 싶은 layer를 선택하여 렌더링 되게 한다.
이를 통해 CUllingMask에 있는 레이어 중 player만 빼면 카메라로 player의 모습은 보이지 않게 된다.
위처럼 1인칭 게임에서는 CUllingMask에 플레이어(자기자신)은 빼는 식으로 활용하면 좋을 것 같다.