using UnityEngine; public class SwingHammer : MonoBehaviour { [Tooltip("Максимальный угол поворота в каждую сторону от центра.")] [SerializeField] private float maxAngle = 45f; [Tooltip("Скорость качания (например, 1.5 - чем выше, тем быстрее).")] [SerializeField] private float speed = 1.5f; [Header("Настройка начала качания")] [Tooltip("Смещение фазы (в радианах). Позволяет настроить начальный угол качания.")] [SerializeField] private float phaseOffset = 0f; // <--- НОВОЕ ПОЛЕ! private Quaternion initialRotation; void Start() { initialRotation = transform.rotation; } void Update() { // 1. Рассчитываем фазу с добавлением смещения. float phase = Time.time * speed + phaseOffset; // 2. Рассчитываем угол. float angle = Mathf.Sin(phase) * maxAngle; // 3. Применяем вращение // Используйте ту ось, которую вы уже нашли (например, Z): Quaternion swingRotation = Quaternion.Euler(0, 0, angle); // Применяем вращение от качания к сохраненному начальному вращению. transform.rotation = initialRotation * swingRotation; } }