OpenGL ES Shake Effect - PullRequest
       14

OpenGL ES Shake Effect

0 голосов
/ 31 марта 2012

Я создаю 2D-игру с OpenGL ES для Android. Я хочу выполнить эффект встряхивания.

Моя идея - изменить координату y моей камеры, но я не уверен насчет алгоритма. У меня естьвектор положения с переменными x и y для класса моей камеры.

1 Ответ

2 голосов
/ 01 апреля 2012

Похоже, дубликат Алгоритм реального дрожания камеры Opengl . По сути моделируйте дрожание после синусоидальной волны и модулируйте амплитуду в зависимости от того, насколько сильно вы хотите, чтобы камера дрожала.

действительно базовый контур, как показано ниже, вам нужно будет остановить это, когда амплитуда достигнет 0 среди прочего ..

private float amplitude = 10.0f;
private float adjustAmplitudePerSecond = -1.0f;
private float timeElapsed = 0.0f;

public void shake(float deltaTime) {
    timeElapsed += deltaTime;
    amplitude += adjustAmplitudePerSecond * deltaTime;
    yourCamera.y += + Math.sin(timeElapsed);
}
...