Войти
ПрограммированиеФорумФизика

Проблема с прыжком персонажа в Unity.

Страницы: 1 2 3 4 5 Следующая »
#0
18:02, 4 июля 2018

Здравствуйте.
Перерыл я интернет и нашел только один вариант как сделать прыжок (может плохо искал) , но он не работает. Подскажите пожалуйста как можно сделать прыжок для персонажа в Unity или помочь починить этот. Проблема с этим вариантом заключается в том, что в скрипте в панели модификаторов у самого персонажа в Unity, я выбираю саму модель персонажа и его Rigidbody, а также сам ландшафт, а также настраиваю силу прыжка, но перс. все равно не хочет прыгать.
Сам скрипт:

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Rigidbody))]
public class MEJump : MonoBehaviour
{
    public GameObject mainEnemy;
    public Rigidbody Rigidbody;
    public int speed = 500;
    public int JumpSpeed = 800;
    public bool Jump;
    public GameObject Terrain;

    void Start()
    {
        mainEnemy = (GameObject)this.gameObject;
        Rigidbody = (Rigidbody)this.GetComponent<Rigidbody>();
    }
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            if (Jump == false)
            {
                Jump = true;
                Rigidbody.AddForce(mainEnemy.transform.up * JumpSpeed, ForceMode.Impulse);
            }
        }
    }
    void OnCollisionEnter(Collision collis)
    {
        if (collis.gameObject == Terrain)
        {
            Jump = false;
        }
    }
}

Скриншот:

+ Показать


#1
20:19, 4 июля 2018

Дайте скриншот, где видно настройки Rigidbody компонента.

#2
20:23, 4 июля 2018

is kinematik выкл
is trigger , gravity use вкл
+сapsule collayder вокруг объектов

#3
20:49, 4 июля 2018

Скриншот Rigidbody

+ Показать

А нужен ли Capsule Colider, когда висит Character Controller?

#4
20:52, 4 июля 2018

Изображение

У меня работает прыжок. Вот твой скрипт и компоненты. Точно iskinematic выключено?

Capsule colider конечно нужен, независимо от Character controller

#5
20:56, 4 июля 2018

Capsule colider поставил, Is Trigger включил. Is Kinematic выключено. Не прыгает.

#6
20:58, 4 июля 2018

гравитацию там вкл-выкл

#7
21:03, 4 июля 2018

Blinopop
> Rigidbody.AddForce(mainEnemy.transform.up * JumpSpeed, ForceMode.Impulse);
видишь что написано?
Физическое Тело. Добавить Силу (основнойПротивник.Трансформация.Вверх*СкоростьПрыжка.РежимСилы.Импульсное)

значит надо +Силовое
это AddComponents—-Physics—ConstantsForce

добавь тама силу

#8
21:04, 4 июля 2018

Попробовал. Теперь еще одна проблема. Независимо от того включено ли Use Gravity или Is Kinematic или выключено, когда отключаю istrigger, персонаж начинает двигаться непонятным образом за движениями мыши

#9
21:06, 4 июля 2018

Возможно там еще надо Collision Detection —- Continous / Continous Dynamics
Определение Столкновений - Продолженное/Продолженное Динамическое
  так шаг за шагом всей ватагой изучим юнити-энжин

#10
21:06, 4 июля 2018

Добавил силу, как было так и осталось.

#11
21:10, 4 июля 2018

Скиньте сцену, если там секрета никакого нет. Я посмотрю.

#12
21:11, 4 июля 2018

Блинопоп , ну вы и имя выбрали Блинопоп.

Is Kinematic - управление телом через .Трансформы. (изменения xyz , масштабы,повороты. например плита движется)
Is trigger—управление телом из скрипта-программы (мужик прыгает —то самое и есть триггерное)
Gravity—гравитация влияет или нет . пример столб стоит и не падает(ну если только врезаться)
пробуй это разные комбинации вкл-выкл

#13
21:19, 4 июля 2018


Вот сцена. Впервые загружаю файлы сцены, так что если не загрузится, прошу вас, пожалуйста скажите как загрузить)
https://drive.google.com/open?id=1Hs7OcQsXmixHEnP6ydVWWnTIgPh45-iy

#14
21:20, 4 июля 2018

Я пробовал переключаться. Когда Is Trigger отключаю, у меня там персонаж начинает двигаться за мышью какими-то странными дьявольскими движениями.
Имя у меня из игры World of Warcraft)

Страницы: 1 2 3 4 5 Следующая »
ПрограммированиеФорумФизика

Тема в архиве.