使用物理学投掷物体? (统一)
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转换为光线投射以获得扔物体的方向,然后在那个方向上对该对象施加一个力。
如果您的代码看起来像这样,那么您很有可能正在其他地方更改对象的速度或变换。它也可能与另一个物体相撞并停止。
所以,我现在已经工作了 4 个多小时,我正在尝试制作一个玩家可以投掷的物体。我想扔它,(不是扔得很远,比如 0.5 米),但我似乎做不到。我试过通过刚体添加力,制作动画,然后只是改变它的变换。谁能帮助我,如果有人不得不做类似的事情,如果是的话,你是怎么做到的?
我没有任何代码示例,因为没有任何效果。 (请不要只说Rigidbody,能不能举个例子谢谢。)
由于声誉原因,我仍然无法添加评论,所以这里有一个通用的方法来设置一个基于鼠标输入抛出的刚体。
Camera cam;
Rigidbody r;
Vector3 direction = cam.ScreenPointToRay(Input.mousePosition);
r.AddForce(direction * 100);
代码使用你场景的相机,你想扔的物体的刚体,然后将鼠标输入的屏幕space转换为光线投射以获得扔物体的方向,然后在那个方向上对该对象施加一个力。
如果您的代码看起来像这样,那么您很有可能正在其他地方更改对象的速度或变换。它也可能与另一个物体相撞并停止。