Unity: канат качели 3d персонаж прыгать на старте - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь создать в единстве механику, качающуюся по веревке (как у пендула, вокруг виртуальной точки).Но на первом кадре колебания мой персонаж внезапно прыгает далеко назад и вниз и только затем продолжает двигаться вперед и вниз, как маятник.

void InitSwing(){
    lineLenght = (transform.position - virtualLinePoint).sqrMagnitude;}

    public void SwingLocomotion()
    {
        Vector3 testPos = transform.position + jMotor.moveDirection *Time.deltaTime;
        float newLenght = (testPos - virtualLinePoint).sqrMagnitude;
        if (newLenght != lineLenght)
        {
            testPos = virtualLinePoint + (testPos - virtualLinePoint).normalized * lineLenght;

        }
        transform.position = testPos;

1 Ответ

0 голосов
/ 13 февраля 2019

Может ли это быть из-за того, что Time.deltaTime равен 0 на первом кадре?Поэтому строка jMotor.moveDirection *Time.deltaTime вернет 0, а testPos будет равен transform.position + 0

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