Запуск правильной анимации при подъеме в гору / в гору - PullRequest
0 голосов
/ 13 марта 2019

Как заставить Animator Controller понять, когда персонаж поднимается в гору и / или в гору?

Я понимаю, что одним из способов было бы использовать какой-нибудь триггерный коллайдер, который включает / выключает необходимую анимацию, но это кажется немного надуманным способом сделать что-то, так как это означало бы, что эти коллайдеры gazillion повсюду рельеф местности.

Я НАСТОЯЩИМ, чтобы определить, когда персонаж поднимается или опускается, больше похоже на «это количество юнитов на расстояние Xaxis», поэтому он работает там, где персонаж поднимается круче, чем обычно. В основном, чтобы отследить общее движение Y в последних двух кадрах и настроить анимацию на основе этого.

Или что-то похожее.

Может быть, вы знаете некоторые учебники?

Каким-то образом я пробился к этому коду, но все еще не могу понять, как его вычислить. Постскриптум Есть комментарии "// ELEVATION" на стороне линий, которые я добавил в скрипт движения.

    public class Movement : MonoBehaviour {

    public CharacterController2D controller;
    public Animator animator;
    public float horizontalMove = 0f;
    public float elevation = 0f; /// ELEVATION
    public float speed = 300f;
    new Rigidbody2D rigidbody;

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

    // Update is called once per frame
    void Update ()
    {
       horizontalMove = Input.GetAxisRaw("Horizontal") * speed;
        elevation =   ; // ELEVATION
        animator.SetFloat("Speed", Mathf.Abs(horizontalMove));
        animator.SetFloat("ElevationTrigger", elevation); // ELEVATION

    }
    private void FixedUpdate()
    {
        //rigidbody.MovePosition(rigidbody.position * horizontalMove * speed * Time.fixedDeltaTime);
        controller.Move(horizontalMove * Time.fixedDeltaTime, false, false);

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