AddForce объекту исходя из скорости курсора

Общие вопросы о Unity3D

AddForce объекту исходя из скорости курсора

Сообщение XpartFS 09 сен 2019, 01:45

Здравствуйте. Нужно придавать ускорение объекту исходя из скорости курсора во время отжатия кнопки.
Как это делал я:
Синтаксис:
Используется csharp
void Update()
    {
        float h = horizontalSpeed * Input.GetAxis("Mouse X");
        float v = verticalSpeed * Input.GetAxis("Mouse Y");
     
        Beat.AddRelativeForce(new Vector3(0, v, 0));
        Beat.AddRelativeForce(new Vector3(h, 0, 0));
       

    }


Есть баг, если подержать какое-то время объект на месте, то при отпускании кнопки его ускорение резко увеличивается.
Какой еще способ есть для реализации функционала?
Нужно, чтобы объект получал ускорение в ту сторону, куда мы его кинем.
XpartFS
UNец
 
Сообщения: 8
Зарегистрирован: 13 дек 2017, 18:15

Re: AddForce объекту исходя из скорости курсора

Сообщение 1max1 09 сен 2019, 05:49

Синтаксис:
Используется csharp
// mouse down
// запомнил позицию курсора -> pos1
// запомнил текущее время -> time1

// mouse up
// запомнил позицию курсора -> pos2
// запомнил текущее время -> time2
// получил вектор dir = (pos2 - pos1)
// addforce(dir / (time2 - time1))
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14