Unity

(Unity) Mathf.Clamp를 이용하여 회전 범위 설정하기

Janny_ 2023. 1. 2. 18:46

https://docs.unity3d.com/kr/530/ScriptReference/Mathf.Clamp.html

 

Mathf-Clamp - Unity 스크립팅 API

Clamps a value between a minimum float and maximum float value.

docs.unity3d.com

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GameBoard : MonoBehaviour
{
    public float maxDegree = 45f;
    public float rotateSpeed = 3;
    private float curDegree;

    private void Awake()
    {
        curDegree = transform.eulerAngles.z;
    }
 
    public void RotateCW()
    {
        curDegree -= rotateSpeed * Time.deltaTime;
        curDegree = Mathf.Clamp(curDegree, -maxDegree, maxDegree);
        transform.eulerAngles = new Vector3(0, 0, curDegree);
    }

    public void RotateCCW()
    {
        curDegree += rotateSpeed * Time.deltaTime;
        curDegree = Mathf.Clamp(curDegree, -maxDegree, maxDegree);
        transform.eulerAngles = new Vector3(0, 0, curDegree);
    }
}

 

-> 45도 ~ -45도 사이의 회전

 

회전할 오브젝트 안에 회전 함수 만들어 넣어놓고 다른 스크립트에서 일정 조건 시 불러와서 사용