как постепенно увеличивать скорость камеры, двигаясь вверх в единстве - PullRequest
0 голосов
/ 25 сентября 2018

Я хочу создать игру, в которой камера движется по оси Y (вверх) с постепенно увеличивающейся скоростью.

void Update () {
        float translation = 0.5f;
        transform.Translate (0, translation, 0);

Я использовал этот код, но хочу повысить скорость

Ответы [ 3 ]

0 голосов
/ 25 сентября 2018

Один из способов - создать таймер и увеличивать скорость каждый раз, когда пройдено количество секунд Х:

float translation = 0.5f;
float timer = 0f;

void Update()
{
    timer += Time.deltaTime;
    if (timer > 1f) //after 1 second has passed...
    {
        timer = 0; // reset timer
        translation += 0.5f; //increase speed by 0.5
    }

    transform.Translate (0, translation, 0);
}
0 голосов
/ 25 сентября 2018
public float BaseTranslationSpeed = 0.5f ;
public float TranslationSpeedIncreaseRate = 1 ;
private float translationSpeed ;

void Start()
{
    translationSpeed = BaseTranslationSpeed ;
}

void Update ()
{
    translationSpeed += TranslationSpeedIncreaseRate ;
    // Multiplying by Time.deltaTime is advised in order to be frame independant
    transform.Translate (0, translationSpeed * Time.deltaTime , 0);
}

Вы даже можете использовать кривую анимации для управления скоростью:

public AnimationCurve SpeedOverTime ; // Change the curve in the inspector
private float startTime ;

void Start()
{
    startTime = Time.time ;
}

void Update ()
{
    // Multiplying by Time.deltaTime is advised in order to be frame independant
    transform.Translate (0, SpeedOverTime.Evaluate( Time.time - startTime ) * Time.deltaTime , 0);
}
0 голосов
/ 25 сентября 2018

Такие функции, как Vector3.Lerp(), Vector3.MoveTowards и Mathf.Lerp(), Mathf.MoveTowards() помогут вам сделать это.

Вы также можете умножить свой перевод на Time.deltaTime и контролировать скорость, контролируя значение перевода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...