Проблемы с контроллером fps жесткого тела - PullRequest
0 голосов
/ 25 февраля 2020

Я пытаюсь создать свой собственный контроллер персонажа Rigid body, используя Unity, у меня есть движения, но это немного странно. Когда я нажимаю A / D, он перемещает моего персонажа вдоль оси X, затем, когда я нажимаю W / D, он перемещает его вдоль оси Y. Также прямо сейчас у меня есть камера fps (Brakeys), но в корпусе Rigid нет кода, указывающего go в этом направлении.

Вот код ...

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Movement : MonoBehaviour
{
public float speed = 5f;
public float jumpForce = 5f;
public bool isGrounded;
public Rigidbody rb;

void Start()
{

}

// Update is called once per frame
void Update()
{
    Vector3 move = new Vector3(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));

    rb.AddForce(move * speed);
}
}

1 Ответ

0 голосов
/ 25 февраля 2020

Используйте FixedUpdate при работе с физикой.

И вы назначаете вертикальное входное значение для оси Y. Я думаю, вы хотите это на оси Z.

void FixedUpdate()
{
    Vector3 move = new Vector3(Input.GetAxis("Horizontal"), 0f, Input.GetAxis("Vertical"));

    rb.AddForce(move * speed);
}
...