Как установить Rigidbody.Velocity в Unity
А)Необходимо при возрождении игрока обнулить его скорость, чтобы он не двигался по инерции, полученной до смерти;
Б)Необходимо реализовать пружинную платформу, которая подбрасывала бы вверх на определенную высоту.
Пробовал манипулировать velocity, однако не очень выходит.
Кусок кода для пункта А:
if(transform.position.y<=Deadline)
{
transform.position = Pos;
gameObject.GetComponent<Rigidbody>().velocity.Set(0,0,0);
Lives--;
}
По идее, код должен перемещать позицию игрока в точку pos и обнулять вектор его скорости. Перемещение происходит, остановка - нет.
Код для пункта Б:
private void OnTriggerEnter(Collider other)
{
other.gameObject.GetComponent<Rigidbody>().velocity.Set(other.GetComponent<Rigidbody>().velocity.x, Force, other.GetComponent<Rigidbody>().velocity.z);
}
Таким образом, код для "батута" предполагает установить вектор скорости с x,z равным предыдущим, а y - приравнять к переменной Force. Чего тоже не происходит.
Я не могу использовать здесь AddForce: В таком случае, при падении на "батут" сила прыжка также будет зависеть от скорости падения, и её придется учитывать в формуле.
Что я делаю не так?