BLOGブログ

2014.07.03UE4UE/ Blueprint

[UE4] カメラの振動

改訂バージョン: Unreal Engine 4.19

近くで爆発が起こるとき、巨大なモンスターが吠えるとき、重い石の扉が開くとき、、、

ゲームにおいて、カメラを揺らす演出は、頻繁に使用されます。

今回は、UE4の機能を使って、カメラ振動を発生させる方法をご紹介します。

 

1.CameraShakeブループリントを用意する

ContentBrowserから、CameraShakeを親としてブループリントを作成します。

これに、カメラ振動のパラメータを設定していきます。

今回は、「MyCameraShake」という名前で作成します。

 

2.パラメータを設定する

ブループリントを開いて、右上のタブから「Defaults」を選択し、必要なパラメータを設定していきます。

デフォルトでは必要なパラメータが全てゼロになっており、何も振動しません。。。

Single Instance は、同じCameraShakeを複数同時に使用した際、ONであれば1つだけ、OFFであれば重ねて振動が再生されます。今回はONに設定します。

Oscillation Duration は、振動時間です。秒単位で設定します。

Rot Oscillation は回転による振動、Loc Oscillation は移動による振動、FOVOscillation は画角による振動です。これらの値を使用して振動を調整します。

Rot Oscillation は Yaw, Pitch, Roll、Loc Oscillation は X, Y, Z の各軸ごとに、それぞれ分かれています。

その中にある、Amplitude が振動の強さ、Frequency が振動の速さです。

 

今回は、Rot Oscillation の各軸に、Amplitude=1.0, Frequency=100.0 を指定します。

 

3.揺らしたいタイミングでカメラ振動を呼び出す

今回は、Level Blueprint で キーボードのZキーを押した際に振動を発生させます。

「 Get Player Controller」から「Client Play Camera Shake」ノードを繋いで呼び出します。

「Shake」に、先ほど作った「MyCameraShake」を指定します。

デフォルトで選択肢に出てくる「CameraShake」は、パラメータが全てゼロなので振動しません。。。注意して下さい。

「Scale」の値を1.0に設定します。これは、振動の大きさの倍率です。デフォルトではゼロに設定されており、そのままでは振動しません。。。注意して下さい。

 

これで、カメラ振動が完成です!

ゲームを起動して、Zキーを押してみて下さい!