カメラの揺れ

Unreal Engine ではカメラの揺れの効果を作成できます。

Choose your operating system:

Windows

macOS

Linux

Unreal Engine の Camera Shake ブループリントを使用すると、カメラにカメラの揺れの効果を追加できます。このガイドでは、 CameraShakeBase ブループリントを作成する方法、使用可能な揺れの種類、およびそれらをシーケンサ、ブループリント、カメラの揺れソースで再生する方法の概要について説明します。

前提条件

カメラの揺れの作成

揺れアセットを作成するには、 コンテンツ ブラウザ [Add/Import (追加/インポート)] をクリックし、 [Blueprint Class (ブループリント クラス)] を選択します。その次のウィンドウで CameraShakeBase クラスを見つけて、 [Select (選択)] をクリックします。

create camera shake base

アセットが作成されたら、名前を付けて、開くと、カメラの揺れの詳細が表示されます。

shake blueprint details

詳細パネル

カメラの揺れアセットには、次の基本のプロパティがあります。

名前

説明

Single Instance

この項目をオンにすると、この揺れは 1 度に 1 つのインスタンスのみが再生されます。この揺れを続けて再生しようとすると、重ねて追加されるのではなく、その 1 つのインスタンスが最初から再開されます。

Root Shake Pattern

使用する 揺れの種類 です。

基本の揺れパターンの種類

揺れパターンは、カメラの揺れの形状と動作を制御します。カメラの揺れを作成する際は、次のパターンから選択できます。

パーリン ノイズ

パーリンは、指定の振幅と周波数に基づくランダムなポイントをサンプリングすることで時系列のノイズを生成します。これらのポイントは Smootherstep イージング関数を使用してブレンドされます。一般的にパーリン ノイズは、荒れた道を車で進むときや近くで爆発があったときなど、強度の高いカメラの揺れに適しています。

perlin noise graph

perlin camera shake example

Root Shake Pattern Perlin Noise Camera Shake Pattern を選択すると、パーリン ノイズによる揺れのビヘイビアを制御するために使用できる追加の詳細項目が表示されます。カメラの位置、回転、視野角 (FOV) のプロパティで揺れの効果を作成することができます。

perlin noise camera shake pattern

Location および Rotation プロパティ カテゴリの両方に各軸の表示があり、展開すると Amplitude プロパティおよび Frequency プロパティが表示されます。

  • Amplitude は揺れのパターンの大きさを制御します。この値を大きくすると、その軸の揺れが中心から遠ざかります。

  • Frequency は揺れの速度を制御します。この値を大きくすると、揺れの動きが速くなります。

shake amplitude frequency

さらに、 Amplitude Multiplier プロパティおよび Frequency Multiplier プロパティを使用すると、位置軸および回転軸の振幅と周波数を組み合わせた結果を乗算できます。これらのプロパティは、揺れを全体的に変更できるため、軸ごとに変更する必要がありません。

multiply amplitude frequency

揺れのタイミングは、 [Timing (タイミング)] カテゴリを展開すると表示されるプロパティで、制御することができます。

  • Duration は、揺れの長さを制御します。この値が 0 以下の場合は、揺れが無限に再生されます。

  • Blend In/Out Time は、揺れの開始と終了時の線形ブレンドの長さを制御します。値が 0 のときはブレンドを行いません。

perlin noise timing details

正弦波

正弦波は滑らかで周期的な振動による連続波を使用して時系列のノイズを生成します。通常、波形ノイズは、船の揺れや夢の中を漂っているような効果など、弱い揺れに適しています。

sine wave graph

sine wave camera shake example

Root Shake Pattern Wave Oscillator Camera Shake Pattern を選択すると、波形の揺れの動作を制御するために使用できる追加の詳細項目が表示されます。パーリン ノイズと同様に、カメラの位置、回転、視野角 (FOV) プロパティで波形の揺れの効果を作成できます。

wave oscillator camera shake pattern details

