Всем, здравствуйте)
Я написал код, ограничивающий скорость персонажа по оси "Z". Но вместе с этим и ограничил по другим осям.
код такой:
Код
public void controlVelocity()
{
float velValue, velValueDisable;
velValue = 4.5F; //скорость, на которой нужно ограничить скорость персонажа
velValueDisable = velValue-0.01F; //скорость, получаемая персонажа, после отпускания кнопки движения
if(Sphere.velocity.z > velValue) //Sphere = gameObject.rigidbody
{
Sphere.velocity = new Vector3(Sphere.velocity.x,Sphere.velocity.y,velValue);
if(!butRight)
Sphere.velocity = new Vector3(Sphere.velocity.x,Sphere.velocity.y,velValueDisable); //проблема здесь. вторая переменная блокирует прыжок, который задаётся этим кодом: rigidbody.AddForce(0, UpV, 0, ForceMode.Impulse);
}
if(Sphere.velocity.z < -velValue)
{
Sphere.velocity = new Vector3(Sphere.velocity.x,Sphere.velocity.y,-velValue);
if(!butRight)
Sphere.velocity = new Vector3(Sphere.velocity.x,Sphere.velocity.y,-velValueDisable);
}
}
Как разблокировать ось "Y". Если ввести изменяющуюся переменную, то как она должна выглядеть? как её менять?