728x90
목차.
개요
게임 개발 중 오브젝트의 움직임에 의한 속도를 파악하고 잘 활용하는 것은 게임 로직 및 플레이 경험을 개선할 수 있는 방법입니다.
이 글에서는 유니티에서 오브젝트의 속도를 측정하고 이를 활용하는 방법에 대해서 알아보겠습니다.
속도를 알기 위해선 먼저 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
'유니티' 카테고리의 다른 글
[Unity 3D] 유니티 3D : AddForce 이동구현(2) (0) | 2022.08.23 |
---|---|
[Unity 3D] 유니티 3D : AddForce 이동구현(1) (1) | 2022.08.23 |
[Unity] 코드로 Text,TextMeshPro 출력하기 (0) | 2022.08.19 |
[Unity] 스크립트로 버튼 색 제어하기 (0) | 2022.08.19 |
[Unity] 유니티 : 버튼이 안눌리거나 특정 부위만 눌리는 문제 (0) | 2022.08.18 |