正弦波ノイズの Location Rotation FOV 、および Timing の各プロパティは、 パーリン ノイズ と同様です。ただし、軸を展開すると、 Initial Offset Type という追加のプロパティがあります。このプロパティでは、カーブに沿って Zero または Random (ランダム) なポイントから波形が開始するように指定できます。

sine wave initial offset

シーケンスの揺れ

シーケンスの揺れは、 カメラ アニメーション シーケンス に含まれるカメラ アニメーションを使用して揺れを生成します。シーケンス ノイズは、カメラの揺れのスタイルと動作を完全に制御する場合に役立ちます。

sequence shake graph

Root Shake Pattern Sequence Camera Shake Pattern を選択すると、カメラ アニメーション シーケンス アセットを選択し、その動作を制御するために使用できる追加の詳細項目が表示されます。揺れの持続時間は、カメラ アニメーション シーケンスの長さに基づきます。

sequence camera shake pattern details

名前

説明

Sequence

カメラ アニメーション シーケンス アセット を指定します。

Play Rate

揺れ効果の速度です。値が 1 の場合は通常の速度で、1 より小さい場合は揺れが遅くなり、1 より大きい場合は速くなります。

Scale

揺れの強度に適用される乗数です。値が 1 の場合は通常の強度で、1 より小さい場合は揺れが弱くなり、1 より大きい場合は強くなります。

Blend In/Out Time

Blend In/Out Time は、揺れの開始と終了時の線形ブレンドの長さを制御します。値が 0 のときはブレンドを行いません。

Random Segment Duration

Random Segment がオンのときに使用されるランダム セグメントの持続時間です。

Random Segment

このプロパティをオンにすると、カメラ アニメーション シーケンス内のランダムなポイントで揺れを再生します。 Random Segment Duration プロパティにも値を設定して、揺れの長さを新たに定義する必要があります。これは、非常に長いカメラの揺れのあるアニメーションがあり、その中の短い部分でランダムに揺れを再生したい場合に役立ちます。

通常の テンプレート シーケンス のワークフローとは異なり、カメラの揺れパターンとして使用するためにカメラ アニメーション シーケンスを作成するときは、そのセクションを [Additive (加算)] に設定する必要はありません。

複合

複合揺れにより、 パーリン 正弦波 シーケンス の揺れを単一のレイヤー システムに結合できます。複合揺れを使用すると、揺れの各種類の要素を含む変化に富んだ揺れを作成できます。

composite shake example

Root Shake Pattern Composite Camera Shake Pattern を選択すると、子パターンを追加し各種の揺れのレイヤーを結合するために使用できる追加の詳細項目が表示されます。

composite camera shake pattern details

Child Patterns の横にある [+] ボタンをクリックすると、新しい揺れのパターンが追加されます。揺れパターンは必要に応じていくつでも追加できます。各要素には、該当するパターンに関連する詳細が含まれています。

composite shake array

揺れを再生する

カメラの揺れを作成したら、複数の方法で再生できます。

シーケンサから再生する

シーケンサのカメラに揺れを追加するには、 Cine Camera Actor トラックの [+ Track (+ トラック)] ボタンをクリックし、 [Camera Shake (カメラの揺れ)] メニューから揺れアセットを選択します。

sequencer camera shake

CameraComponent トラックに揺れを追加しても同じ結果が得られます。

sequencer camera component shake

追加したら、シーケンスを再生して揺れが実行されているのを確認できます。

sequencer camera shake example

[Camera Shake (カメラの揺れ)] セクションにはブループリントの詳細で決定した Duration (持続時間) および Blend in Time (ブレンド開始時間)と Blend Out Time (ブレンド終了時間) が表示されています。これらのプロパティを変更すると、セクションの表示が更新されます。

sequencer shake section visualize

揺れのセクションを右クリックし、 [Properties (プロパティ)] メニューに進むと、シーケンサに揺れのプロパティが表示されます。

sequencer shake section details

名前

説明

Shake Class

使用する揺れのブループリント クラスを指定します。他のアセットが使用可能な場合、現在の揺れを別のアセットに変更できます。

Play Scale

