Я новичок в Unity и до сих пор наслаждаюсь своим путешествием. Прямо сейчас я выполнил постоянное вращение своего ножа в диапазоне [-30; 30] градусов. Однако после того, как пользователь нажмет любую клавишу, мой нож должен быстро двигаться в направлении, в котором он в данный момент смотрит .
Как мне добиться следующего поведения? Я пробовал addForce, меняя скорость, но безрезультатно ... Возможно, это даже невозможно сделать?
![enter image description here](https://i.stack.imgur.com/rc0oV.png)
Здесь мой нож направлен в левый угол и я бы хотел просто очень быстро двигаться в этом направлении . Никаких необычных эффектов:)
![enter image description here](https://i.stack.imgur.com/ARMWi.png)
Вот исходное положение ножа.
Вот исходный код:
public void HandleRotation()
{
if (transform.rotation.z >= 0.3f)
{
right = false;
}
else if (transform.rotation.z <= -0.3f)
{
right = true;
}
if (right)
{
begin = begin + 0.05f;
}
else
{
begin = begin - 0.05f;
}
var tiltAroundZ = begin * tiltAngle;
var target = Quaternion.Euler (0, 0, tiltAroundZ);
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
}