Почему я падаю через самолет? - PullRequest
0 голосов
/ 21 мая 2019

Когда я нажимаю ЛКМ, я падаю через плоскость

Видео о проблеме: https://youtu.be/aLUFHlolT8E

Это для Unity 4.5.5, и у меня есть «Контроллер первого лица» с кодом внизу

using UnityEngine;
using System.Collections;

public class run : MonoBehaviour {

public float speed = 6.0F;
public float jumpSpeed = 8.0F;
public float gravity = 20.0F;
private Vector3 moveDirection = Vector3.zero;
public float radius;
public float force;

void Blow () {
    Collider[] col = Physics.OverlapSphere (transform.position, radius);
    foreach (Collider c in col) {
        if (c.name != "Plane"){
            c.GetComponent<Rigidbody>().AddExplosionForce (force, transform.position, radius);
        }
    }
}

void Update() {
    CharacterController controller = GetComponent<CharacterController> ();

    if (controller.isGrounded) {
        moveDirection = new Vector3 (Input.GetAxis ("Horizontal"), 0, Input.GetAxis ("Vertical"));
        moveDirection = transform.TransformDirection (moveDirection);
        moveDirection *= speed;

        if (Input.GetButton ("Jump"))
            moveDirection.y = jumpSpeed;
    }

    moveDirection.y -= gravity * Time.deltaTime;
    controller.Move (moveDirection * Time.deltaTime);

    if (Input.GetMouseButtonDown (0)) {
        Blow ();
    }
}
}

Я ожидал, что мой персонаж взлетит в воздух, но он падает И хотя это происходит, куб действует нормально

1 Ответ

1 голос
/ 22 мая 2019

Я смотрел видео и в первую очередь:

Значение 1000, так как сила взрыва слишком велика, и это в основном заставит игрока пробиться сквозь самолет, а затем упадет

СекундаВсего:

Граната расположена над игроком, поэтому вам следует опустить еще больше, если вы хотите, чтобы он взлетел.

Если вы хотите решить проблему с отсечкой, перейдите к

Редактировать> ProjectSettings> Время> FixedTimeStep

Изменить шаг FixedTime на меньшее значение, например 0,02, но знать, чем меньше это значение, тем труднее запустить программу

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...