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

Time.timeScale

public static float timeScale;

Описание

Шкала времени.

Это можно использовать для эффектов замедленного движения или для ускорения вашего приложения. Когда timeScale равен 1,0, время течет так же быстро, как и в реальном времени. Когда timeScale равен 0,5, время идет в 2 раза медленнее, чем в реальном времени.

Если для timeScale установлено нулевое значение, ваше приложение работает так, как если бы оно было приостановлено, если все ваши функции не зависят от частоты кадров. Отрицательные значения игнорируются.

Обратите внимание, что изменение timeScale влияет только на следующие кадры. Частота выполнения MonoBehaviour.FixedUpdate для каждого кадра зависит от timeScale. Поэтому, чтобы число обратных вызовов FixedUpdate на кадр оставалось постоянным, необходимо также умножить Time.fixedDeltaTime на timeScale. Желательна ли эта корректировка, зависит от игры.

Функции FixedUpdate и приостановленные сопрограммы с WaitForSeconds не вызываются, если для timeScale установлено нулевое значение.

using UnityEngine; public class Example : MonoBehaviour { // Переключает шкалу времени между 1 и 0,7 // всякий раз, когда пользователь нажимает кнопку Fire1. private float fixedDeltaTime; void Awake() { // Make a copy of the fixedDeltaTime, it defaults to 0.02f, but it can be changed in the editor this.fixedDeltaTime = Time.fixedDeltaTime; } void Update() { if (Input.GetButtonDown("Fire1")) { if (Time.timeScale == 1.0f) Time.timeScale = 0.7f; else Time.timeScale = 1.0f; // Adjust fixed delta time according to timescale // The fixed delta time will now be 0.02 real-time seconds per frame Time.fixedDeltaTime = this.fixedDeltaTime * Time.timeScale; } } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3