Choose your operating system:
Windows
macOS
Linux
この操作チュートリアルでは Spring Arm コンポーネント を追加して、 Camera コンポーネント と親子関係を設定します。Spring Arm コンポーネントの機能を利用すると、ゲームプレイの状況に応じてカメラの距離を伸縮できます。通常、サードパーソンのパースペクティブを実現する場合は、キャラクターにカメラを追加します。その際に Spring Arm を含めることで、レベル ジオメトリやその他のオブジェクトがカメラを遮った状況で、どのようにカメラを処理するかを自動で制御できます。
-
「 カメラ コンポーネントを使用する 」ガイド チュートリアル プロジェクトから引き続き、 BP_CameraCharacter ブループリントを開きます。
-
[Components (コンポーネント)] タブで [Add Component (コンポーネントを追加)] ボタンをクリックし、「 Spring Arm Component 」と検索してから選択します。このコンポーネントの名前を 「SpringArmComp」 に変更します。
-
[Components (コンポーネント)] タブで CameraComp コンポーネント を Spring Arm コンポーネント の上にドラッグし、アタッチします
-
[Components (コンポーネント)] タブで SpringArmComp を選択し、その状態で [Details (詳細)] パネルに移動します。こちらには Spring Arm コンポーネント に対して有効なさまざまな設定があります。それぞれの概要を以下に示します。
セクション
説明
Sockets
スケルタル メッシュ の ボーン や ソケット と、Spring Arm の親子関係を設定する機能を提供します。
Camera
コリジョンが発生しないときの Spring Arm の長さを設定し、 オフセット も設定します。
Camera Collision
コリジョンを確認するかどうかを設定し、さらにコリジョンを確認するクエリ プローブの大きさを定義します。
Camera Settings
親や [Use Pawn Control Rotation] から Pitch (ピッチ) 、 Yaw (ヨー) 、 Roll (ロール) を継承するかどうかを設定します。
Lag
カメラをターゲット位置より遅延させるかどうかと、その他の遅延に関連する設定を行います。
-
Transform カテゴリで、 Location 値を (0,0,150) に、 Rotation 値を (0,0,90) に変更します。
-
Camera Settings カテゴリで Use Pawn Control Rotation 変数の隣にあるチェックボックスをクリックします。これを有効化すると、 Spring Arm コンポーネント の親はポーン (使用している CameraCharacter ) のビュー/コントロール回転を使用します。
-
Lag カテゴリで Enable Camera Lag 変数の隣にあるチェックボックスをクリックします。これを有効化するとカメラをターゲット位置より遅延させて、動きを滑らかにします。
新しく実装した Spring Arm コンポーネントの動作をテストする際は、Character クラスに Movement Input を追加する必要があります。
-
まず最初に [Edit (編集)] > [Project Settings (プロジェクト設定)] > [Engine (エンジン)] > [Input (インプット)] に移動してから、 [Bindings (バインディング)] カテゴリで [Axis Mappings (軸マッピング)] の隣にある [+] マークをクリックし、新しい Axis Input を作成します。
-
この Axis Mapping に「 MoveForward 」と名前をつけ、次にキー マッピングのドロップダウン メニューから W キーの値 を探して選択します。
-
[MoveForward] Axis Mapping の隣にある [+] マークをクリックして、キーを追加します。ドロップダウン メニューから S キー を探して選択し、次に [Scale] 値に -1.0 を設定します。
-
Axis Mappings の隣にある [+] マークをクリックして、新しい Axis Input を作成します。この Input に「 MoveRight 」と名前をつけます。
-
[MoveRight Axis Mapping] の隣にある [+] マークをクリックして、さらにキーを作成します。そして次の画像のように、 D と S のキーにそれぞれ 1.0 と -1.0 の値で Move Right キーのマッピングとスケールを設定します。
-
Bindings カテゴリで Axis Mappings の隣にある [+] マークをクリックして「 Turn 」という名前の新しい入力を作成します。次に Input Mapping Key として [Mouse X] を探し、選択します。
-
Bindings カテゴリで [Axis Mappings] の隣にある [+] マークをクリックして、「 LookUp 」という名前の新しい入力を作成します。次に Input Mapping Key として Mouse Y を探して選択し、その Scale 値を -1.0 に設定します。
-
そして BP_CameraCharacter をダブルクリックして イベント グラフ に移動し、グラフを右クリックして MoveForward と検索し、 Input Axis Event のカテゴリから選択します。
-
InputAxis Move Forward ノードの 実行 ピンを引き出して、 ドロップダウン メニュー から Add Movement Input ノードを探して選択します。次に InputAxis Move Forward ノードの Axis Value ピンを引き出して、 Add Movement Input ノードの Scale Value ピンに接続します。
-
イベント グラフ で右クリックして コンテキスト メニュー から Get Control Rotation を検索して選択します。次に Rotator Return Value ピンを引き出して ドロップダウン メニュー で Break Rotator を検索して選択します。
-
Break Rotator ノードから Z (Yaw) ピンを引き出して、 ドロップダウン メニュー で Make Rotator ノードを検索し、選択します。次に Make Rotator ノードの Rotator Return Value ピンを引き出して、ドロップダウン メニューで Get Forward Vector を検索し、選択します。
-
Get Forward Vector ノードの Vector Return Value ピンを引き出して、 Add Movement Input ノードの World Direction ピンに接続します。
-
Get Forward Vector ノードの Vector Return Value ピンを引き出して、 Add Movement Input ノードの World Direction ピンに接続します。
-
InputAxis MoveRight ノードの Execution ピンを引き出して、 ドロップダウン メニュー から Add Movement Input を検索し、選択します。次に InputAxis MoveRight ノードの Axis Value ピンを引き出して、 Add Movement Input ノードの Scale Value に接続します。
-
Make Rotator ノードの Rotator Return Value ピンを引き出して ドロップダウン メニュー で Get Right Vector ノードを検索し、選択します。次に Vector Return Value ピンを引き出して Add Movement Input ノードの World Direction ピンに接続します。
手順を完了すると Movement Input Events は以下の画像のようになります。
-
イベント グラフ で右クリックして InputAxis LookUp イベント ノードを検索し、選択します。次に右クリックして Add Controller Pitch Input ノードを検索し、選択します。
-
InputAxis LookUp ノードから Axis Value ピンを引き出して、 Add Controller Pitch Input ノードの Val ピンに接続します。 InputAxis LookUp ノードから Execution Output ピンを引き出して、 Add Controller Pitch Input ノードの Execution Input ピンに接続します。
-
イベント グラフ で右クリックして Input Axis Turn イベント ノードを検索し、選択します。次に右クリックして Add Controller Yaw Input ノードを検索し、選択します。
-
Input Axis Turn ノードの Axis Value ピンを引き出して、 Add Controller Yaw Input ノードの Val ピンに接続します。 Input Axis Turn ノードの execution output pピンを引き出して、 Add Controller Yaw Input ノードの execution input ピンに接続します
-
[Compile] と [Save] を順にクリックします。