リコイル(反動)キック

銃火器の反動をシミュレートしたもの。

Get the Flash Player to see this player.

Get the Flash Player to see this player.

以下のソースはリコイルキックを指数減衰を使ってシミュレートしたものである。照準のずれを kick[i] に格納している。

	double relax, relax2, prelax;
	double accel[2];
	int i;
	relax = exp(-5. * dt2);
	relax2 = (1. - relax) / 5.;
	prelax = exp(-2. * dt2);
	for(i = 0; i < 2; i++){
		accel[i] = (kickvelo[i] * (relax - 1.));
		kickvelo[i] += accel[i];
		accel[i] /= dt2;
		kick[i] += kickvelo[i] * relax2;
		kick[i] *= prelax;
	}

このプログラムの特徴は、フレーム時間によらず同じレスポンスが得られることである。次に示すグラフは、 kickvelo に関する kick のインパルス応答である。