유니티 Mathf Clamp 사용해보기

2021. 2. 21. 12:28유니티실습

반응형
728x170

Mathf Clamp를 사용하면 지정한 최대/최소값으로 지정한 범위 이외에 값이 되지 않게 합니다.

아래의 화면은 카메라에 오브젝트에 Mathf Clamp 스크립트를 적용시킨 예제입니다.

 

결과 화면

마우스 드래그를 활용하여 카메라의 포지션을 변경하며

Clamp로 지정된 이외에 범위를 벗어나지 않는 결과를 확인하실 수 있습니다.

 

값을 더 확장시키고 확인해보겠습니다.

 

확장된 범위까지 포지션이 이동됩니다.

 

 

Mathf Clamp 스크립트(작성 후 카메라 오브젝트에 추가)

public class CameraClamp : MonoBehaviour
{
    public float moveSpeed;
    public float xMin, xMax, yMin, yMax;    

    void Update() {

        if (Input.GetMouseButton(0)) {
            transform.position -= 
                new Vector3(Input.GetAxis("Mouse X") * moveSpeed * Time.deltaTime, 
                Input.GetAxis("Mouse Y") * moveSpeed * Time.deltaTime, 0f);

            float x = Mathf.Clamp(transform.position.x, xMin, xMax);
            float y = Mathf.Clamp(transform.position.y, yMin, yMax);

            transform.position = new Vector3(x, y, transform.position.z);
        }

    }
}

 

반응형
그리드형