У меня есть игра с видом сверху, похожая на «Выживших вампиров», и я только что реализовал лук. Камера настроена следовать за игроком в виртуальной камере Cinemachine. Стрельба работает хорошо, но только на 0,0,0 или в очень близком радиусе вокруг него. Проблема в том, что когда вы идете в любом направлении, стрелка начнет двигаться только в этом направлении.
Код, который получает направление стрелки (в Update):
Код: Выделить всё
Ray ray = mainCamera.ScreenPointToRay(Input.mousePosition);
if (Physics.Raycast(ray, out RaycastHit raycastHit))
{
shootDirection = raycastHit.point;
shootDirection.y = 0f;
arrowClass.SetUpArrowDirection(shootDirection);
}
Я пробовал искать в Интернете и немного менять код, но ничего не помогло.
Подробнее здесь:
https://stackoverflow.com/questions/785 ... ine-camera