Xttx
Мыслитель
(8303)
3 года назад
Потому что Vector3.down - это как бы константа, всегда равна 0,-1,0 и не зависит ни от перемещения ни от чего вообще. Вот -transform.up - будет возвращать текущий вектор падения - но нормализованный, т. е. только напрвление, никак не скорость.
Если на объекте есть RigidBody, то скорость падения можно узнать через rb.velocity.y. Если нет - тогда сложнее, надо в каждом апдейте запоминать текущее положение и сравнивать с предыдущим... но я думаю у тебя там есть rb, иначе он бы у тебя не падал в принципе.
Vector3 drop = Vector3.down;
transform.position = Vector3.down;
if (drop.y < 0)
{
OnDrop = true;
}
и в дальнейшем в Update();
if(OnDrop==true)
{
charAnimator.SetInteger("State", 3);
}
Но это анимация не проигрывается. Прошу о помощи.
Схема такая. Если координата "Y" у персонажа уменьшается - то срабатывает анимация.