Делаю 2d шутер, пистолет поворачивается в зависимости от курсора, если нажимаем лкм, то вылетает создаются пуля,которая принимает аргументы: start.position и pistol.transform.rotation
Instantiate(bollet, StartPos.position, pistol.transform.rotation);
Решил сделать разброс, путём прибавления к transform.rotation числа четыре, но напрямую к transform.rotation я прибавить ничего не могу. Решил проблему так:
Quaternion rot = Quaternion.Euler(pistol.transform.rotation.x, pistol.transform.rotation.y, pistol.transform.rotation.z+4);
Instantiate(bollet, StartPos.position, rot);
Но в таком случае пуля летит вправо + 4. Когда вывожу pistol.transform.rotation.z, то выводится число, которое не достигает одного и минус одного, то есть -0.9835,08953 и тд. (Обычно именно в таких значениях). Что делать?
Я не совсем понял, что вы хотите сделать, но ошибку с градусами объяснить могу.
transform.rotation.x (/y/z)- возвращает поворот не в градусах, а в границе [-1; 1]
Функция Quaternion.Euler() принимает именно значения в градусах. Что бы получить значение поворота в градусах нужно написать transform.rotation.eulerAngles.x (/y/z)
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости