计算手动移动的物体的速度?

时间:2015-10-12 13:12:46

标签: unity3d physics

我可以通过鼠标按钮移动来直接修改对象位置。

Vector3 touchPosition = Camera.main.ScreenToWorldPoint (Input.mousePosition);
Vector3 touchPosition = new Vector3 (touchPosition.x, touchPosition.y, transform.position.z);
touchPosition.z = transform.position.z;

if(Input.GetMouseButton(0)) {
    transform.position = newPosition;
}

我想知道的是最后几帧中物体的平均速度是多少。知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

可能看起来像这样:

Vector3 velocity;

Vector3 lastPosition = transform.position;
Vector3 touchPosition = Camera.main.ScreenToWorldPoint (Input.mousePosition);
Vector3 touchPosition = new Vector3 (touchPosition.x, touchPosition.y, transform.position.z);
touchPosition.z = transform.position.z;

if(Input.GetMouseButton(0)) {
    transform.position = newPosition;
    velocity = (newPosition - lastPosition) / Time.deltaTime;
}