Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

BuildOptions.BuildScriptsOnly

Описание

Создавайте скрипты только в проекте.

Прежде чем вы сможете использовать BuildScriptsOnly, вам необходимо собрать весь проект. Затем вы можете запускать сборки, содержащие только изменения сценария.

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

using UnityEditor; using UnityEngine; public class EditorExample : MonoBehaviour { [MenuItem("Build/Build scripts")] public static void MyBuild() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/scene.unity" }; buildPlayerOptions.locationPathName = "scriptBuilds"; buildPlayerOptions.target = BuildTarget.StandaloneOSX; // use these options for the first build buildPlayerOptions.options = BuildOptions.Development; // use these options for building scripts // buildPlayerOptions.options = BuildOptions.BuildScriptsOnly | BuildOptions.Development; BuildPipeline.BuildPlayer(buildPlayerOptions); } }

Прикрепите следующий простой скрипт к пустому игровому объекту в сцене:

using UnityEngine; // Change the camera to the usual blue color and display a label. public class ExampleClass : MonoBehaviour { private Camera cam; void Awake() { cam = Camera.main; cam.clearFlags = CameraClearFlags.SolidColor; } void OnGUI() { GUI.Label(new Rect(100, 100, 100, 50), "ExampleClass"); } }

Теперь запустите пример Build/Build scripts. Это создает исполняемый файл. Запустите этот исполняемый файл, и появится темно-синее окно с меткой. Затем добавьте в проект несколько кубов и сфер. Внесите следующие изменения в скрипт:

using UnityEngine; public class ExampleClass : MonoBehaviour { private Camera cam; // added line private float delay; void Awake() { delay = 0.0f; cam = Camera.main; cam.clearFlags = CameraClearFlags.SolidColor; } // added script code void FixedUpdate() { delay = delay + Time.deltaTime; if (delay > 0.5f) { cam.backgroundColor = new Color(0.0f, 0.0f, Random.Range(0.0f, 0.25f)); delay = 0.0f; } } void OnGUI() { GUI.Label(new Rect(100, 100, 100, 50), "ExampleClass"); } }

Наконец, поменяйте местами закомментированные строки в скрипте EditorExample:

using UnityEditor; using UnityEngine; public class EditorExample : MonoBehaviour { [MenuItem("Build/Build scripts")] public static void MyBuild() { BuildPlayerOptions buildPlayerOptions = new BuildPlayerOptions(); buildPlayerOptions.scenes = new[] { "Assets/scene.unity" }; buildPlayerOptions.locationPathName = "scriptBuilds"; buildPlayerOptions.target = BuildTarget.StandaloneOSX; // use these options for the first build // buildPlayerOptions.options = BuildOptions.Development; // use these options for building scripts buildPlayerOptions.options = BuildOptions.BuildScriptsOnly | BuildOptions.Development; BuildPipeline.BuildPlayer(buildPlayerOptions); } }

Используйте скрипты сборки/сборки, чтобы повторно сгенерировать приложение, а затем запустить его. Теперь приложение будет отображать случайные изменения цвета фона. Однако добавленные кубы и сферы не видны.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3