微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我正在 unity 开发游戏并在使用加速度计时遇到问题

如何解决我正在 unity 开发游戏并在使用加速度计时遇到问题

我编写了这段代码,用于使用加速度计在 3d 盒子上添加力,但这在运行时对盒子没有影响。有没有办法使用 AddForce 代替 transform

image

此外,我只想在 x 轴上添加一个力,即水平方向,而不是其他方向。有没有办法做到这一点?

解决方法

您可能需要使用 AddForce() 检查您的刚体质量。力默认适用于牛顿定律,即力 = 质量 x 加速度。您可能想使用可以像以下这样传递的 ForceMode 可选参数:rb.AddForce(tilt,ForceMode.Acceleration)。 Acceleration 向刚体添加连续加速度,忽略其质量。更多信息:https://docs.unity3d.com/ScriptReference/ForceMode.html

或者您可能想要检查 rb.MoveToPosition(Vector3) 计算您移动到指定位置的力。

https://docs.unity3d.com/ScriptReference/Rigidbody.MovePosition.html

有关 AddForce 的默认工作方式的信息,Rigidbody2D 以类似的方式工作,减去第三维。 https://docs.unity3d.com/ScriptReference/Rigidbody2D.AddForce.html

并且要将力限制在 x 轴上,您可能需要查看盒子上的约束,通过轴或旋转进行限制。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。