스토리지

[4.5] 룰렛 돌리기 게임 만들기 본문

Unity/유니티 기본

[4.5] 룰렛 돌리기 게임 만들기

ljw4104 2021. 4. 5. 18:16

결과물

동작원리

  1. 마우스를 클릭하는지 감지.
  2. 클릭했으면 transform.rotation값을 변경시켜 회전하게함. (Z축으로)
  3. 감쇠 계수를 사용하여 점점 갈수록 느리게 해서 일정속도 이상으로 감소되면 변화각을 0으로 만듬.

RouletteContoller.cs

using UnityEngine;

public class RouletteController : MonoBehaviour
{
    public float factor;                //감쇠계수
    private float rotSpeed;             //룰렛이 돌아가는 각도
    // 실행될 때 한번만 호출됨
    void Start()
    {
        this.rotSpeed = 0;
    }

    // 매 프레임마다 호출됨
    void Update()
    {
        //왼쪽 마우스 버튼이 눌렸을 때
        if (Input.GetMouseButtonDown(0))
        {
            this.rotSpeed = 10;
        }

        this.transform.Rotate(0, 0, this.rotSpeed);
        this.rotSpeed *= factor;

        //종료판단
        if(this.rotSpeed < 0.02f)
        {
            this.rotSpeed = 0;
        }
    }
}

* 변수를 public으로 선언하면 Inspector에서 값을 수정할 수 있다.

 

transform.Rotate(Vector3)

public void Rotate(Vector3 eulerAngles, Space relativeTo = Space.Self);
  • z축 주위로 eulerAngles.z, x축 주위로 eulerAngles.x, y축 주위로 eulerAngles.y 순서로 회전을 적용한다.
  • eulerAngle : 우리가 현실세계에서 쓰는 각도계. / Quaternion : 유니티 내에서 사용하는 각도계.
  • 보통은 Quaternion을 사용하는 곳은 eulerAngle로 작업한 뒤에 Quaternion 변수로 변환하는 것이 편하다.

'Unity > 유니티 기본' 카테고리의 다른 글

[4.6] 화살 피하기 게임  (0) 2021.04.06
[4.6] Swipe로 움직이는 자동차 게임  (0) 2021.04.06
[4.5] Vector3 구조체  (0) 2021.04.05
[4.4] 유니티 콘솔에 출력  (0) 2021.04.05
[4.4] 유니티 기본 셋팅  (0) 2021.04.05
Comments