如何在跳跃(空间)和限制时强制重力?

时间:2018-01-23 17:22:54

标签: c# unity3d

当Char跳跃时如何强制引力,现在当我推动空间时,物体只是在天空中飞行无限制,如何像平常跳跃那样制作并在重力时强制重力

我的角色代码:



 horizontal = Input.GetAxis("Horizontal");
        vertical   = Input.GetAxis("Vertical");
        
        rigidBody.AddForce((transform.forward * vertical) * speed / Time.deltaTime);
        rigidBody.angularVelocity = Vector3.zero * speed / Time.deltaTime;
        rigidBody.MoveRotation(rigidBody.rotation * Quaternion.Euler(new Vector3(0f, horizontal, 0f) * 5f));

        if (Input.GetKey(KeyCode.Space)) {
            rigidBody.AddForce(0, 50, 0, ForceMode.Impulse);
        }




由于

1 个答案:

答案 0 :(得分:1)

使用重力。重力是发动机内部的价值。使用Physics.gravity = new Vector3(0F, -Your_Wandet_Speed_F, 0F);从脚本设置重力。您可以转到Edit -> Project Settings -> Physics并从编辑器设置重力。

还有一件事。使用Input.GetKeyDown代替Input.GetKey。它会更好用

祝你的项目好运。

-Garrom