C# 如何在游戏中更好地移动物体

C# 如何在游戏中更好地移动物体,c#,unity3d,game-engine,C#,Unity3d,Game Engine,我对unity很新鲜,但对于第一个项目,我想制作一些类似messenger的球类游戏,但我在物体移动方面有点小问题。我想做些运动 但现在我只有垂直运动。所以问题是如何以简单的方式将其转换为视频中的球那样的运动 void OnMouseDown() { rb.velocity = Vector2.up * jumpForce; } 您需要测量球的中心和单击点之间的距离。然后你可以在你测量的方向上加上力。 记住锁定刚体在z轴上的运动,并使用屏幕边界约束球,这些边界也可以是刚体-仅当重力=0

我对unity很新鲜,但对于第一个项目,我想制作一些类似messenger的球类游戏,但我在物体移动方面有点小问题。我想做些运动

但现在我只有垂直运动。所以问题是如何以简单的方式将其转换为视频中的球那样的运动

void OnMouseDown() 
{
   rb.velocity = Vector2.up * jumpForce;
}

您需要测量球的中心和单击点之间的距离。然后你可以在你测量的方向上加上力。 记住锁定刚体在z轴上的运动,并使用屏幕边界约束球,这些边界也可以是刚体-仅当重力=0时

rb.AddForce(transform.up * direction);

链接到文档:

您需要测量球中心和点击点之间的距离。然后你可以在你测量的方向上加上力。 记住锁定刚体在z轴上的运动,并使用屏幕边界约束球,这些边界也可以是刚体-仅当重力=0时

rb.AddForce(transform.up * direction);

链接到文档:

与@AdamRoszyk的想法相同,但在刚体类中有一个pre-bluit unity方法,名为:


与@AdamRoszyk的想法相同,但在刚体类中有一个pre-bluit unity方法,名为:


你可以尝试在每个Tap的右边添加随机向量你的速度是向量吗?你可以尝试在每个Tap的右边添加随机向量你的速度是向量吗?AddForceAtPosition是一个内置方法。AddForceAtPosition是一个内置方法。