Menu
CoddyTech

Повторение: Bullet Time

Часть раздела Создание настоящих игр путешествия по Unity на Coddy. Урок 36 из 56.

challenge icon

Задание

Средне

Добавь в игру эффект замедления времени, управляемый шкалой концентрации. Создай BulletTime.cs и добавь его к объекту Game. В Inspector задай значения slowScale (0.2), maxFocus (2), recharge (0.5) и focusBar — заполненное изображение Image в верхней части экрана. Храни значение шкалы в переменной типа float focus.

  • Изначально focus заполнена до максимума — maxFocus.
  • Пока удерживается Space и значение focus выше 0, игра работает со скоростью slowScale, а шаг физики уменьшается в то же число раз относительно 0.02. Значение focus уменьшается на 1 за каждую реальную секунду, но не опускается ниже 0.
  • В остальное время игра работает с обычной скоростью, а шаг физики равен 0.02. Если шкала опустеет, эффект замедления времени закончится, даже если Space всё ещё удерживается.
  • Пока Space не удерживается, значение focus пополняется на recharge за каждую реальную секунду, но не выше maxFocus.
  • Каждый кадр значение fillAmount у шкалы равно focus, делённому на maxFocus.

Нажми Play, удерживай Space и наблюдай за дождём, затем нажми Check.

Попробуйте сами

using UnityEngine;
using UnityEngine.UI;

public class BulletTime : MonoBehaviour
{
    public float slowScale = 0.2f;
    public float maxFocus = 2f;
    public float recharge = 0.5f;
    public Image focusBar;

    float focus;

    void Update()
    {
    }
}

Все уроки раздела Создание настоящих игр