使用物理学投掷物体? (统一)

Throw an object using physics? (Unity)

所以,我现在已经工作了 4 个多小时,我正在尝试制作一个玩家可以投掷的物体。我想扔它,(不是扔得很远,比如 0.5 米),但我似乎做不到。我试过通过刚体添加力,制作动画,然后只是改变它的变换。谁能帮助我,如果有人不得不做类似的事情,如果是的话,你是怎么做到的?

我没有任何代码示例,因为没有任何效果。 (请不要只说Rigidbody,能不能举个例子谢谢。)

由于声誉原因,我仍然无法添加评论,所以这里有一个通用的方法来设置一个基于鼠标输入抛出的刚体。

 Camera cam;
 Rigidbody r;
 Vector3 direction = cam.ScreenPointToRay(Input.mousePosition);
 r.AddForce(direction * 100);

代码使用你场景的相机,你想扔的物体的刚体,然后将鼠标输入的屏幕space转换为光线投射以获得扔物体的方向,然后在那个方向上对该对象施加一个力。

如果您的代码看起来像这样,那么您很有可能正在其他地方更改对象的速度或变换。它也可能与另一个物体相撞并停止。