首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unity 3D运动滑动

Unity 3D运动滑动
EN

Stack Overflow用户
提问于 2021-05-26 03:19:56
回答 1查看 90关注 0票数 1

我正在尝试制作一款FPS游戏,但当我按下w键一段时间,然后释放它的幻灯片比想要的要远一点。我是Unity的新手,我认为它与更新有关。代码:

代码语言:javascript
复制
public float moveSpeed = 5f;
public float jumpForce = 5f;
public CharacterController controller;

private Vector3  moveDirection;
public float gravityScale;

void Start()
{
    controller = GetComponent<CharacterController>();
}

void Update()
{
    float yStore = moveDirection.y;

    moveDirection = (transform.forward * Input.GetAxis("Vertical")) + (transform.right * Input.GetAxis("Horizontal"));
    moveDirection = moveDirection.normalized * moveSpeed;
    moveDirection.y = yStore;

    if (controller.isGrounded)
    {
        moveDirection.y = 0f;

        if (Input.GetButtonDown("Jump"))
        {
            moveDirection.y = jumpForce;
        }
    }

    moveDirection.y = moveDirection.y + (Physics.gravity.y * gravityScale);
    controller.Move(moveDirection * Time.deltaTime);
}
EN

回答 1

Stack Overflow用户

发布于 2021-05-26 03:37:25

将物理材质添加到地面上,并将动态摩擦力设置为1。接下来,将静态摩擦力从0.5设置为1。最后但并非最不重要的是,将弹跳度设置为0。

尝试使用这些值,直到找到令人满意的值。以下是文档的链接:

https://docs.unity3d.com/Manual/class-PhysicMaterial.html

它基本上解释了每个属性的作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67694309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档