全体の揺れの強度に対する乗数です。値が 1 の場合は通常の強度で、1 より小さい場合は揺れが弱くなり、1 より大きい場合は強くなります。

Play Space

揺れが再生される座標空間を指定します。

  • Camera Local : カメラの位置を基準した揺れが生成され、加算された揺れが再生されます。

  • World : レベルの座標を基準とした揺れが生成されます。

  • User Defined : 揺れの回転座標を User Defined Play Space で指定した座標を基準にします。

User Defined Play Space

Play Space User Defined に設定されている場合、回転座標をここに入力します。回転座標は [World Rotation (ワールドの回転)] 座標に相対的です。ただし、オフセットが指定されています。

ブループリントから再生する

ブループリントからも Start Camera Shake ノードを使用して揺れを再生できます。ノードには、 Shake Scale および Play Space を指定するパラメータが含まれます。

start camera shake blueprint node

Start Camera Shake 関数には、ターゲットとして プレイヤー コントローラー または カメラ揺れのソース コンポーネント が必要です。

カメラの揺れのソース

Camera Shake Source (カメラ揺れのソース) は、位置へのカメラの近接性に基づいてカメラの揺れを開始します。また、カメラ揺れのソースには揺れの影響の大きさと半径のコントロールが含まれています。カメラ揺れのソースは アクタ としてレベルに追加したり、 コンポーネント としてブループリントに追加したりすることができます。

Camera Shake Source アクタ をレベルに追加するには、このアクタを [ Place Actors ] パネルからレベルにドラッグします。

camera shake source actor

アクタまたはコンポーネントを選択すると次の詳細が表示されます。

camera shake source actor details

名前

説明

Attenuation

カメラがソースに近づいたとき、またはソースから遠ざかったときのフォールオフ曲線のタイプです。これは、 Quadratic (イース イン/アウトのブレンドを提供) または Linear (線形ブレンドを提供) のいずれかです。

Inner Attenuation Radius

揺れが完全な強度で再生される、ソースからの半径です。

Outer Attenuation Radius

揺れが表示されなくなるソースからの半径です。揺れは、カメラが外部半径と内部半径の間を移動するときにその位置に応じて強度をブレンドします。

Camera Shake

使用する揺れのブループリントのクラスです。

Auto Start

このプロパティをオンにすると、ゲームをプレイするときに自動的に揺れが始まります。

揺れのループの例

次のように実行することで手早くソースの揺れの効果を作成できます。

  1. Camera Shake ブループリント で、 Timing プロパティをすべて「0」に設定します。これにより揺れをブレンドなしに無限にループさせることができます。また、揺れが見えるように各軸に適切な振幅と周波数を確実に設定します。

  2. ブループリントをカメラ揺れのソースの Camera Shake プロパティに割り当て、 Auto Start をオンにします。

source shake setup

これで、ゲームをプレイしてソース ポイントに近づくと、カメラ揺れのソースが影響する範囲にカメラが入ることで揺れがブレンドされたり、ブレンドされなかったりする様子を確認できます。

distance shake example

カメラの揺れプレビューア

[Camera Shake Previewer (カメラの揺れプレビューア)] を使用すると、ゲームを開始したりシミュレーションしたりする必要なく、 カメラの揺れソース をエディタでプレビューできます。

プレビューアを開くには、Unreal Editor のメインメニューから [Window (ウィンドウ)] > [Camera Shake Previewer (カメラの揺れプレビューア)] の順に選択します。

camera shake previewer

カメラの揺れをエディタで再生するには、 [Allow Camera Shakes (カメラの揺れを許可)] をビューポート オプション メニューでオンにする必要があります。

allow camera shakes

次に、プレビューする揺れソースのエントリを選択し、 [Play/Stop Selected (選択項目を再生/停止)] をクリックして揺れのプレビューを行います。 [Play/Stop All (すべてを再生/停止)] をクリックすると、複数のソースを一度にプレビューできます。再生されると、エディタのカメラをソースに近づけて揺れの効果を確認できます。

camera shake previewer example

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル