Как сохранить поворот объекта в другой скрипт в Unity?

Если вы хотите сохранить поворот объекта в другом скрипте в Unity, вам потребуется создать публичную переменную, которая будет содержать информацию о повороте объекта, и обратиться к этой переменной из другого скрипта.

Вот пример кода на C#, который позволяет сохранить и обратиться к повороту объекта:

1. Создайте скрипт, который будет управлять поворотом объекта:

using UnityEngine;

public class ObjectRotation : MonoBehaviour
{
    public Quaternion rotation;

    void Start()
    {
        // Получаем начальный поворот объекта
        rotation = transform.rotation;
    }
}

2. Создайте другой скрипт, из которого вы хотите обращаться к сохраненному повороту объекта:

using UnityEngine;

public class OtherScript : MonoBehaviour
{
    public ObjectRotation objectRotation;

    void Start()
    {
        // Находим объект с сохраненным поворотом
        GameObject obj = GameObject.Find("YourObjectName");

        // Получаем ссылку на скрипт с публичной переменной о повороте объекта
        objectRotation = obj.GetComponent<ObjectRotation>();

        // Используем сохраненный поворот
        Quaternion savedRotation = objectRotation.rotation;
        transform.rotation = savedRotation;
    }
}

3. В Unity, создайте пустой объект и прикрепите к нему скрипт ObjectRotation. Затем добавьте свой объект, которому вам нужно сохранить поворот, в иерархию и присвойте ему имя, чтобы можно было найти его в другом скрипте, например "YourObjectName". Затем добавьте скрипт OtherScript к другому объекту в иерархии.

При запуске игры, объект с сохраненным поворотом будет иметь начальный поворот, и объект из другого скрипта будет использовать сохраненный поворот при старте. Вы можете изменить этот сохраненный поворот и обращаться к нему из других скриптов в любое время.

Надеюсь, это поможет вам сохранить поворот объекта в Unity!