【发布时间】:2019-11-23 07:55:21
【问题描述】:
我创建了一个 3D 赛车,汽车左右移动,但它不会像真车一样旋转。 以下是我的脚本:
public class movement : MonoBehaviour {
Rigidbody rb;
public float forwardforce = 600f;
public float sidwayforce;
float left_right;
public float thrust;
public float speed;
void Start () {
rb = GetComponent<Rigidbody>();
}
// Update is called once per frame
void FixedUpdate () {
rb.AddForce(0, 0, forwardforce *Time.deltaTime);
Controll ();
left_right = Input.GetAxis("Horizontal");
// rb.AddForce(sidwayforce* left_right * Time.deltaTime, 0, 0,ForceMode.VelocityChange);
// rb.AddForce( sidwayforce*left_right * Time.deltaTime, 0, 0, ForceMode.Acceleration);
//rb.velocity = new Vector3(sidwayforce*left_right * Time.deltaTime,0,0);
}
这是左右移动的代码,但我想创建汽车旋转
void Controll (){
if (Input.GetAxis ("Horizontal") > 0) {
rb.AddForce (20f, 0, 0);
} else {
if (Input.GetAxis ("Horizontal") <0) {
rb.AddForce (-20f, 0, 0);
}
}
}
}
【问题讨论】: