Unity - Как увеличивать и уменьшать масштаб с движением камеры? - PullRequest
0 голосов
/ 17 января 2020

Я работаю над проектом со студией ind ie, и меня попросили внести изменения в работу камеры, когда игрок смотрит вверх, камера приближается и когда игрок смотрит уменьшить масштаб камеры.

Мое решение работает, но оно слишком быстрое. Камера будет увеличиваться, но в одно мгновение. Я пытался добавить больше лаппинга или сглаживания, но это не помогло. Я уверен, что есть более элегантный способ сделать это. Рад, что кто-нибудь может помочь.

float currentPitch = Values.pitch;
    if(currentPitch > lastFramPitch){
        Values.runTimeDistanceFromTarget.z += Values.zoomSensitivity;
        Values.runTimeDistanceFromTarget.z = Mathf.Lerp(Values.runTimeDistanceFromTarget.z , Values.zoomIn , Values.zoomSensitivity);
    }
    else{
                    Values.runTimeDistanceFromTarget.z -= Values.zoomSensitivity;
        Values.runTimeDistanceFromTarget.z = Mathf.Lerp(Values.runTimeDistanceFromTarget.z , Values.zoomOut , Values.zoomSensitivity);
    }

    lastFramPitch = currentPitch ; 

1 Ответ

0 голосов
/ 18 января 2020

Cinemachine делает это из коробки с простыми настройками параметров. Это также позволяет вам переключаться между любыми камерами в любое время.

...