Изучение различных методов изменения оттенка режима воспроизведения в Unity

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

Метод 1: использование API оттенка PlayMode
Unity предоставляет API для программного изменения оттенка режима воспроизведения. Вот пример того, как можно изменить оттенок режима воспроизведения с помощью этого API:

using UnityEditor;
public class PlayModeTintExample
{
    [InitializeOnLoadMethod]
    private static void ChangePlayModeTint()
    {
        EditorApplication.playmodeStateChanged += () =>
        {
            if (EditorApplication.isPlayingOrWillChangePlaymode)
                EditorApplication.playModeTintColor = Color.red; // Change the tint color here
            else
                EditorApplication.playModeTintColor = Color.blue; // Reset the tint color when not in playmode
        };
    }
}

Метод 2: изменение файла настроек редактора
Unity хранит различные настройки редактора в файле с именем «EditorSettings.asset». Вы можете вручную изменить этот файл, чтобы изменить оттенок режима воспроизведения. Выполните следующие действия:

  1. Закрыть Unity.
  2. Найдите файл «EditorSettings.asset» в папке «ProjectSettings» вашего проекта.
  3. Откройте файл в текстовом редакторе.
  4. Найдите строку, содержащую «Оттенок режима воспроизведения». Это должно выглядеть так: “m_PlayModeTintColor: (0.000000, 0.000000, 0.000000, 0.000000)”
  5. Измените значения RGB, чтобы настроить цвет оттенка. Например, чтобы установить красный цвет, используйте: «m_PlayModeTintColor: (1.000000, 0.000000, 0.000000, 1.000000)»
  6. Сохраните файл и снова откройте Unity.

Метод 3: использование пользовательского сценария редактора.
Вы можете создать собственный сценарий редактора, чтобы изменить оттенок режима воспроизведения. Вот пример:

using UnityEditor;
using UnityEngine;
[InitializeOnLoad]
public class CustomPlayModeTint : Editor
{
    static CustomPlayModeTint()
    {
        SceneView.onSceneGUIDelegate += OnSceneGUI;
    }
    private static void OnSceneGUI(SceneView sceneView)
    {
        Handles.BeginGUI();
        GUI.backgroundColor = Color.green; // Change the tint color here
        GUI.Box(new Rect(10, 10, 150, 30), "Playmode Tint");
        GUI.backgroundColor = Color.white;
        Handles.EndGUI();
    }
}