유니티에서 캐릭터를 Translate를 이용하여 움직이게 될때
특정 범위안에서만 이동하고 싶을때가 있다.
이럴때에는
Mathf.Clamp
함수를 사용하면 된다.
character.transform.Translate(Time.deltaTime, 0, 0);
기존에 위와 같이 character를 Time.deltaTime 만큼 x좌표를 이동시키는 코드가 있을때
범위를 -1 ~ 1 사이로만 이동이 가능하게 하고 싶다면
character.transform.Translate(Time.deltaTime, 0, 0);
Vector3 localPosition;
localPosition = new Vector3(Mathf.Clamp(character.transform.position.x, -1f, 1f),
(localPosition = character.transform.localPosition).y, localPosition.z);
character.transform.localPosition = localPosition;
이렇게 Mathf.Clamp에 범위를 넣어주면 된다.
반응형
'가이드 > Unity, C#' 카테고리의 다른 글
유니티 자식 이미지 전부 투명도(Alpha값) 변경 하는 법 - Canvas Group (0) | 2022.06.12 |
---|---|
유니티 Global 기준 회전 하기 (0) | 2022.06.11 |
유니티/C# 코루틴 사용중 제거 MissingReferenceException (0) | 2022.05.19 |
Unity/C# string.indexof(string) is culture-specific (0) | 2022.05.12 |
유니티 파이어베이스 데이터베이스 저장/불러오기 (0) | 2022.03.20 |
댓글