Сохранение позиции после поворота
Есть код, который по движению джойстика(при условии, что playerScr.controlType == Tank_controller.ControlType.Android) поворачивает объект. После того как отпускаю джойстик, объект принимает исходное положение. Нужно как нибудь сохранить позицию после поворота.
public void FixedUpdate()
{
if (playerScr.controlType == Tank_controller.ControlType.PC)
{
Vector3 difference = cam.ScreenToWorldPoint(Input.mousePosition) - transform.position;
float rotZ = Mathf.Atan2(difference.y, difference.x) * Mathf.Rad2Deg - 90f;
transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
}
else if (playerScr.controlType == Tank_controller.ControlType.Android)
{
float rotZ = Mathf.Atan2(JoystickMove.Vertical, JoystickMove.Horizontal) * Mathf.Rad2Deg - 90f;
transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
}
}
Ответы (1 шт):
Автор решения: 4nk3r
→ Ссылка
Решение всё-таки нашёл. Нужно дополнить условие else if таким образом
else if (playerScr.controlType == Tank_controller.ControlType.Android && Mathf.Abs(joystickShoot.Horizontal) > 0.3f || Mathf.Abs(joystickShoot.Vertical) > 0.3f)
{
float rotZ = Mathf.Atan2(JoystickMove.Vertical, JoystickMove.Horizontal) * Mathf.Rad2Deg - 90f;
transform.rotation = Quaternion.Euler(0f, 0f, rotZ);
}