Я хочу сделать прыжковое действие медленнее, чем есть, rb.addforce (vector3.up * jumpower); < /code> Я использую AddForce, чтобы переместить игрока в оси Y, когда игрок прыгает, он спрашивает, что я спрашивает, что я хочу, чтобы он не был в отставке. to?using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class movement : MonoBehaviour
{
public Rigidbody rb;
public float MouseSensitivity;
public float MoveSpeed;
public float JumpPower;
private Vector3 targetMoveDirection;
// Smoothing factors
public float moveSmoothing = 0.1f;
public float rotateSmoothing = 0.1f;
bool isJumping = false;
void Start()
{
//Cursor.visible = false;
}
void Update()
{
// Move
targetMoveDirection = transform.forward * Input.GetAxis("Vertical") + transform.right * Input.GetAxis("Horizontal");
rb.AddForce(targetMoveDirection * MoveSpeed, ForceMode.VelocityChange);
Vector3 newVelocity = rb.velocity;
newVelocity.x = Mathf.Lerp(rb.velocity.x, 0, moveSmoothing);
newVelocity.z = Mathf.Lerp(rb.velocity.z, 0, moveSmoothing);
rb.velocity = newVelocity;
// Jump
if (Mathf.Abs(rb.velocity.y) < 0.01f && !isJumping)
{
if (Input.GetKeyDown(KeyCode.Space))
{
rb.AddForce(Vector3.up * JumpPower);
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/758 ... rce-slower