2012-02-03 7 views
1

私は私の古いアルゴリズムであるOpenGLのOpenGLの実世界の手ブレアルゴリズム

で私の手ブレをしたいとdは:

setCamPosXYZ(x+randx,y+randy,z+randz); 

それが最善ではありません。より良い解決策、実際のカメラの揺れは何ですか?

答えて

4

私は高い周波数で罪の機能を発見し、徐々に減少する振幅は非常に説得力があります。よりランダムに表示したい場合は、各方向に異なる周波数を設定することができ、よりランダムに跳ね返ります。罪関数は身体的にも理にかなっています。なぜなら、ある程度のダンピングを伴う非常に堅いスプリングにカメラが取り付けられていると考えると、ダンピングされたサインカーブのように振動するからです。

1

既存のカメラPOS と平滑振れのX + randx、Y +ランディ、Z + randz 間のx + randx、Y +ランディ、Z + randz 、その後アニメーション円滑に(線形補間)を生成します。アニメーション化する

がスムーズxinitial +する各時間ステップであなたの新しい Xを設定し、K(randx)

あなたは、ランダムな揺れポイントが新しいランダム点を生成して、再度、線形補間を使用して をアニメーション達すると

1

実世界のカメラの揺れは、バンパーや衝撃波のような力に反応します。したがって、一方向の動きであり、反対方向の動きは安定して前後に動きます。

だから、消えてしまう副鼻腔の波から始めてください。そして、あなたはそれに少しランダムに追加して、それを少しばかげさせるかもしれません。

また、動きに合わせてカメラをわずかに回転させる必要があります。