上動画を参考。
カメラシェイクの作り方を解説する。
爆発や攻撃ヒット時にカメラを少し揺らすことで、衝撃や攻撃のヒット感を表現できる。
大爆発や重い攻撃の場合は強く揺らすと、力強さを演出しやすい。
専用のブループリントとノードを作成
- 右クリック > 新規ブループリント > CameraShakeBaseを作成する。
- 実行したいブループリント内の場所に、Start Camera Shakeノードを追加する。
- 作成したCameraShakeBaseを設定する。
- TargetにPlayer Camera managerを接続する。
- それにGet Player Controllerを接続する。
ビューポートで動作確認する
- 3Dビューポート左上メニューから設定を変更する。
- "カメラ振動を許可"を有効化する。
- リアルタイムを有効化する。
- CameraShakeSourceActorオブジェクトを新規作成する。
- アテニュエーション > Inner Attenuation Radiusを1000000000.0などの過剰な数値に設定する。
- これをしないと影響範囲が小さすぎて揺れが見えない場合がある。
- カメラシェイク > カメラの揺れに、自分のCameraShakeBaseを設定する。
- ウィンドウ > シネマティクス > カメラシェイクプレビューアを表示し、"すべて再生"をクリックする。
CameraShakeBaseの設定
カメラ揺れはやりすぎるとカメラ酔いにつながるので、基本の揺れ強度は抑えめにし、強い揺れは発動頻度を少なくすること。
Root Shake Patternを、"ウェーブオシレーターカメラの揺れパターン"にする。
- 全体の強度:Location > Location Amplitude Multiplier
- 10程度にする。
- 周波数の緩やかさ:Location > Location Frequency Multiplier
- 5.0程度にする。
- 各軸ごとの揺れ設定:X/Y/Z
- X軸は奥行き。
- カメラ揺れとしては奥行きの揺れは不自然なので、Amplitude、Frequencyは0,0にして無効化する。
- Y(横)/Z(上)のFrequencyは違う方が自然に見えるので、Yを0.8、Zを1.5などにする。
- 横揺れは酔いやすいので、Amplitudeを0.5など弱めにしてもよさそう。
- 再生時間:Timing > Duration
- 0.2程度にする。