我制作了一个使用.AddForce来移动球的脚本。当我在z轴上使用它时,它可以正常工作,但是当我在x轴上移动时,它运行得太快了。 x轴的速度以前是300,但是我都将其改变为50。 x轴上的力仍然太大,并且不会改变。
using UnityEngine;
public class ball_movement : MonoBehaviour
{
public Rigidbody ballmovement;
public float zforce = 50f;
public float xforce = 50f;
private void FixedUpdate()
{
if (Input.GetKey("w"))
{
//ball moves right
ballmovement.AddForce(0, 0, zforce * Time.deltaTime,
ForceMode.VelocityChange);
}
if (Input.GetKey("s"))
{
//ball moves left
ballmovement.AddForce(0, 0, -zforce * Time.deltaTime,
ForceMode.VelocityChange);
}
if (Input.GetKey("d"))
{
//ball moves forward
ballmovement.AddForce(xforce, 0, 0 * Time.deltaTime,
ForceMode.VelocityChange);
}
if (Input.GetKey("a"))
{
//ball moves right
ballmovement.AddForce(-xforce, 0, 0 * Time.deltaTime,
ForceMode.VelocityChange);
}
}
}
我在做什么错了?
答案 0 :(得分:2)
检查是否不影响xforce的* Time.deltaTime。希望对您有帮助