gpt4 book ai didi

C# Unity 角色跳跃真的很奇怪

转载 作者:行者123 更新时间:2023-11-30 17:38:31 27 4
gpt4 key购买 nike

大家好!

我的 UNITY 5 代码有问题。

我的角色可以跳跃,但他跳得很快而且太快了。看起来真的很奇怪。

非常感谢您对我的代码的反馈!

using UnityEngine;
using System.Collections;

public class Gravity : MonoBehaviour {
private float inputDirection;
private float VerticalSpeed;
private float gravity = -2f;
private float speedmultiplier = 5f;
private bool jump;

private Vector3 moveVector;
private CharacterController controller;

// Use this for initialization
void Start () {
controller = GetComponent<CharacterController> ();
}

// Update is called once per frame
void Update () {
inputDirection = Input.GetAxis ("Horizontal");
moveVector = new Vector3 (inputDirection, VerticalSpeed, 0) * speedmultiplier;
controller.Move (moveVector * Time.deltaTime);

if (controller.isGrounded) {
VerticalSpeed = 0.0f;
jump = true;
} else {
VerticalSpeed = gravity;
jump = false;
}

if (Input.GetKey(KeyCode.X)) {
if(jump == true) {
VerticalSpeed += 25f;
}
}
}
}

最佳答案

您可以尝试在 else 中更改垂直速度以反射(reflect)随时间的变化。

也许是这样的:

VerticalSpeed += gravity * Time.deltaTime

而不是仅仅将其设置为重力。您可能需要调整您的初始跳跃速度以使其感觉更好,但这应该让您的跳跃开始时快一点,在到达跳跃的顶点时减速,并在跌落时加速。

关于C# Unity 角色跳跃真的很奇怪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36631349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com