728x90
반응형
1. 소스
리지드바디(Rididbody) 없이 위치 값으로 속도를 얻는 코드입니다.
멤버 변수 |
private Vector3 m_LastPosition; |
메서드 |
float GetSpeed() { float speed = (((transform.position - m_LastPosition).magnitude) / Time.deltaTime); m_LastPosition = transform.position; return speed; } |
2. 소스
속도값을 m/s와 km/h 두 개로 화면에 출력합니다.
유니티에서 사용되는 단위는 m/s이지만, 자동차의 경우 km/h를 즐겨 사용하기 때문에,
km/h = m/s * 3.6f로 계산하여 출력하였습니다.
using UnityEngine;
using UnityEngine.UI;
public class DemoGetSpeed : MonoBehaviour
{
private Vector3 m_LastPosition;
public float m_Speed;
public Text m_MeterPerSecond, m_KilometersPerHour;
void FixedUpdate()
{
m_Speed = GetSpeed();
m_MeterPerSecond.text = string.Format("{0:00.00} m/s", m_Speed);
m_KilometersPerHour.text = string.Format("{0:00.00} km/h", m_Speed * 3.6f);
}
float GetSpeed()
{
float speed = (((transform.position - m_LastPosition).magnitude) / Time.deltaTime);
m_LastPosition = transform.position;
return speed;
}
}
3. 데모
728x90
반응형
'프로그램 > 유니티 스크립트 소스' 카테고리의 다른 글
[유니티 스크립트 소스] 마우스를 이용한 Orbit 카메라 (1) | 2020.02.19 |
---|---|
[유니티 스크립트 소스] 유니티 에디터에서 클라이더 그리기 (0) | 2020.02.19 |
[유니티 스크립트 소스] 타이머 - 카운트 다운 (1) | 2020.02.17 |
[유니티 스크립트 소스] 타이머 - 스톱 워치 (0) | 2020.02.17 |
[유니티 스크립트 소스] Flying Object 키보드 단순 제어 (0) | 2020.02.16 |