[Unity]TIL (9) | 2023.08.03

kjg5370·2023년 8월 3일
0

TIL

목록 보기
9/91

룰렛의 회전

클릭하면 룰렛을 회전시키는 스크립트를 만들어보자.

1. 그림판으로 룰렛을 그린다.

직접 그림판으로 룰렛을 그려보았다.

2. 유니티를 키고 그림판으로 그린 룰렛을 넣어준다.

3. CScript를 만들어서 룰렛을 회전시킬 컨트롤러를 만들어준다

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

public class controller : MonoBehaviour
{

    float speed = 0f;

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetMouseButtonDown(0))
        {
            this.speed = 10f;
        }

        transform.Rotate(0, 0, this.speed);

        this.speed *= 0.96f;
    }
}

여기서 Input.GetMouseButtonDown(0)은 마우스가 클릭된 순간 true를 반환하는 메서드이다. 마우스를 딱 눌렀을때 한프레임마다 speed에서 설정한 각도 만큼 회전을 시킨다.

마지막으로 스피드에 0.96을 계속 곱해주는 이유는 저걸 안해주면 룰렛이 끝없이 돌기 때문이다. 룰렛이 계속 도는걸 멈추려면 speed의 값을 조금씩 줄이면 되는데 이때 일정한 속도로 감속을하면 자연스럽지 않기 때문에 감쇠계수 라는걸 써서 선형 함수(y=axy = ax)가 아닌 지수함수(y=axy = a^x)형태로 감속하므로 자연스럽게 속도가 줄어드는 것처럼 보인다.🐈

profile
학생입니다

0개의 댓글