728x90

목차.

  1. 개요
  2. 오브젝트 속도 측정 코드
  3. 오브젝트 속도 활용
  4. 결과

 

개요

 

게임 개발 중 오브젝트의 움직임에 의한 속도를 파악하고 잘 활용하는 것은 게임 로직 및 플레이 경험을 개선할 수 있는 방법입니다.

이 글에서는 유니티에서 오브젝트의 속도를 측정하고 이를 활용하는 방법에 대해서 알아보겠습니다.

 

속도를 알기 위해선 먼저 Rigidbdoy를 컴포넌트에 추가해야 합니다.

 

오브젝트 속도 측정 코드

 

public class Player : MonoBehaviour
{
    Rigidbody rigidbody;
    
    void Start()
    {
        rigidbody = GetComponent<Rigidbody>();
    }
    public void Update() 
    {
        Debug.Log(rigidbody.velocity.magnitude);
    }

}

 

오브젝트 속도 활용

 

오브젝트의 속도를 알 수 있다면 게임 기능이나 컨텐츠를 만들 때 많은 도움이 됩니다.

 

  • 플레이어가 낙하하고 있는지 알 수 있다 : y축의 속도가 특정 값을 넘으면 낙하중이라는 상태로 알 수 있음
  • 오브젝트의 속도가 지정한 값을 초과하지 않게 제어할 수 있다

외로 개발을 하면서 많은 활용 방법이 있었습니다.

 

결과

 

오브젝트가-움직이면-속도-출력
오브젝트가 움직이면 속도 출력

 

오른쪽 상단에 보면 오브젝트의 속도가 나오는것을 볼 수 있습니다.

코드에서는 Debug를 사용했지만 저는 Text에 출력하는 방법을 사용했습니다.

 

출력되는 값을 보면 소수점 뒷자리가 많이 출력되는데 ,
Mathf.Round() 함수를 사용하면 소수점을 버릴 수 있습니다.

 

이번 글에서 rigidbody.velocity를 활용해 오브젝의 속도를 측정하고, 활용하는 방법에 대해서 알아봤습니다.

728x90

+ Recent posts