Чет сложно, это не поможет? https://docs.unity3d.com/ScriptReference/Quaternion.RotateTowards.html?_gl=1*i54a0l*_ga*MTU4MzgzMDczNy4xNjA3NzAxMjk4*_ga_1S78EFL1W5*MTYyODg3MjY0My45My4wLjE2Mjg4NzI2NDMuNjA.
Вместо нахождения угла между 2 объектами вручную, находи через этот метод transform.rotation = Quaternion.RotateTowards(transform.rotation, target.rotation, step);
И все что начинается со строки rotz и до конца удали
А как мне нужный угол вычислить? difference не принимает, при использовании player.rotation ничего делает
difference не нужен, difference ты юзал при вычислении угла между 2 объектами. Первый параметр объекту относительно которого нужно повернуть, второй параметр это объект, который должен вращается, третий параметр - скорость приращения угла поворота
Вы первый и второй аргумент перепутали? Да и попробовал и так и так, почему то объект не вращается.
Ты возвращаешь все в transform.rotation?
Да player = GameObject.Find("Player").transform; transform.rotation = Quaternion.RotateTowards(transform.rotation, player.rotation, rotationSpeed);
У меня это всё работает в FixedUpdate это проблема?
Нет
Обсуждают сегодня