Notice
Recent Posts
Recent Comments
Link
스토리지
[4.5] 룰렛 돌리기 게임 만들기 본문
동작원리
- 마우스를 클릭하는지 감지.
- 클릭했으면 transform.rotation값을 변경시켜 회전하게함. (Z축으로)
- 감쇠 계수를 사용하여 점점 갈수록 느리게 해서 일정속도 이상으로 감소되면 변화각을 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