バーチャル カメラ (すなわち VCam) コンポーネントは、UMG ウィジェット を使用して Cine カメラ コンポーネントを編集するためのモジュラー システムを提供します。VCam コンポーネントは、VCam アクタ など Unreal Engine でカスタム バーチャル カメラを作成するための基本コンポーネントです。独自の VCam を作成する利点は、モディファイアと出力プロバイダを使用して、ブループリントでカスタム機能を実装できることです。
バーチャル カメラのアーキテクチャ
VCam コンポーネントのアーキテクチャには、モデル、ビュー、コントローラーの 3 つの側面があります。
- モディファイア はモデルを表します。これは、Cine カメラ コンポーネントのプロパティを変更するためのロジックを実装します。モディファイアは接続ポイントを含んでおり、オプションで UMG ウィジェットによって呼び出される入力アクション (拡張入力) を公開することができます。
- 出力プロバイダ はビューです。出力プロバイダは、ウィジェットを作成してレンダリングします (ウィジェットをストリーミングすることもできます)。通常、出力プロバイダは、モディファイアの接続ポイントに接続できる特別なウィジェットである UVCamWidgets を作成します。ウィジェットは次の 2 つの方法でモディファイアとやり取りします。
- シンプル:モディファイアをサブスクライブしている入力アクションをトリガーし、接続を介して公開します。
- 高度:モディファイアで特定のカスタム定義インターフェースが実装されているかどうかをクエリします。
- UVCameraSubSystems は、UVCamComponent が有効になっている間は存在します。これは LocalPlayerSubSystem に相当します。
- こういったシステムで注目すべきシステムの 1 つは、InputVCamSubsystem です。このシステムを使用すると、シッピングされたゲームでプレイヤー コントローラーが実行する方法と同様に、UVCamComponents を入力デバイスにバインドできます。
要件および前提条件
このガイドを進めるには、まず以下を行う必要があります。
- Live Link を使用してバーチャル カメラ アクタを制御する の「必要な設定」セクションの次の手順を実行する。
- プロジェクトで必要なすべてのプラグインを有効にする。
- [オプション] サポート対象の iOS デバイスを使用する。
- [オプション] iOS の App Store から Live Link VCAM アプリをダウンロードしてインストールする。
- [オプション] Unreal Engine プロジェクトと Live Link VCAM アプリを実行している iOS デバイスに共有ネットワーク接続を提供する。
出力プロバイダによっては、iOS デバイスを使用する必要がある場合があります。使用方法の詳細については、このページの「VCam 出力プロバイダ」セクションを参照してください。
カスタム バーチャル カメラのワークフローを設定する
バーチャル カメラは、Cine カメラ と VCam の 2 つのコンポーネントで構成されています。この 2 つのコンポーネントが、カスタマイズされたバーチャル カメラを作成する基礎となります。
カスタム バーチャル カメラを作成するには、次の手順を実行します。
- レベル エディタで [Place Actors (アクタを配置)] パネルを使用して、Cine カメラ をシーンに追加します。
- Cine カメラを選択した状態で、[Details (詳細)] パネルに移動し、[+ Add (+ 追加)] コンポーネント メニューをクリックし、リストから VCam コンポーネントを選択します。
- VCam コンポーネントをクリックして CameraComponent の上にドラッグして、Cine カメラの子にします。
コンポーネント階層は以下の例のようになります。
VCam コンポーネントには次のプロパティがあります。
| プロパティ |
説明 |
| Enabled |
VCam コンポーネント全体の有効/無効を切り替えます。 |
| Role |
バーチャル プロダクション環境でこのバーチャル カメラに割り当てる役割のタイプを指定します。 |
| Live Link Subject |
これは Live Link プラグイン経由で使用されるサブジェクトです。コンポーネントでは、サブジェクトのカメラ情報を使って、Live Link に接続されているデバイスからシーン内でカメラを操作します。 |
| Viewport Locker |
ビューポートは、バーチャル カメラの視点からレンダリングされます。 |
| Disable Component when Spawned by Sequencer |
シーケンスによってスポーンされた際に、VCam コンポーネントを無効化します。これにより、Spawnables (スポーン可能なもの) として設定された VCam コンポーネントを含むシーケンスを再生する際に、2 つの VCam コンポーネントが同時に有効になることが回避されます。 |
| Input Profile |
バーチャル カメラの入力をマッピングしている使用プロファイルを指定します。入力プロファイルの詳細については、「バーチャル カメラ コントロールへの入力を制御する」を参照してください。 |
| Input Device Settings |
入力デバイス (キーボード、ゲームパッド、マウス) として使用できるデバイスを有効または無効にします。また、入力ログのタイプも選択できます。 |
| Output Providers |
すべての出力先デバイスのリストが含まれます。詳細については、このページの「出力プロバイダ」セクションを参照してください。 |
| Modifier Context |
すべてのモディファイアで共有される任意のデータを含むオプションのオブジェクト。 |
| Modifier Stack |
コンポーネントに追加されたすべてのモディファイアのリストが含まれます。詳細については、本ページの「モディファイア」セクションを参照してください。 |
| 詳細設定 |
|
| Disable Output on Multi User Receiver |
バーチャル カメラがマルチユーザー セッション中で、カメラがセッションからの「受信機」である場合、出力を無効化します。 |
| Update Frequency |
マルチユーザー モードであるとき、カメラ更新が送信される頻度を示します。最小値は 11 ミリ秒です。30 ミリ秒を下回る値を使用しないことを推奨します。より高いリフレッシュ レートが必要な場合は、代わりに Live Link Rebroadcast を使用してカメラ データをストリーミングすることを検討してください。 |
VCam モディファイア
バーチャル カメラ モディファイア は特殊なブループリント アセットです。カスタム機能を作成するためのロジックと 入力アクション が含まれています。バーチャル カメラ モディファイアを使用して、カメラの揺れ、フォーカスの調整、軸に沿ったカメラの動きの制限など、独自のエフェクトや動作を (ブループリントまたは C++ で) 作成できます。
バーチャル カメラには何個でもモディファイアを適用できるため、異なる動作やエフェクトを適用するモディファイアのスタックを作成できます。スタックの各モディファイアは、上から下の順番で適用され、レンダリングされます。
Unreal Engine には、標準の VCam アクタで使用されるデフォルトのモディファイア セットが含まれています。これらの各モディファイアとそのロジックを確認することができます。これらは、Engine > Plugins > VirtualCamera Content > Modifiers フォルダにあります。
VCam 出力プロバイダ
バーチャル カメラの 出力プロバイダ システムでは、ビューポート、リモート セッション プロトコルを使用するデバイスなど、さまざまなプロバイダにバーチャル カメラの出力を再ルーティングします。
以下の出力プロバイダを選択して、利用することができます。
バーチャル カメラに出力プロバイダを追加するには、次の手順を実行します。
- バーチャル カメラの VCam コンポーネントを選択します。
- [Details] パネルで、[Output Providers (出力プロバイダ)] セクションに移動し、[+ Add] アイコンをクリックして新規プロバイダをスタックに追加します。
-
追加された Index [0] 要素の隣にある選択されたドロップダウンを使用して、リストの 出力プロバイダ から 1 つを選択します。
スタック内の各出力プロバイダは、上から下の順に適用され、レンダリングされます。
ビューポート出力プロバイダ
ビューポート 出力プロバイダは、シーン内のバーチャル カメラのビューを取得し、レベル エディタのビューポートに直接出力します。
ビューポート出力プロバイダには、次のプロパティが含まれます。
| プロパティ |
説明 |
| Is Active |
設定した場合、この出力プロバイダはすべてのフレームで実行されます。 |
| Target Viewport |
このバーチャル カメラに使用するビューポートを選択します。 |
| UMG Overlay |
この出力プロバイダでレンダリングする UMG クラス。 |
| Use Override Resolution |
デフォルトの出力解像度をカスタム値でオーバーライドします。
これを有効にするには、Is Active をオフに切り替えてから、オンに戻す必要があります。
|
| Override Resolution |
[Use Override Resolution] が設定されている場合、カスタム解像度を適用します。 |
| Gameplay View Target Policy |
これは、プレイ イン エディタ (PIE) やシッピング済みゲームなどのゲーム ワールドで、どのプレイヤー コントローラーのビュー ターゲットが所有 Cine カメラ アクタに設定されるかを決定します。
複数の出力プロバイダでポリシーが設定されている場合は、ポリシーによって同じプレイヤー コントローラーに対してビュー ターゲットが設定される可能性があります。この競合を解決するため、プレイヤー コントローラーにビュー ターゲットとして Cine カメラ アクタがすでに設定されているかどうかを確認し、設定されている場合、ポリシーは使用されません。つまり、VCam コンポーネント内の出力プロバイダ配列を必要に応じて並べ替えることができるため、最初のポリシーの優先順位が高くなります。
|
Pixel Streaming 出力プロバイダ
Pixel Streaming 出力プロバイダは、WebRTC を使用して接続されたリモート デバイスにエディタ ビューポートを出力します。これには、iOS デバイスで使用される Live Link VCam アプリが含まれます。この方法は、ウェブ ブラウザを含む、スストリーミングされているデータを受信できる互換性のあるデバイスで機能します。これは、バーチャル カメラの主要な出力プロバイダです。
Pixel Streaming は Pixel Streaming 出力プロバイダのインスタンスで設定され、追加の設定は必要ありません。VCam コンポーネントは単一のストリームのみをサポートします。
Pixel Streaming 出力プロバイダには、次のプロパティが含まれます。
| プロパティ |
説明 |
| Is Active |
設定した場合、この出力プロバイダはすべてのフレームで実行されます。 |
| Target Viewport |
このバーチャル カメラに使用するビューポートを設定します。 |
| UMG Overlay |
この出力プロバイダでレンダリングする UMG クラス。 |
| Use Override Resolution |
デフォルトの出力解像度をカスタム値でオーバーライドします。
これを有効にするには、Is Active をオフに切り替えてから、オンに戻す必要があります。
|
| Override Resolution |
[Use Override Resolution] が設定されている場合、カスタム解像度を適用します。 |
| From Composure Output Provider Index |
Composure 出力プロバイダ からの出力を使用する場合は、ここで指定します。 |
| Match Remote Resolution |
有効な場合、ストリーミングされた Unreal Engine のビューポートがリモート デバイスの解像度と一致します。 |
| Enable ARKit Tracking |
iOS デバイスの Live Link VCAM アプリから受信したトランスフォーム データを使用して、対応する Cine カメラ アクタを制御します。 |
| Prevent Editor Idle |
エディタがフォアグラウンド アプリケーションでない場合に、バックグラウンドに移動するのを防ぎます。エディタが最小化されていたり、他のアプリケーションが使用されていたりすると、エディタが反応しなくなったり、動作が重くなったりする場合があります。 |
| Auto Set Live Link Subject |
有効な場合、所有する VCam コンポーネントの Live Link サブジェクトが、この出力プロバイダによって作成されたサブジェクトに設定されます。 |
| Streamer Id |
シグナリング サーバーに報告される、このストリームの名前を設定します。指定されていない場合は、デフォルトが使用されます。ストリーマー ID が他の VCam のストリーマー ID と同じ場合、問題が発生する可能性があるため、各ストリームに一意の名前を付けることをお勧めします。 |
| Gameplay View Target Policy |
これは、プレイ イン エディタ (PIE) やシッピング済みゲームなどのゲーム ワールドで、どのプレイヤー コントローラーのビュー ターゲットが所有 Cine カメラ アクタに設定されるかを決定します。
複数の出力プロバイダでポリシーが設定されている場合は、ポリシーによって同じプレイヤー コントローラーに対してビュー ターゲットが設定される可能性があります。この競合を解決するため、プレイヤー コントローラーにビュー ターゲットとして Cine カメラ アクタがすでに設定されているかどうかを確認し、設定されている場合、ポリシーは使用されません。つまり、VCam コンポーネント内の出力プロバイダ配列を必要に応じて並べ替えることができるため、最初のポリシーの優先順位が高くなります。
|
Unreal Remote 出力プロバイダ
Unreal Remote 出力プロバイダは、メインのビューポートを iOS デバイス上の Live Link VCam アプリなどの リモート セッション プロトコル を使用して接続されたリモート デバイスに出力します。
Unreal Remote では、リモート セッションを使用して外部デバイスに接続するために、プロジェクトに追加の設定が必要です。詳細については、このページの「Unreal Remote 出力プロバイダを設定する」を参照してください。
Unreal Remote 出力プロバイダには、次のプロパティが含まれます。
| プロパティ |
説明 |
| Is Active |
有効な場合、この出力プロバイダはすべてのフレームで実行されます。 |
| Target Viewport |
このバーチャル カメラに使用するビューポートを選択します。 |
| UMG Overlay |
この出力プロバイダでレンダリングする UMG クラスを選択します。 |
| Use Override Resolution |
デフォルトの出力解像度をカスタム値でオーバーライドします。
これを有効にするには、Is Active をオフに切り替えてから、オンに戻す必要があります。
|
| Override Resolution |
[Use Override Resolution] が設定されている場合、カスタム解像度を適用します。 |
| Gameplay View Target Policy |
これは、プレイ イン エディタ (PIE) やシッピング済みゲームなどのゲーム ワールドで、どのプレイヤー コントローラーのビュー ターゲットが所有 Cine カメラ アクタに設定されるかを決定します。
複数の出力プロバイダでポリシーが設定されている場合は、ポリシーによって同じプレイヤー コントローラーに対してビュー ターゲットが設定される可能性があります。この競合を解決するため、プレイヤー コントローラーにビュー ターゲットとして Cine カメラ アクタがすでに設定されているかどうかを確認し、設定されている場合、ポリシーは使用されません。つまり、VCam コンポーネント内の出力プロバイダ配列を必要に応じて並べ替えることができるため、最初のポリシーの優先順位が高くなります。
|
| Port Number |
ネットワーク ポート番号。複数のリモート セッション デバイスを同一の PC に接続する場合にのみ変更する必要があります。 |
| From Composure Output Provider Index |
Composure 出力プロバイダからの出力を使用する場合は、ここで指定します。 |
メディア出力プロバイダ
メディア出力プロバイダ は、Black Magic や AJA のビデオ キャプチャ カードなどの Unreal Media Framework でサポートされているデバイスにバーチャル カメラの出力を送信します。
Output Config アセットは、出力されるメディア ソースのタイプと、ソースへの出力に必要なパラメータを指定するために使用されます。これらのタイプのアセット、その使用方法、およびサポートされるソースの詳細については、「Media Framework」を参照してください。
メディア出力プロバイダには、次のプロパティが含まれます。
| プロパティ |
説明 |
| Is Active |
設定した場合、この出力プロバイダはすべてのフレームで実行されます。 |
| Target Viewport |
このバーチャル カメラに使用するビューポートを選択します。 |
| UMG Overlay |
この出力プロバイダでレンダリングする UMG クラス。 |
| Use Override Resolution |
デフォルトの出力解像度をカスタム値でオーバーライドします。
これを有効にするには、Is Active をオフに切り替えてから、オンに戻す必要があります。
|
| Override Resolution |
[Use Override Resolution] が設定されている場合、カスタム解像度を適用します。 |
| Gameplay View Target Policy |
これは、プレイ イン エディタ (PIE) やシッピング済みゲームなどのゲーム ワールドで、どのプレイヤー コントローラーのビュー ターゲットが所有 Cine カメラ アクタに設定されるかを決定します。
複数の出力プロバイダでポリシーが設定されている場合は、ポリシーによって同じプレイヤー コントローラーに対してビュー ターゲットが設定される可能性があります。この競合を解決するため、プレイヤー コントローラーにビュー ターゲットとして Cine カメラ アクタがすでに設定されているかどうかを確認し、設定されている場合、ポリシーは使用されません。つまり、VCam コンポーネント内の出力プロバイダ配列を必要に応じて並べ替えることができるため、最初のポリシーの優先順位が高くなります。
|
| Output Config |
Media Framework でサポートされている出力ソースの 1 つを使用して、Media Output Configuration アセットを割り当てます。 |
| From Composure Output Provider Index |
Composure 出力プロバイダからの出力を使用する場合は、ここで指定します |
Composure 出力プロバイダ
Composure 出力プロバイダは、バーチャル カメラの出力をレンダー ターゲットに送信します。レンダー ターゲットを Composure と使用すると、コンポジットを行うことができます。Layer Targets プロパティを使用して、コンポジットに使用する要素のスタックを指定できます。これらの要素は、UMG ウィジェットのレンダリングをサポートしています。
Composure 出力プロバイダには、次のプロパティが含まれます。
| プロパティ |
説明 |
| Is Active |
設定した場合、この出力プロバイダはすべてのフレームで実行されます。 |
| Target Viewport |
このバーチャル カメラに使用するビューポートを選択します。 |
| UMG Overlay |
この出力プロバイダでレンダリングする UMG クラス。 |
| Use Override Resolution |
デフォルトの出力解像度をカスタム値でオーバーライドします。
これを有効にするには、Is Active をオフに切り替えてから、オンに戻す必要があります。
|
| Override Resolution |
[Use Override Resolution] が設定されている場合、カスタム解像度を適用します。 |
| Gameplay View Target Policy |
これは、プレイ イン エディタ (PIE) やシッピング済みゲームなどのゲーム ワールドで、どのプレイヤー コントローラーのビュー ターゲットが所有 Cine カメラ アクタに設定されるかを決定します。
複数の出力プロバイダでポリシーが設定されている場合は、ポリシーによって同じプレイヤー コントローラーに対してビュー ターゲットが設定される可能性があります。この競合を解決するため、プレイヤー コントローラーにビュー ターゲットとして Cine カメラ アクタがすでに設定されているかどうかを確認し、設定されている場合、ポリシーは使用されません。つまり、VCam コンポーネント内の出力プロバイダ配列を必要に応じて並べ替えることができるため、最初のポリシーの優先順位が高くなります。
|
| Layer Targets |
リクエストされた UMG をレンダリングするための Composure スタック コンポジット要素のリスト。 |
| Final Output Render Target |
最終出力を含む Texture Render Target 2D アセットを割り当てます。 |
VCam 入力アクション
モディファイア接続ポイントは実験的機能です。
入力アクションは、モディファイア ブループリント からハードウェア入力にマッピング可能な入力です。拡張入力 は、このハードウェア入力をバーチャル カメラなどにマッピングし、インジェクションや接続ポイントを使用して UMG 入力を再マッピングするという考え方に基づいて開発されています。Unreal Engine では、Live Link VCAM アプリのような VCam ウィジェット (UMG ウィジェットと同様) を使用して、バーチャル カメラ アクタを制御できます。これらは、ハード参照やキャストを必要とすることなく、モディファイアに再マッピングすることができます。接続ポイント は、VCam ウィジェットを再マッピングして再利用するための要素の橋渡しをします。
カスタム バーチャル カメラの設定例
このパートでは、VCam コンポーネントと Cine カメラ アクタを使用したカスタム バーチャル カメラのセットアップと設定を例を通して説明します。このプロセスでは、このページで前述したすべての要素を使用して、これらのパーツがどのように相互に作用し、接続するかを示す単純化された例を作成します。
この設定ガイドでは、次のように機能を作成し、カスタム バーチャル カメラに適用します。
- Cine カメラ コンポーネントと VCam コンポーネントを使用して、カスタム バーチャル カメラを作成します。
- バーチャル カメラを使用してシーン内の指定オブジェクトをトラッキングするブループリントとロジックを設定します。
- ブループリントのロジックを拡張して、オブジェクトをトラッキングするバーチャル カメラの機能のオン/オフを切り替えます。
- スクリプト化されたブループリント ロジックを使用する VCam ウィジェットを設定します。
- ブループリント ロジックをさらに拡張して、ボタンの状態 (オン/オフ) に応じてボタンの色を変更します。
このガイドに従うことで、モディファイア、出力プロバイダ、および接続ポイントを含む入力アクションを使用して、バーチャル カメラで使用するさまざまなエフェクトや動作を作成する方法をより明確に理解することができます。
カスタム バーチャル カメラを作成する
カスタム バーチャル カメラを作成するには、次の手順を実行します。
- レベル エディタの [Place Actors] パネルを使用して、Cine カメラ アクタをシーンに追加します。
-
Cine カメラを選択した状態で、[Details] パネルの [+Add] コンポーネント メニューをクリックし、リストから VCam コンポーネントを選択します。
- VCam コンポーネントをクリックし CameraComponent の上にドラッグして、Cine カメラの子にします。
コンポーネント階層は以下の例のようになります。
カスタム モディファイアを作成する
このセクションでは、モディファイア ブループリントを作成します。このブループリントには、バーチャル カメラに適用してエフェクトを作成するための動作とロジックが含まれています。この例では、作成するブループリントを使用して、シーン内の指定したオブジェクトをバーチャル カメラでトラッキングします。
このパートでは、VCam モディファイアを作成するためにいくつかの小さなステップに分かれています。このフローに従うことで、次の結果が得られます。
モディファイア ブループリントを作成する
VCam モディファイア ブループリントを作成するには、次の手順を実行します。
-
コンテンツ ブラウザで、[+ Add] > [VCam] をクリックし、VCam Modifier ブループリント アセットを追加します。このアセットに「VCM_LookAt」という名前を付けます。
-
[Select Input Mapping Context] ポップアップ ウィンドウでプロンプトが表示されます。[Skip (スキップ)] を選択できます。
入力マッピング アセットとその使用方法の詳細については、「Enhanced Input」を参照してください。
これで、このガイドの以降の部分で使用するモディファイア ブループリントを作成できました。
アクタ参照変数を設定する
このステップでは、モディファイア ブループリントのグラフで使用する変数を設定します。これらの変数は、バーチャル カメラがトラッキングするレベルのオブジェクトを指定します。
このタイプの要素を設定する場合、シーン内のアクタへの参照はすべてモディファイア ブループリントで定義する必要があります。
アクタ参照変数を使用してモディファイアを設定するには、次の手順を実行します。
- VCM_LookAt モディファイア ブループリントを開きます。
-
[My Blueprint (マイ ブループリント)] パネルで、[Variables (変数)] カテゴリを特定し、[+ Add] アイコンをクリックして、新しい変数を追加します。
- 変数のテキスト フィールドをクリックし、名前を「TargetActor」に設定します。
-
[Boolean] 型をクリックし、そのタイプを [Object Types (オブジェクト タイプ)] > [Actor (アクタ)] に変更し、[Object Reference (オブジェクト参照)] を選択します。
-
[My Blueprint] パネルで TargetActor 変数を選択した状態で、[Details] パネルを使用して、[Variables] カテゴリの [Instance Editable (インスタンス編集可能)] チェックボックスをオンにします。
変数名の横にある 目 アイコンをクリックすると、[Details] パネルで [Instance Editable] を設定した場合と同じ操作を実行することができます。
このステップで設定した参照変数は、後でモディファイアをバーチャル カメラのモディファイア スタックに追加するときに使用します。[Instance Editable] に設定された変数は、レベルで作業している際に、VCam コンポーネントのプロパティで表示されます。バーチャル カメラがトラッキングするアクタはここで直接設定します。
モディファイア ブループリント ロジックを作成する
このステップでは、VCM_LookAt モディファイア ブループリントのグラフで初期ロジックを作成します。このロジックは、TargetActor 変数を使用してワールド内のオブジェクトをトラッキングし、その位置をバーチャル カメラに提供するために使用されます。Unreal Engine は、この情報を使用してバーチャル カメラを回転させ、オブジェクトが表示された状態を保持します。
ロジックをモディファイア ブループリントに追加するには、次の手順を実行します。
- VCM_LookAt モディファイア ブループリントを開きます。
- [My Blueprint] パネルで [Variables] カテゴリを見つけ、TargetActor 変数をクリックし、イベント グラフ にドラッグします。Get TargetActor を選択します。
- TargetActor ノードの出力ピンからドラッグし、Is Valid ノードを追加します。
- Event On Apply ノードを Is Valid ノードにつなげます。
- Event On Apply ノードの Camera Component 出力からドラッグし、Get World Location ノードを追加します。
- Get World Location ノードの Return Value ピンからドラッグし、Find Look at Rotation ノードを追加します。
- Event On Apply ノードの Camera Component ピンからドラッグし、Set World Rotation ノードを追加します。
- Is Valid ノードの Is Valid ピンを Set World Rotation ノードにつなげます。
- TargetActor ノードをドラッグし、Get Actor Location ノードを追加します。
- Get Actor Location ノードの Return Value ピンからドラッグして、Find Look at Rotation ノードの Target ピンにつなげます。
- Find Look at Rotation ノードの Return Value ピンからドラッグし、Set World Rotation ノードの New Rotation ピンにつなげます。
- コンパイル して 保存 します。
これでモディファイア ブループリントの設定が完了しました。グラフは次のようになります。
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_VariableGet_0"'
VariableReference=(MemberName="TargetActor",MemberGuid=7E8672B245E272DAA9034392D558C413,bSelfContext=True)
NodePosX=1744
NodePosY=176
NodeGuid=BF2F4FC846BB08B9C99EE9A324787C11
CustomProperties Pin (PinId=B50A7F6F4DCAA5498D8AD38FB752BCF2,PinName="TargetActor",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.Actor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 4AC8905940F198E7AC1AB9B2037710F3,K2Node_CallFunction_2 81BA483240E9DC02A71F6EB96C6ABB7F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C22C3F4F4222E18C5BAA3FAB0C9E126D,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/NewBlueprint.NewBlueprint_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_MacroInstance Name="K2Node_MacroInstance_0" ExportPath=/Script/BlueprintGraph.K2Node_MacroInstance'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_MacroInstance_0"'
MacroGraphReference=(MacroGraph=/Script/Engine.EdGraph'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:IsValid"',GraphBlueprint=/Script/Engine.Blueprint'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros"',GraphGuid=64422BCD430703FF5CAEA8B79A32AA65)
NodePosX=1920
NodePosY=96
NodeGuid=C54DD5D84F91678FB503AE83B59474E4
CustomProperties Pin (PinId=258551E944817AD172A652ABD1D05A4E,PinName="exec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4AC8905940F198E7AC1AB9B2037710F3,PinName="InputObject",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CoreUObject.Object"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_0 B50A7F6F4DCAA5498D8AD38FB752BCF2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=12E7215D4E091BAC45E4A3A228B72230,PinName="Is Valid",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_4 5666EDF24A9E50CE89E87FBD5DB55B18,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=28706A844C1513C9A5A4F7BB25B8B494,PinName="Is Not Valid",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_1" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_CallFunction_1"'
bIsPureFunc=True
bIsConstFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',MemberName="K2_GetComponentLocation")
NodePosX=1920
NodePosY=320
NodeGuid=5A4FECBD4CA724EAEEF14E8DA9D90D5D
CustomProperties Pin (PinId=874918304FFBB421973F4C98F6F157E2,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nScene Component Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DC6340CD4075DEE42ACD889D4BEE5CB1,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nReturn location of the component, in world space",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 376497914FD38AEBD06281B2375EFEAD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_2" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_CallFunction_2"'
bIsPureFunc=True
bIsConstFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.Actor"',MemberName="K2_GetActorLocation")
NodePosX=1920
NodePosY=224
NodeGuid=097D523547BA566DF69D94A49CCC12C3
CustomProperties Pin (PinId=81BA483240E9DC02A71F6EB96C6ABB7F,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nActor Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.Actor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_0 B50A7F6F4DCAA5498D8AD38FB752BCF2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DB35A8BF4EBBF691C9B0E5838CCAA38B,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nReturns the location of the RootComponent of this Actor",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 B78B01804B10A622C6A3858627D4CEDA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_3" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_CallFunction_3"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.KismetMathLibrary"',MemberName="FindLookAtRotation")
NodePosX=2256
NodePosY=208
NodeGuid=1F82BE0C4687B3D2BB4F1CBC7B32D145
CustomProperties Pin (PinId=0FD52FF647E6C3414676AE9368CAF236,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.KismetMathLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__KismetMathLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=376497914FD38AEBD06281B2375EFEAD,PinName="Start",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_1 DC6340CD4075DEE42ACD889D4BEE5CB1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B78B01804B10A622C6A3858627D4CEDA,PinName="Target",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_2 DB35A8BF4EBBF691C9B0E5838CCAA38B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DFAE89C744120F146A0F19AA3028C0A5,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Rotator"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_4 66DBF2C7459298D609193EADCC1B164A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_4" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_CallFunction_4"'
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',MemberName="K2_SetWorldRotation")
NodePosX=2496
NodePosY=80
AdvancedPinDisplay=Hidden
NodeGuid=2931C72C498A3E59DE4385A995B567C9
CustomProperties Pin (PinId=5666EDF24A9E50CE89E87FBD5DB55B18,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 12E7215D4E091BAC45E4A3A228B72230,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=489CFEFB4CFFEDB92E4D109FCC349488,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=116CE1FD4FAD42BFAF9B23A7BACF7F22,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_1 5058456C48AC97C1F980DABF73EDA686,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=66DBF2C7459298D609193EADCC1B164A,PinName="NewRotation",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Rotator"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 DFAE89C744120F146A0F19AA3028C0A5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=75C92014434EBBA4702A60AB42360511,PinName="bSweep",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=01A2B543491D77233F632487AFCCFB37,PinName="SweepHitResult",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/Engine.HitResult"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=8E5E8B674FE0F9470505DFB11E2E6F2D,PinName="bTeleport",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_0" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_Knot_0"'
NodePosX=1808
NodePosY=16
NodeGuid=B163B6BB402F101786F18FBE32339F60
CustomProperties Pin (PinId=511DD4974091469C69185AA4A05B6888,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=EFFFB1D7430E24600171D48E38740D48,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_1 D6E38B3346ED6462F04840A16A8B2E11,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_1" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/NewBlueprint.NewBlueprint:EventGraph.K2Node_Knot_1"'
NodePosX=2304
NodePosY=16
NodeGuid=33E52DD4430E54788FC2C6B4980F05F5
CustomProperties Pin (PinId=D6E38B3346ED6462F04840A16A8B2E11,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 EFFFB1D7430E24600171D48E38740D48,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5058456C48AC97C1F980DABF73EDA686,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_4 116CE1FD4FAD42BFAF9B23A7BACF7F22,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
上のブループリントのコードをコピーして VCM_LookAt モディファイアに直接貼り付け、自分のプロジェクトで上記のグラフを再現します。
Reroute ノードを使用してグラフを整理すると、ワイヤーの接続先を簡単にたどることができます。これは、複数のワイヤーの接続元となっているピンがある場合、または複数のワイヤーの接続先となっているピンがある場合に特に役立ちます。任意のワイヤーをダブルクリックすると、Reroute ノードが追加されます。これを選択して、レベル内の他のノードと同じようにドラッグすると、ワイヤーの向きを変えることができます。
モディファイアを VCam コンポーネント スタックに追加する
モディファイア ブループリントが完成したので、シーンのバーチャル カメラの モディファイア スタック に適用できます。
モディファイアを VCam コンポーネントを追加するには、次の手順を実行します。
- レベルで、作成した Virtual Camera アクタを選択します。
- [Details] パネルで、階層ウィンドウの VCam コンポーネントを選択します。
-
[Virtual Camera] プロパティで [Modifier Stack (モディファイア スタック)] を見つけ、[+ Add] アイコンをクリックして、スタックに要素を追加します。
-
Index [0] という名前の追加された モディファイア スタック 要素のプロパティを展開し、[Name (名前)] テキスト フィールドを使用してこのモディファイアに「LookAt」という名前を付けます。
-
[Generated Modifier (生成されたモディファイア)] のドロップダウン リストを使用して、このガイドで前に作成した VCM_LookAt モディファイア ブループリントを選択します。
- [Generated Modifier (生成されたモディファイア)] > [Default (デフォルト)] を展開してプロパティを表示します。
-
[Target Actor (ターゲット アクタ)] のドロップダウン選択を使用して、バーチャル カメラがトラッキングするアクタをレベルから選択します。
テスト用のアクタが必要な場合は、[Place Actors] パネルにある 形状 アクタを使用できます。形状アクタは、キューブ、シリンダー、球形、コーンなどの単純な形状です。
これで、バーチャル カメラに割り当てたモディファイア ブループリントを設定し、シーン内のどこに移動しても当該オブジェクトをトラッキングできるようになりました。
モディファイアの動作を変更する
バーチャル カメラに割り当てた VCM_LookAt モディファイア ブループリントは、レベル内の指定したオブジェクトの位置をトラッキングします。このセクションでは、スクリプト化されたブループリントの動作を拡張して、バーチャル カメラがオブジェクトをトラッキングする機能のオン/オフを切り替えるロジックを追加します。
追加の動作をモディファイアに追加するには、次の手順を実行します。
- VCM_LookAt モディファイア ブループリントを開きます。
- イベント グラフで、Event On Apply ノードをクリックして左にドラッグし、Is Valid ノードの前に追加ロジック用のスペースを確保します。
- Event On Apply ノードの Camera Component ピンを右クリックして、リストから [Promote to Variable (変数へ昇格)] を選択します。
- [My Blueprint] パネルの [Variables] カテゴリで、Camera Component 変数を選択します。
- [Details] パネルで、[Advanced (詳細設定)] カテゴリを展開し、[Transient (一時的)] の横にあるボックスをオンにします。
- Event On Apply ノードを Set Camera Component ノードにつなげます。
- [My Blueprint] パネルの [Variables] カテゴリで、[+ Add] アイコンをクリックして、ブール 変数を追加します。「ShouldLookAt」という名前を付けます。
- ShouldLookAt 変数をクリックしてイベント グラフにドラッグし、Get ShouldLookAt を選択します。
- ShouldLookAt ノードからドラッグし、Branch ノードを追加します。
- Set Camera Component ノードを Branch ノードにつなげます。
- Branch ノードの True 実行を Is Valid ノードにつなげます。
- [My Blueprint] パネルの [Variables] カテゴリから、Camera Component 変数をグラフにドラッグし、Get Camera Component を選択します。
- Camera Component ノードの出力ピンからドラッグし、Set World Rotation ノードを追加します。
- Camera Component ノードの出力ピンからドラッグし、Get World Rotation ノードを追加します。
- Get World Rotation ノードの Return Value ピンを Set World Rotation ノードの New Rotation ピンにつなげます。
- Branch ノードの False 実行からドラッグし、Set World Rotation ノードにつなげます。
- コンパイル して 保存 します。
追加されたロジック (以下でハイライト) は、Branch ノードを使用して、バーチャル カメラでオブジェクトをトラッキングする機能のオン/オフを切り替えます。True パスが実行されると、カメラはレベル内の指定されたオブジェクトをトラッキングします。False パスが使用されると、カメラはトラッキングを停止します。この拡張ロジックは、この動作を実行するために必要なもののみを設定します。このガイドの次のセクションでは、このロジックを使用して、VCam ウィジェットを使用して画面上のボタンの Should Look At 状態をトラッキングし、この動作を切り替えます。
VCM_LookAt モディファイア ブループリントのグラフは次のようになります。
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableGet_0"'
VariableReference=(MemberName="TargetActor",MemberGuid=E54FF4EA40AC7F265D6FD491447D55EF,bSelfContext=True)
NodePosX=400
NodePosY=432
NodeGuid=A75708504CB32371D15BBCB48C3AFFE8
CustomProperties Pin (PinId=15ABA2FD4CB6C4C4CFA61FAC683BA11C,PinName="TargetActor",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.Actor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 5832F75848CA2DF0B26D458D70904493,K2Node_CallFunction_4 906BFDAF421F41DD1D8CB6BC7B232EA7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=09B0483D451A90DD5A246B9305BE0447,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_MacroInstance Name="K2Node_MacroInstance_0" ExportPath=/Script/BlueprintGraph.K2Node_MacroInstance'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_MacroInstance_0"'
MacroGraphReference=(MacroGraph=/Script/Engine.EdGraph'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:IsValid"',GraphBlueprint=/Script/Engine.Blueprint'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros"',GraphGuid=64422BCD430703FF5CAEA8B79A32AA65)
NodePosX=544
NodePosY=368
NodeGuid=B8C1784B459960C53A95519C394A7700
CustomProperties Pin (PinId=CD6595AB4AAB442EE35B7CBFC25BB609,PinName="exec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_0 6F06745641660347F37593B74DEECF1F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5832F75848CA2DF0B26D458D70904493,PinName="InputObject",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CoreUObject.Object"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_0 15ABA2FD4CB6C4C4CFA61FAC683BA11C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1D60A8504059FD5578E71CAAC8E61746,PinName="Is Valid",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_3 B016745B4EAB9237A873EE8BAB79054F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=AC30D2EF4B8FC3899F9B2A83DBE39D76,PinName="Is Not Valid",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_1" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_CallFunction_1"'
bIsPureFunc=True
bIsConstFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',MemberName="K2_GetComponentLocation")
NodePosX=544
NodePosY=576
NodeGuid=0358EBC84E82A12B49C184897327F78F
CustomProperties Pin (PinId=2E3C085B4A759DA0780250BEF86E075D,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nScene Component Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_2 B3353B87423045BF5EF9D18AC21C0589,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5400217048B5315A2D873187187069E6,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nReturn location of the component, in world space",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_2 495CDF164A39EFC52420F5BFC1ED515B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_2" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_CallFunction_2"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.KismetMathLibrary"',MemberName="FindLookAtRotation")
NodePosX=816
NodePosY=544
NodeGuid=DB72C77D4EF19C12D9D0078B9CC409D0
CustomProperties Pin (PinId=BAF60E134AA7E82D49FCC98047CF517E,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nKismet Math Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.KismetMathLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__KismetMathLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=495CDF164A39EFC52420F5BFC1ED515B,PinName="Start",PinToolTip="Start\nVector (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_1 5400217048B5315A2D873187187069E6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=373D7A0445A28E861BD13891775CF1F5,PinName="Target",PinToolTip="Target\nVector (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_4 674B89A04A80B94D3C3EF4864F09D5D1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=CD5D74554D5E600CB97F2BB6657D9391,PinName="ReturnValue",PinToolTip="Return Value\nRotator\n\nFind a rotation for an object at Start location to point at Target location.",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Rotator"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_3 4BB2816044141B8784FB4F92E045DC3A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_3" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_CallFunction_3"'
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',MemberName="K2_SetWorldRotation")
NodePosX=1088
NodePosY=352
AdvancedPinDisplay=Hidden
NodeGuid=95F390984B99E5ECA4B81D900F9D3563
CustomProperties Pin (PinId=B016745B4EAB9237A873EE8BAB79054F,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 1D60A8504059FD5578E71CAAC8E61746,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=22FEC78C4155F3C40A52F0B5CD6E4A65,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=CD4DA2284BCF79CDB3FDAAA14718F5C1,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nScene Component Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 978D297E4275209BA537C1B79172EAA2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4BB2816044141B8784FB4F92E045DC3A,PinName="NewRotation",PinToolTip="New Rotation\nRotator\n\nNew rotation in world space for the component. ",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Rotator"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_2 CD5D74554D5E600CB97F2BB6657D9391,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4A0E8C5D4298A89A5999C5AC512ECD14,PinName="bSweep",PinToolTip="Sweep\nBoolean\n\nWhether we sweep to the destination (currently not supported for rotation). ",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=0865B03F42445B611EF84380305C5876,PinName="SweepHitResult",PinToolTip="Sweep Hit Result\nHit Result Structure\n\nHit result from any impact if sweep is true. ",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/Engine.HitResult"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=9F5F01E84FDE5FBE215C1AB4F2CE0428,PinName="bTeleport",PinToolTip="Teleport\nBoolean\n\nWhether we teleport the physics state (if physics collision is enabled for this object). If true, physics velocity for this object is unchanged (so ragdoll parts are not affected by change in location). If false, physics velocity is updated based on the change in position (affecting ragdoll parts). If CCD is on and not teleporting, this will affect objects along the entire sweep volume.",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_4" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_CallFunction_4"'
bIsPureFunc=True
bIsConstFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.Actor"',MemberName="K2_GetActorLocation")
NodePosX=544
NodePosY=480
NodeGuid=4B2E89F749A6053C26B844B1B546BE2C
CustomProperties Pin (PinId=906BFDAF421F41DD1D8CB6BC7B232EA7,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nActor Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.Actor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_0 15ABA2FD4CB6C4C4CFA61FAC683BA11C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=674B89A04A80B94D3C3EF4864F09D5D1,PinName="ReturnValue",PinToolTip="Return Value\nVector\n\nReturns the location of the RootComponent of this Actor",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Vector"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_2 373D7A0445A28E861BD13891775CF1F5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_0" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_Knot_0"'
NodePosX=944
NodePosY=288
NodeGuid=0BE53424434D894F747682919F4D4014
CustomProperties Pin (PinId=866CE3DD43A5BC953FDB5593B23888A7,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_1 07B37604454F57CA7F90C785680CEF91,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=978D297E4275209BA537C1B79172EAA2,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_3 CD4DA2284BCF79CDB3FDAAA14718F5C1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_1" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_Knot_1"'
NodePosX=-144
NodePosY=288
NodeGuid=FADE03B64369540438FE77AAE83ADF6A
CustomProperties Pin (PinId=D817DA194A9965A7EF919BA8C1BE7340,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Event_2 0B845C03499F0BBE67C9E691AC58599D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=07B37604454F57CA7F90C785680CEF91,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 866CE3DD43A5BC953FDB5593B23888A7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableSet Name="K2Node_VariableSet_0" ExportPath=/Script/BlueprintGraph.K2Node_VariableSet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableSet_0"'
VariableReference=(MemberName="Camera Component",MemberGuid=714A37E34FB324FD2C05DEBC1B29507D,bSelfContext=True)
NodePosX=-128
NodePosY=384
NodeGuid=0B50AFDA44E66C048BAAA1B2143A38B1
CustomProperties Pin (PinId=BC49A7BB4E27AAF90080FC9E9A849132,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Event_2 BE7177D54CBF6ACA286B63BF5755EB35,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=85BC16284B5BC5C7DF5D679766E2D4CE,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_0 7B4591D94B23EF21B85C0496FE7A752E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=33D57DC747AB8CAA438793AEE00546B1,PinName="Camera Component",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Event_2 0B845C03499F0BBE67C9E691AC58599D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=CCC11AE44E7477377FA473B037873196,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=29B01AE94EAA0E8BD146CAB77401113A,PinName="Output_Get",PinToolTip="Retrieves the value of the variable, can use instead of a separate Get node",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_1" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableGet_1"'
VariableReference=(MemberName="ShouldLookAt",MemberGuid=93C2D2AA4B957A78A74C3E88BB23AD04,bSelfContext=True)
NodePosX=-48
NodePosY=528
NodeGuid=C908343A44AA1AAFE00E95BC4559189A
CustomProperties Pin (PinId=B3EC71C14EEC610F7AFB6283D70D5523,PinName="ShouldLookAt",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",LinkedTo=(K2Node_IfThenElse_0 44841FEA41CBA64B59A936A4DE4117B3,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=425398A64D13B284A49A86856C4CC38E,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_IfThenElse Name="K2Node_IfThenElse_0" ExportPath=/Script/BlueprintGraph.K2Node_IfThenElse'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_IfThenElse_0"'
NodePosX=144
NodePosY=368
NodeGuid=61D528754E264C99EB8AEFB90F20BC81
CustomProperties Pin (PinId=7B4591D94B23EF21B85C0496FE7A752E,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableSet_0 85BC16284B5BC5C7DF5D679766E2D4CE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=44841FEA41CBA64B59A936A4DE4117B3,PinName="Condition",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="true",AutogeneratedDefaultValue="true",LinkedTo=(K2Node_VariableGet_1 B3EC71C14EEC610F7AFB6283D70D5523,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6F06745641660347F37593B74DEECF1F,PinName="then",PinFriendlyName=NSLOCTEXT("K2Node", "true", "true"),Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 CD6595AB4AAB442EE35B7CBFC25BB609,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=10E21F5C46751E7D599D5D8A5B00C7AD,PinName="else",PinFriendlyName=NSLOCTEXT("K2Node", "false", "false"),Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_5 C63C94B946FD2603CC6D7AAF02A6A2B5,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_2" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableGet_2"'
VariableReference=(MemberName="Camera Component",MemberGuid=714A37E34FB324FD2C05DEBC1B29507D,bSelfContext=True)
NodePosX=112
NodePosY=752
NodeGuid=AC4753AF4C17C44529D927AB98D438D6
CustomProperties Pin (PinId=CEDA0B21483111068A408DB7F3ED2799,PinName="Camera Component",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_5 37D91B1B4CA33F53FD1CE6ABF19E9CB7,K2Node_CallFunction_6 E673A28B4FF0A12DC1DE32B5FBEB93DE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9F09568C4E40092785857DA0DAC5DD61,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_5" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_CallFunction_5"'
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',MemberName="K2_SetWorldRotation")
NodePosX=544
NodePosY=704
AdvancedPinDisplay=Hidden
NodeGuid=01F9CD8548AE3030F3138D8363DE7A0B
CustomProperties Pin (PinId=C63C94B946FD2603CC6D7AAF02A6A2B5,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_0 10E21F5C46751E7D599D5D8A5B00C7AD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A642D4AC4013A546A48AE3A1D8B94D3D,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=37D91B1B4CA33F53FD1CE6ABF19E9CB7,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_2 CEDA0B21483111068A408DB7F3ED2799,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D41E000F4F57269B3B4F21A340A5F301,PinName="NewRotation",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Rotator"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_6 2C5F75DA441B31A0F961CABAE26DB682,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=7444268A4591D152B547D580B94BF549,PinName="bSweep",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=688ADCFF46C42C423A846986D4E9DB4D,PinName="SweepHitResult",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/Engine.HitResult"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=D9DCE7A943EDF7DCB02135BD56FFADCA,PinName="bTeleport",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_6" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_CallFunction_6"'
bIsPureFunc=True
bIsConstFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',MemberName="K2_GetComponentRotation")
NodePosX=304
NodePosY=800
NodeGuid=BC722671428BFFBAA7B87C942E9CD6BE
CustomProperties Pin (PinId=E673A28B4FF0A12DC1DE32B5FBEB93DE,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.SceneComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_2 CEDA0B21483111068A408DB7F3ED2799,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=2C5F75DA441B31A0F961CABAE26DB682,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.Rotator"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0, 0, 0",AutogeneratedDefaultValue="0, 0, 0",LinkedTo=(K2Node_CallFunction_5 D41E000F4F57269B3B4F21A340A5F301,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_2" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_Knot_2"'
NodePosX=-160
NodePosY=624
NodeGuid=0F54C22B400BB621B6758698D4F44DE8
CustomProperties Pin (PinId=BCE50B344F1958EF7DB50EA8116CCD27,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Event_2 0B845C03499F0BBE67C9E691AC58599D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B3353B87423045BF5EF9D18AC21C0589,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CinematicCamera.CineCameraComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_1 2E3C085B4A759DA0780250BEF86E075D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
上のブループリントのコードをコピーして VCM_LookAt モディファイアに直接貼り付け、自分のプロジェクトで上記のグラフを再現します。
拡張入力を使用する
バーチャル カメラのモディファイアでは、VCam オペレーターよる追加制御を可能にする 拡張入力アクション を使用できます。このセクションでは、これらの拡張入力アクションを使用して、VCM_LookAt モディファイア ブループリントで設定したキー押下ロジックを制御し、バーチャル カメラのオブジェクト トラッキングのオン/オフを切り替えます。つまり、ステージ オペレーターがキーボードのキーを押してこの機能を使用することができます。
入力アクションを作成する
拡張入力アクションを使用するには、入力アクション と 入力マッピング コンテキスト の 2 つのアセットが必要です。これらのアセットは、押されたキーと VCM_LookAt モディファイア ブループリントで設定されたロジックを接続するために使用されます。
入力アクションおよび入力マッピング コンテキストを作成するには、次の手順を実行します。
-
コンテンツ ブラウザで、[+ Add] > [Input (入力)] をクリックし、次の 2 つのアイテムを追加します。
- 入力アクション。「IA_ToggleActivation」という名前を付けます。
- 入力マッピング コンテキスト。「IMC_LookAt」という名前を付けます。
-
IMC_LookAt 入力マッピング コンテキスト アセットを開きます。
-
[Details] パネルで、[Mappings (マッピング)] の横にある [+ Add] アイコンをクリックし、新しい 入力アクション 要素を配列に追加します。プロパティを展開し、このセクションの最初のステップで作成した IA_ToggleActivation 入力アクションを選択します。
-
IA_ToggleActivation 要素で、キーボード アイコンの横にあるドロップダウンを使用して、この入力アクションのデフォルト キーとして S キーを割り当てます。
- キー押下割り当てのプロパティを展開し、Is Player Mappable の横にあるチェックボックスをオンにします
-
[Player Mappable Options] のプロパティを展開し、[Name] テキスト フィールドに「IA_ToggleActivation」と入力します。
入力マッピング コンテキスト アセットの設定方法の詳細については、「Enhanced Input」を参照してください。
入力アクションをモディファイア ブループリントに割り当てる
このパートでは、前のセクションで作成した入力マッピング コンテキストを VCM_LookAt モディファイア ブループリントとともに使用します。これを VCM_LookAt に割り当て、オブジェクト トラッキングがどの状態にあるかを処理するための追加ロジックを設定します。
入力アクションをモディファイア ブループリントに割り当てるには、次の手順を実行します。
- このページの モディファイア ブループリントを作成する セクションで先ほど作成した VCM_LookAt モディファイア ブループリントを開きます。
-
ブループリントのツールバーの [Class Defaults (クラスのデフォルト)] を選択します。
-
[Details] ペインの [VCam Input (VCam 入力)] カテゴリで、IMC_LookAt アセットを [Input Mapping Context (入力マッピング コンテキスト)] 割り当てスロットに割り当てます。
- イベント グラフ で右クリックし、[Enhanced Action Input (拡張アクション入力)] の下にある IA_ToggleActivation ノードを検索して追加します。このイベントは、作成した IA_ToggleActivation 入力アクションにちなんだ名前が付いています。
- [My Blueprint] パネルの [Variables] カテゴリで ShouldLookAt 変数をグラフにドラッグし、リストから Get ShouldLookAt を選択します。
- ShouldLookAt ブールからドラッグし、Branch ノードを追加します。
- Enhanced Action Events IA_ToggleActivation イベント ノードの Triggered ピンをドラッグし、Branch ノードにつなげます。
- [My Blueprint] パネルの [Variables] カテゴリから、ShouldLookAt 変数をグラフにドラッグし、Set ShouldLookAt を選択します。
- Set ShouldLookAt ノードで、ShouldLookAt ブールの横のチェックボックスをオフにします。これを 2 回実行して、Set ShouldLookAt ノードを 2 つ作成します。
- Branch ノードの True ピンからドラッグし、一方の Set ShouldLookAt ノードの入力につなげます。
- Branch ノードの False ピンからドラッグし、もう一方の Set ShouldLookAt ノードの入力につなげます。
-
Branch ノードの True パスに接続された Set ShouldLook ノードで、入力ピン Should Look At のチェックボックスをオンにします。
- コンパイル して 保存 します。
以上の手順を完了すると、IMC_LookAt 入力マッピング コンテキスト アセットが VCM_LookAt に割り当てられます。また、IA_ToggleActivation 入力アクションの状態が True であるか False であるかを判断するロジックも追加されました。
この時点で、グラフは次のようになります。
新しいイベントとロジックは、次のようになります。
Begin Object Class=/Script/InputBlueprintNodes.K2Node_EnhancedInputAction Name="K2Node_EnhancedInputAction_0" ExportPath=/Script/InputBlueprintNodes.K2Node_EnhancedInputAction'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_EnhancedInputAction_0"'
InputAction=/Script/EnhancedInput.InputAction'"/Game/VCamComponentSetup/IA_ToggleActivation.IA_ToggleActivation"'
NodePosX=-400
NodePosY=992
AdvancedPinDisplay=Hidden
NodeGuid=3A67269B4A3FE05C417F7BB9E50114ED
CustomProperties Pin (PinId=5F5BF46C42CE8A3A1E29D393BD7310D4,PinName="Triggered",PinToolTip="Triggering occurred after one or more processing ticks",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_2 CE1D444D42E19EF59733E3B380975B0A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=FAF365714FECF4180224099B2D1E96BC,PinName="Started",PinToolTip="An event has occurred that has begun Trigger evaluation. Note: Triggered may also occur this frame.",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D81142744792EAFDC3C66BBAEEFAA227,PinName="Ongoing",PinToolTip="Triggering is still being processed",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=027FB6BC4988818FE13A04BC4D5FA000,PinName="Canceled",PinToolTip="Triggering has been canceled",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=23FD0CAB49FCFA0132007CA8C1F55796,PinName="Completed",PinToolTip="The trigger state has transitioned from Triggered to None this frame, i.e. Triggering has finished.\nNOTE: Using this event restricts you to one set of triggers for Started/Completed events. You may prefer two actions, each with its own trigger rules.\nTODO: Completed will not fire if any trigger reports Ongoing on the same frame, but both should fire. e.g. Tick 2 of Hold (= Ongoing) + Pressed (= None) combo will raise Ongoing event only.",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1520E3434EB28C7E01A730889E0A74BD,PinName="ActionValue",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C5D7C4194A119B453A9290B12664A8A9,PinName="ElapsedSeconds",Direction="EGPD_Output",PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=BE8DD63A480DAFB812F088A1737CFCD6,PinName="TriggeredSeconds",Direction="EGPD_Output",PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
CustomProperties Pin (PinId=238B8CD84D6E766F912ABFA34B607963,PinName="InputAction",PinToolTip="Input Action\nInput Action Object Reference\n\nThe input action that caused this event to fire",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputAction"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="IA_ToggleActivation",DefaultObject="/Game/VCamComponentSetup/IA_ToggleActivation.IA_ToggleActivation",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_6" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableGet_6"'
VariableReference=(MemberName="ShouldLookAt",MemberGuid=93C2D2AA4B957A78A74C3E88BB23AD04,bSelfContext=True)
NodePosX=-32
NodePosY=1088
NodeGuid=F48122854388DA73AB8194BFBA4A6161
CustomProperties Pin (PinId=FD3352CF484E87BC61F632B1636A26FB,PinName="ShouldLookAt",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",LinkedTo=(K2Node_IfThenElse_2 6C1FF80F4BB139F4CE7F19AC768F4E6E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=95AED2D147C1EB6B465673BE12BED4C5,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_IfThenElse Name="K2Node_IfThenElse_2" ExportPath=/Script/BlueprintGraph.K2Node_IfThenElse'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_IfThenElse_2"'
NodePosX=176
NodePosY=992
NodeGuid=DA25384E420F1DAD2F3190A11A492D6B
CustomProperties Pin (PinId=CE1D444D42E19EF59733E3B380975B0A,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_EnhancedInputAction_0 5F5BF46C42CE8A3A1E29D393BD7310D4,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6C1FF80F4BB139F4CE7F19AC768F4E6E,PinName="Condition",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="true",AutogeneratedDefaultValue="true",LinkedTo=(K2Node_VariableGet_6 FD3352CF484E87BC61F632B1636A26FB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=283698744449019BBB1BA9BCEE134650,PinName="then",PinFriendlyName=NSLOCTEXT("K2Node", "true", "true"),Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableSet_4 A9BE459942046FE6E2C0DAADB509EF86,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=61F861C64AC524625EF10BAFA8E7B41D,PinName="else",PinFriendlyName=NSLOCTEXT("K2Node", "false", "false"),Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableSet_3 A9BE459942046FE6E2C0DAADB509EF86,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableSet Name="K2Node_VariableSet_4" ExportPath=/Script/BlueprintGraph.K2Node_VariableSet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableSet_4"'
VariableReference=(MemberName="ShouldLookAt",MemberGuid=93C2D2AA4B957A78A74C3E88BB23AD04,bSelfContext=True)
NodePosX=480
NodePosY=1008
NodeGuid=56F54F7B4B4BEBCE2AA9A6BABD40D437
CustomProperties Pin (PinId=A9BE459942046FE6E2C0DAADB509EF86,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_2 283698744449019BBB1BA9BCEE134650,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C7DEC73343C28BB71230C384CC4E5B46,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5A464E9D4640E23BEBA168BBAF589040,PinName="ShouldLookAt",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="true",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D07515604D8BC4037F9E28BD79B98243,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4101688340A6705E0B0C2D89CFC8B2C3,PinName="Output_Get",PinToolTip="Retrieves the value of the variable, can use instead of a separate Get node",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableSet Name="K2Node_VariableSet_3" ExportPath=/Script/BlueprintGraph.K2Node_VariableSet'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt:EventGraph.K2Node_VariableSet_3"'
VariableReference=(MemberName="ShouldLookAt",MemberGuid=93C2D2AA4B957A78A74C3E88BB23AD04,bSelfContext=True)
NodePosX=480
NodePosY=1120
NodeGuid=CF80F05A43AC9E639B73BEB3CAFA668F
CustomProperties Pin (PinId=A9BE459942046FE6E2C0DAADB509EF86,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_2 61F861C64AC524625EF10BAFA8E7B41D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C7DEC73343C28BB71230C384CC4E5B46,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5A464E9D4640E23BEBA168BBAF589040,PinName="ShouldLookAt",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4101688340A6705E0B0C2D89CFC8B2C3,PinName="Output_Get",PinToolTip="Retrieves the value of the variable, can use instead of a separate Get node",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D07515604D8BC4037F9E28BD79B98243,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/VCM_LookAt.VCM_LookAt_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
上のブループリントのコードをコピーして VCM_LookAt モディファイアに直接貼り付け、自分のプロジェクトで上記のグラフを再現します。
この特定の設定では、ビューポートがフォーカスされていないときでも、「S」キーが押されればいつでも入力システムが実行されることに注意してください。これにより、別のユーザーが別の目的でそのキーを押した場合に競合が生じることがあります。たとえば、別のユーザーがコンテンツ ブラウザ内でアセットの名前を変更して「s」の文字を使用した場合は、イベントが実行されます。
出力プロバイダをバーチャル カメラに追加する
出力プロバイダ システムでは、ビューポート、リモート セッション プロトコルを使用するデバイスなど、さまざまなプロバイダに VCam コンポーネントの出力を再ルーティングします。各バーチャル カメラに複数の出力プロバイダを使用することができるため、各バーチャル カメラがスタックにリストされた順番で実行されます。
このパートでは、初期設定を行い、どのタイプの出力プロバイダを使用するかを選択します。
出力プロバイダの初期設定
出力プロバイダをバーチャル カメラに追加するには、次の手順を実行します。
- レベルで、Virtual Camera アクタを選択します。
-
[Details] ペインで、[Components (コンポーネント)] 階層を見つけ、VCam コンポーネントを選択します。
-
[Output Providers] 配列を見つけ、[+ Add] アイコンをクリックして新しい要素を追加し、[Output Providers] リストからプロバイダを選択します。配列に追加されると、各タイプの出力プロバイダの設定が、その要素の下に表示されます。次の選択肢から選択します。
-
[Output] プロパティの横にある [Is Active] チェックボックスをオンにします。
すべての出力プロバイダの設定が同じというわけではありません。バーチャル カメラで動作するために必要な各出力プロバイダの詳細と追加設定については、以下のセクションを参照してください。
このガイドでは、必要な iOS デバイスと Live Link VCam アプリの使用を含め、例として Pixel Streaming 出力プロバイダを使用します。
ビューポート出力プロバイダを設定する
ビューポート出力プロバイダ のプロパティのリストは次のとおりです。
ビューポート出力プロバイダのプロパティについては、このページの「ビューポート出力プロバイダ」セクションを参照してください。
このプロバイダはバーチャル カメラの現在のビューを取得し、レベル エディタのメイン ビューポートに直接出力します。また、以下の例のように、UMG ウィジェットを画面に表示することもできます。出力プロバイダにウィジェットを追加するには、UMG Overlay プロパティを使用します。サンプル アセット TestUMG を使用して、画面上に表示された実例を見ることができます。
Pixel Streaming 出力プロバイダを設定する
この出力プロバイダには、Live Link VCAM アプリを実行しているサポート対象の iOS デバイスが必要です。
Pixel Streaming 出力プロバイダ のプロパティのリストは次のとおりです。
プロパティについては、このページの「Pixel Streaming 出力プロバイダ」セクションを参照してください。
Pixel Streaming 出力プロバイダを設定すると、共有ネットワーク上の iOS デバイスで Live Link VCAM アプリを使用して、レベル エディタのビューポートに接続し、バーチャル カメラを制御することができます。設定方法と iOS デバイスからエディタへの接続に関する詳細なウォークスルーについては、「Live Link を使用して Virtual Camera アクタを制御する」を参照してください。
Unreal Remote 出力プロバイダを設定する
この出力プロバイダには、Live Link VCAM アプリを実行しているサポート対象の iOS デバイスが必要です。
Unreal Remote 出力プロバイダ のプロパティのリストは次のとおりです。
プロパティについては、このページの「Unreal Remote 出力プロバイダ」セクションを参照してください。
この出力プロバイダは、接続を確立するために、Unreal Engine のプロジェクト設定および Live Link VCAM アプリでの追加設定が必要です。
Unreal Engine の設定:
- Unreal Engine で [Project Settings (プロジェクト設定)] を開きます。
-
[Plugins (プラグイン)] カテゴリの [UDP Message (UDP メッセージ)] セクションに移動して、コンピュータの IP アドレスの末尾にポート番号を表す「:0」を加えたものを [Unicast Endpoint (ユニキャスト エンドポイント)] に設定します。たとえば、10.0.0.0:0 といった形式になります。
-
[Project Settings] の [Engine] > [Rendering (レンダリング)] カテゴリで、[Default Settings (デフォルト設定)] に移動し、ドロップダウン選択を使用して [Frame Buffer Pixel Format] プロパティを [8bit RGBA] に設定します。
- これらの変更内容を反映するためにエディタを再起動します。
Live Link VCAM アプリを使用した iOS デバイスの設定:
- iOS デバイスで Live Link VCAM アプリを起動します。
- 画面右下の ギア アイコンをクリックし、[Settings (設定)] を開きます。
-
[Connection Type (接続タイプ)] を [Remote Session (リモート セッション)] に変更します。
- 同一の共有ネットワーク上で接続したいコンピュータの IP アドレス を入力します。
- [Connect (接続)] を押します。
Live Link VCAM アプリが Unreal Editor セッションに接続し、iOS デバイスの画面にエディタのビューポートがミラーリングされます。
メディア出力プロバイダを設定する
この出力プロバイダには、Unreal Media Framework がサポートするデバイスへの出力が必要です。
メディア出力プロバイダ のプロパティのリストは次のとおりです。
プロパティについては、このページの「メディア出力プロバイダ」セクションを参照してください。
メディア出力プロバイダを設定するには、[Output Config (出力設定)] 割り当てスロットを使用してください。
Unreal Media Framework の使用方法の詳細については、「Media Framework」を参照してください。
Composure 出力プロバイダを設定する
Composure Composure プラグインを有効化する必要があります。
Composure 出力プロバイダ のプロパティのリストは次のとおりです。
プロパティについては、このページの「Composure 出力プロバイダ」セクションを参照してください。
[Layer Targets] 配列を使用して、バーチャル カメラのビューをレンダリングするレンダー ターゲットを追加できます。Composure プラグインおよびレイヤー ターゲットの使用方法の詳細については、「Composure プラグイン」を参照してください。
接続ポイントを使用して入力アクションを渡す
モディファイア接続ポイントは実験的機能です。
このガイドの 拡張入力を使用する セクションでは、VCam Widget ブループリントなどの他のブループリントにモディファイアを介して渡すことができる入力アクション (IA_ToggleActivation) を作成しました。接続ポイント を使用して、この入力を渡すことができます。
このパートでは、以下を実行します。
- モディファイア ブループリントに接続ポイントを追加します。
- ボタンおよびロジックを含む VCam ウィジェットを作成します。
- HUD を作成して接続ポイントを管理します。
接続ポイントをモディファイアに追加する
接続ポイントをモディファイア ブループリントに追加するには、次の手順を実行します。
- VCM_LookAt モディファイア ブループリントを開きます。
-
ブループリント ツールバーの [Class Defaults] をクリックします。
-
[Details] パネルの [VCam Connection Points (VCam 接続ポイント)] カテゴリで、[Connection Points (接続ポイント)] を展開し、[+ Add] アイコンをクリックして、新しい要素を追加します。この要素に「ToggleActivation」という名前を付けます。
-
ToggleActivation 要素のプロパティを展開し、IA_ToggleActivation 入力アクション アセットを [Associated Action (関連付けられたアクション)] 割り当てスロットに割り当てます。
- コンパイル して 保存 します。
VCam ウィジェットを作成し、初期設定を行う
このセクションでは、VCam Widget アセットを使用して、バーチャル カメラによるオブジェクト トラッキングのオン/オフを切り替えるために使用するボタンを作成します。UMG ウィジェットとは異なり、VCam ウィジェットには、入力を受け入れて、モディファイア接続ポイントへの接続を定義する機能があります。
VCam ウィジェットを作成するには、次の手順を実行します。
-
コンテンツ ブラウザで、[+ Add] > [VCam] をクリックし、VCam Widget アセットを追加します。ウィジェットに「VCW_ConnectionButton」という名前を付けます。
入力マッピング コンテキスト の入力を促すポップアップ ウィンドウが表示されます。[Skip (スキップ)] をクリックすると、ブループリントが開きます。
- VCW_ConnectionButton ブループリントを開きます。
-
[Library (ライブラリ)] パネルを選択し、[Common (共通)] カテゴリで [Button (ボタン)] をデザイナーのグラフにドラッグします。
-
[Hierarchy (階層)] パネルで、ボタンの名前を「Button」に変更します。
-
VCam Widget ブループリントの右上で、[Graph (グラフ)] をクリックして、ブループリント スクリプトの編集モードを開きます。
- ブループリントのツールバーの [Class Defaults (クラスのデフォルト)] を選択します。
-
[Details] パネルで、[VCam Connection (VCam 接続)] カテゴリに移動して、[Connection (接続)] を展開し、[+ Add] アイコンをクリックして、新しい要素を追加します。要素に「Button」という名前を付けます。
-
Button 接続要素のプロパティを展開し、プロパティを次のように設定します。
- [Requires Input Action (入力アクションが必要)] をオンにします。
- [Action Type (アクション タイプ)] を [Digital (bool)] に設定します。
- コンパイル して 保存 します。
これで、Button ウィジェットを含む VCW_ConnectionButton という名前の VCam ウィジェットを作成できました。
VCam ウィジェット ブループリント ロジックを作成する
前のセクションで設定した VCam Widget ボタンを使用して、VCam Widget ブループリントにスクリプト化されたロジックを追加して、ボタン ウィジェットがモディファイア ブループリント (VCM_LookAt) とどのように相互作用するかを制御できます。
VCam ウィジェットのブループリント ロジックを追加するには、次の手順を実行します。
- [Graph] モードで、[My Blueprint] > [Variables] に移動し、Button 変数を選択します。
-
[Details] パネルで [Events (イベント)] カテゴリを展開し、On Clicked の横にある [+ Add] ボタンをクリックしてグラフにこのイベントを 1 つ追加します。
- イベント グラフ内で右クリックし、[VCam Connections (VCam 接続)] カテゴリから Get Connections 変数を追加します。
- Get Connections 変数からドラッグし、Find ノードを追加します。Key Name テキスト フィールドの入力を「Button」に設定します。これは、先ほど作成した接続の名前に一致します。
- Find ノードの 青 の出力ピンからドラッグし、Get Connected Modifier ノードを追加します。
- Get Connected Modifier ノードの Return Value からドラッグし、Get Owning VCam Component ノードを追加します。
- Get Owning VCam Component ノードの Return Value からドラッグし、Inject Input for Action ノードを追加します。
- Inject Input for Action ノードで、以下を実行します。
- Raw Value 入力を右クリックし、[Split Struct Pin (構造体ピンを分割)] を選択して X、Y、Z 値の個別の入力を表示します。
- Raw Value X を「1」に設定します。これにより、ボタンが押されると、入力アクションは True に一致する値を受け取り、ハードウェア ボタンが押された場合と同じ状態になります。
- [Raw Value Type (Raw 値の型)] のドロップダウン選択を [Digital (bool)] に設定します。
- Find ノードの 青 のピンからドラッグし Get Connected Input Action ノードを追加します。
- Get Connected Input Action ノードの Return Value からドラッグして、Inject Input for Action ノードの Action 入力につなげます。
- コンパイル して 保存 します。
完了すると、VCW_ConnectionButton VCam Widget ブループリント グラフは次のようになります。
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_VariableGet_0"'
VariableReference=(MemberName="Connections",bSelfContext=True)
NodePosX=240
NodePosY=816
NodeGuid=6816BABF4D1832E57B8C8D94E853EF3A
CustomProperties Pin (PinId=6665757543AA8F032D717AB506E3697B,PinName="Connections",PinFriendlyName=NSLOCTEXT("", "BBE4BDE0420406B4812E148D74E6791F", "Connections"),Direction="EGPD_Output",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(TerminalCategory="struct",TerminalSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"'),PinType.ContainerType=Map,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_0 CD841974480A3234F06102A9F2C37A90,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9A32C7E64734B8CB07E22282E1159E1F,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamWidget"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_0" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_0"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.BlueprintMapLibrary"',MemberName="Map_Find")
NodePosX=400
NodePosY=816
NodeGuid=54A785EF409B4E149CFA40BF1021730A
CustomProperties Pin (PinId=9403039A440948E928EBBA8B85FF0B99,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.BlueprintMapLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__BlueprintMapLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=CD841974480A3234F06102A9F2C37A90,PinName="TargetMap",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(TerminalCategory="struct",TerminalSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"'),PinType.ContainerType=Map,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_0 6665757543AA8F032D717AB506E3697B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B6C368CF43063A43DC01969090B92969,PinName="Key",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0674EB8C414CBF6BE64EE583C4C91411,PinName="Value",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_1 5A7B7C3C4D1F9BC0814DB68621177BA6,K2Node_CallFunction_5 6049632247ABC8B992E2F6837E6F2F8A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=81C4532346335506EDA911A43A28964A,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_1" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_1"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',MemberName="GetConnectedModifier_VCamConnection")
NodePosX=640
NodePosY=800
NodeGuid=03F2B4F14577B8303BFF4393E42E9C36
CustomProperties Pin (PinId=10DCF4AB428E0C5BA9192494CF4CD8E7,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/VCamCore.Default__VCamUIFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5A7B7C3C4D1F9BC0814DB68621177BA6,PinName="Connection",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_0 0674EB8C414CBF6BE64EE583C4C91411,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DC1439554476C557EFE053B26D47C64B,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_2 5E3A5B9A49C511F4949A0DB9DE259437,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_2" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_2"'
bIsPureFunc=True
bIsConstFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',MemberName="GetOwningVCamComponent")
NodePosX=896
NodePosY=784
NodeGuid=07EB4E2641F873455C86BCBCC382FEF6
CustomProperties Pin (PinId=5E3A5B9A49C511F4949A0DB9DE259437,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_1 DC1439554476C557EFE053B26D47C64B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1410A3284215DD1C8F70F88B6D08F9AC,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_3 065D015641B7111904E6ABA9B184F0FF,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_3" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_3"'
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/VCamCore.VCamComponent"',MemberName="InjectInputForAction")
NodePosX=1200
NodePosY=672
NodeGuid=3CA7E3A74FB6D55CF0311CA706766448
CustomProperties Pin (PinId=473E74084CF3B071289864A65E0B5BBB,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_ComponentBoundEvent_0 F3BA0F304E25E2CC6FEE729980368545,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E4D8BE204AAB097F6CEC23BD197C29F8,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=065D015641B7111904E6ABA9B184F0FF,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamComponent"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_2 1410A3284215DD1C8F70F88B6D08F9AC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=491995FF4AE19F4FCD8F86BD231EAFC2,PinName="Action",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputAction"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 52F14A1F4CD28370A2657F8FD9F64B50,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=1D23409C4F48419CD15330801BB57889,PinName="RawValue",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/EnhancedInput.InputActionValue"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,SubPins=(K2Node_CallFunction_3 AB503D1F4FAF4EFA06D03CA59BDB2E63,K2Node_CallFunction_3 4CFD161A41A847A24D7AC4ABB5BA0977,K2Node_CallFunction_3 20B2D82246BC6C7925327CA5F033EC45,K2Node_CallFunction_3 9466186E4DF73D9C0F365A8999E08A1C,),PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=AB503D1F4FAF4EFA06D03CA59BDB2E63,PinName="RawValue_X",PinFriendlyName=LOCGEN_FORMAT_NAMED(NSLOCTEXT("KismetSchema", "SplitPinFriendlyNameFormat", "{PinDisplayName} {ProtoPinDisplayName}"), "PinDisplayName", NSLOCTEXT("", "B9DDF45245FC46234AEDC88BF9E78A1B", "Raw Value"), "ProtoPinDisplayName", NSLOCTEXT("", "8DBDB37D4358154F839239B6B8D4E0C9", "X")),PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="1.000000",AutogeneratedDefaultValue="0.0",ParentPin=K2Node_CallFunction_3 1D23409C4F48419CD15330801BB57889,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4CFD161A41A847A24D7AC4ABB5BA0977,PinName="RawValue_Y",PinFriendlyName=LOCGEN_FORMAT_NAMED(NSLOCTEXT("KismetSchema", "SplitPinFriendlyNameFormat", "{PinDisplayName} {ProtoPinDisplayName}"), "PinDisplayName", NSLOCTEXT("", "1747BE2243B925085EA14482781B2689", "Raw Value"), "ProtoPinDisplayName", NSLOCTEXT("", "258A4EBF4041BA9A762304BA77159A10", "Y")),PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",ParentPin=K2Node_CallFunction_3 1D23409C4F48419CD15330801BB57889,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=20B2D82246BC6C7925327CA5F033EC45,PinName="RawValue_Z",PinFriendlyName=LOCGEN_FORMAT_NAMED(NSLOCTEXT("KismetSchema", "SplitPinFriendlyNameFormat", "{PinDisplayName} {ProtoPinDisplayName}"), "PinDisplayName", NSLOCTEXT("", "CEC12D0E45B31E123711DDB0D83C7C2A", "Raw Value"), "ProtoPinDisplayName", NSLOCTEXT("", "F08123A042E3AEFBA216C48368958781", "Z")),PinType.PinCategory="real",PinType.PinSubCategory="double",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="0.0",AutogeneratedDefaultValue="0.0",ParentPin=K2Node_CallFunction_3 1D23409C4F48419CD15330801BB57889,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9466186E4DF73D9C0F365A8999E08A1C,PinName="RawValue_ValueType",PinFriendlyName=LOCGEN_FORMAT_NAMED(NSLOCTEXT("KismetSchema", "SplitPinFriendlyNameFormat", "{PinDisplayName} {ProtoPinDisplayName}"), "PinDisplayName", NSLOCTEXT("", "F601CFA243F306F602D76FA23AE3B5EE", "Raw Value"), "ProtoPinDisplayName", NSLOCTEXT("", "AEEA947D4CCC24C94F83178342694648", "Value Type")),PinType.PinCategory="byte",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Enum'"/Script/EnhancedInput.EInputActionValueType"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="Boolean",ParentPin=K2Node_CallFunction_3 1D23409C4F48419CD15330801BB57889,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=A8CA3BB3404C67CFE67ACCB386DE71C6,PinName="Modifiers",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=Array,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=5202738E4817A5A0BD7379BD2CEEEFE9,PinName="Triggers",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputTrigger"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=Array,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_5" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_5"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',MemberName="GetConnectedInputAction_VCamConnection")
NodePosX=656
NodePosY=896
NodeGuid=F9519C8F4BBB59594A89D79C0DDB1E9B
CustomProperties Pin (PinId=C7DA6746416F61B9F214C0953D9BDE1E,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/VCamCore.Default__VCamUIFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6049632247ABC8B992E2F6837E6F2F8A,PinName="Connection",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_0 0674EB8C414CBF6BE64EE583C4C91411,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0BB4A7074889FB8B9A8D0B9B0A3B6F50,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputAction"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 E2F1939F479DF2FAAE21A485897ED4B1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_0" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Knot_0"'
NodePosX=1104
NodePosY=928
NodeGuid=A067B247408BB9A8704CC188B2A11C26
CustomProperties Pin (PinId=E2F1939F479DF2FAAE21A485897ED4B1,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputAction"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_5 0BB4A7074889FB8B9A8D0B9B0A3B6F50,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=52F14A1F4CD28370A2657F8FD9F64B50,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/EnhancedInput.InputAction"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_3 491995FF4AE19F4FCD8F86BD231EAFC2,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
上のブループリントのコードをコピーして VCM_LookAt モディファイアに直接貼り付け、自分のプロジェクトで上記のグラフを再現します。
HUD を作成して接続を管理する
このセクションでは、前のセクションで作成した Button VCam ウィジェットを使用する新しい VCam ウィジェットを作成します。このウィジェットは、このガイドの前半で作成したモディファイア ブループリントで設定したバーチャル カメラによるオブジェクト トラッキング動作の状態の切り替えを設定するクリック可能なボタンを表示するために使用します。
HUD を作成するには、次の手順を実行します。
-
コンテンツ ブラウザで、[+ Add] > [VCam] をクリックし、VCam Widget アセットを追加します。ウィジェットに「VCW_ConnectionHUD」という名前を付けます。
入力マッピング コンテキスト の入力を促すポップアップ ウィンドウが表示されます。[Skip (スキップ)] をクリックすると、ブループリントが開きます。
- VCW_ConnectionHUD を開きます。
-
[Library] パネルの 検索ボックス で、「VCW_ConnectionButton」と入力しますVCam ウィジェットを作成する セクションで作成したものと同じ名前の VCam ウィジェットが表示されます。
- [Library] パネルから VCW_ConnectionButton を [Hierarchy] パネルにドラッグします。
-
[Hierarchy] パネルで VCW_ConnectionButton ウィジェットを右クリックし、[Wrap with (次でラップ)] に進み、ブレイクアウト リストから [Canvas Panel (キャンバス パネル)] を追加します。
[Canvas (キャンバス)] パネルでラップするのは、HUD が画面全体を占めるボタンになるのを防止するためです。
-
[Details] パネルの [VCam Connection] カテゴリで、[Connection Points] > [Button (ボタン)] を展開します。
-
[Manually Configure Connection (接続を手動で設定する)] の横にあるチェックボックスをオンにします。[Connection Target Settings (接続ターゲット設定)] という新しい拡張可能なカテゴリが表示されます。
-
[Connection Target Settings (接続ターゲット設定)] を展開し、以下を設定します。
- [Target Modifier Name (ターゲット モディファイア名)] を「LookAt」に設定します。
- [Target Connection Point (ターゲット接続ポイント)] [ToggleActivation] に設定します。
- ブループリントを 保存 して コンパイル します。
これで、状態を設定するロジックを備える Button VCam ウィジェットを表示するための、HUD 用の VCam Widget ブループリントを作成できました。
デフォルトでは、ボタンを追加し、キャンバス パネルにラップすると、画面の左上に配置されます。VCam ウィジェットの デザイナー でこのボタンを移動する場合は、ボタンをクリックしてキャンバスの別の場所にドラッグすると、画面の別の場所に表示することができます。また、このボタンの機能をさらに明確にしたい場合は、[Hierarchy] パネルでテキストを追加できます。
VCam コンポーネントに HUD ブループリントを設定する
HUD VCam ウィジェット ブループリントの設定が完了したので、次は、出力プロバイダの要素として画面に表示される VCam コンポーネントに適用します。
VCam コンポーネントに HUD VCam ウィジェットを適用するには、次の手順を実行します。
- レベルで、Virtual Camera アクタを選択します。
- [Details] パネルで、コンポーネント階層から VCam Component を選択します。
-
[Details] パネルの [Output Provider] セクションで、出力プロバイダの初期設定 セクションで作成した出力プロバイダ要素を使用するか、この時点で出力プロバイダ要素を追加します。
このデモでは、Pixel Streaming 出力プロバイダを使用します。
-
Output Provider 要素を展開し、以下を設定します。
- [UMG Overlay (UMG オーバーレイ)] ドロップダウン選択を使用して、VCW_ConnectionHUD VCam ウィジェットを割り当てます。
- [Is Active] の横にあるチェックボックスをオンにします。
すでにオンになっている場合は、オフにしてから、再度オンにすると、出力プロバイダが手動で更新されます。
HUD を VCam アクタに割り当てたら、ビューポートのボタンをクリックしてオブジェクト トラッキングのオン/オフを切り替えることができます。この例では、球体は InterpToMovement で設定され、[Simulate (シミュレート)] またはプレイ イン エディタ モード使用時に前後に動きます。これにより、バーチャル カメラによるオブジェクト トラッキングをテストしやすくなります。
接続とブループリント インターフェースでバーチャル カメラをカスタマイズする
このセクションはオプションです。
このセクションでは、接続とブループリント インターフェースを使用してバーチャル カメラ HUD をさらにカスタマイズし、モディファイアの状態に応じてボタンの色を変更する方法を説明します。これは、このガイドの前半で作成した VCW_ConnectionButton のように、1 つのボタンである VCam ウィジェットを異なる目的で再利用したい場合に役立ちます。
ブループリント インターフェース アセットを作成する
このセクションでは、モディファイア ブループリントに接続するために使用するブループリント インターフェースを作成します。
ブループリント インターフェースを作成するには、次の手順を実行します。
- コンテンツ ブラウザで、[+ Add] > [Blueprint (ブループリント)] をクリックし、ブループリント インターフェース アセットを追加します。インターフェースに「BPI_ConnectionButton」という名前を付けます。
- BPI_ConnectionButton を開きます。
-
[My Blueprint] パネルの [Functions (関数)] カテゴリで、NewFunction の名前を「GetButtonColor」に変更します。
-
[Details] パネルで、[Inputs (入力)] カテゴリを特定し、[+ Add] アイコンをクリックして、新しいパラメータを追加します。その型を [Name] に設定し、名前を「ConnectionPoint」にします。
-
[Outputs (出力)] カテゴリで、[+ Add] アイコンをクリックして、次の 2 つの パラメータを追加します。
- 最初のパラメータに「Color」という名前を付け、型 を [Linear Color (リニア カラー)] に設定します。
- 2 番目のパラメータに「Success」という名前を付け、その 型 を [Boolean] に設定します。
- ブループリントを コンパイル して 保存 します。
モディファイア ブループリントをインターフェース ブループリントに接続する
このセクションでは、前のセクションで作成した BPI_ConnectionButton ブループリント インターフェースに接続するために、VCM_LookAt モディファイア ブループリントを設定します。
ブループリント インターフェースへの接続を設定するには、次の手順を実行します。
- コンテンツ ブラウザで、このページの モディファイア ブループリントを作成する セクションで作成した VCM_LookAt モディファイア ブループリントを開きます。
- ブループリントのツールバーから [Class Settings (クラス設定)] を選択します。
-
[Details] パネルで、[Interfaces] カテゴリを見つけ、[Implemented Interfaces (実装されたインターフェース)] のドロップダウン選択を使用して、BPI_ConnectionButton ブループリント インターフェースを選択します。
- コンパイル して 保存 します。
インターフェース ブループリント ロジックを設定する
VCam モディファイアで実装されたブループリント インターフェース接続を使用して、VCM_LookAt モディファイア ブループリントにいくつかのロジックを追加し、ボタンのオン/オフを切り替えたときに送信される色を定義することができます。
ボタンを接続するには、次の手順を実行します。
-
VCM_LookAt ブループリントで、[My Blueprint] パネルに移動します。[Interfaces] カテゴリで、[Get Button Color] をダブルクリックして、独自のグラフ タブを開きます。
- Get Button Color グラフで、Connection Point ピンをドラッグし、Switch on Connection Points ノードを追加します。
- Get Button Color ノードと Return Node 間のワイヤーを、ALT を押しながら マウスで左クリック し、ワイヤーを分割します。
- Get Button Color ノードからドラッグし、Switch on Connection Points ノードにつなげます。
- Switch on Connection Points の Default 実行ピンをドラッグし、Return Node につなげます。次の手順の邪魔にならないように Return Node を下に移動します。
- Switch on Connection Points ノードの Toggle Activation 実行ピンをドラッグし、Return Node を追加します。
- Return Node の Success の横にあるチェックボックスをオンにします。
- [My Blueprint] パネルで [Variables] カテゴリを見つけ、ShouldLookAt 変数をグラフにドラッグし、リストから Get ShouldLookAt を選択します。
- Get ShouldLookAt ノードからドラッグし、Select Color ノードを追加します。
- Select Color ノードの Return Value 出力ピンをドラッグし、Switch on Connection Points ノードの Toggle Activation の実行の接続先の Return Node の Color ピンに接続します。
-
Set Color ノードで、A と B の横にあるチェックボックスをクリックしてカラー ピッカーを開き、それぞれ色を設定します。
- コンパイル して 保存 します。
Get Button Color グラフは次のようになります。
Begin Object Class=/Script/BlueprintGraph.K2Node_FunctionEntry Name="K2Node_FunctionEntry_1" ExportPath="/Script/BlueprintGraph.K2Node_FunctionEntry'/Game/NewBlueprint.NewBlueprint:GetButtonColor.K2Node_FunctionEntry_1'"
ExtraFlags=201457664
FunctionReference=(MemberName="GetButtonColor")
bIsEditable=True
NodePosX=-16
NodePosY=-16
NodeGuid=26CF79447A4EEC8BBFB83F9435B24545
CustomProperties Pin (PinId=92DAE84A13453094DD283D8F8ADD1E94,PinName="then",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(VCamK2Node_SwitchOnModifierConnectionPoints_0 B1B47A244E4FDAB35D2576AAF1370A82,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=59E716980E406D2BC8AFE5BFC2B8AF6C,PinName="Connection Point",Direction="EGPD_Output",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(VCamK2Node_SwitchOnModifierConnectionPoints_0 0DDAC9D03946E21CB02112B8318A674F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties UserDefinedPin (PinName="Connection Point",PinType=(PinCategory="name"),DesiredPinDirection=EGPD_Output)
End Object
Begin Object Class=/Script/VCamBlueprintNodes.VCamK2Node_SwitchOnModifierConnectionPoints Name="VCamK2Node_SwitchOnModifierConnectionPoints_0" ExportPath="/Script/VCamBlueprintNodes.VCamK2Node_SwitchOnModifierConnectionPoints'/Game/NewBlueprint.NewBlueprint:GetButtonColor.VCamK2Node_SwitchOnModifierConnectionPoints_0'"
NodePosX=336
NodePosY=-16
NodeGuid=E585160BF547C2601CC9829F6AAB55A5
CustomProperties Pin (PinId=FBF2C367B548BC2F7226C4B84E58BD82,PinName="Default",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_FunctionResult_0 F74FB07840444CBD6B886DAA56DB1D14,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B1B47A244E4FDAB35D2576AAF1370A82,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_FunctionEntry_1 92DAE84A13453094DD283D8F8ADD1E94,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0DDAC9D03946E21CB02112B8318A674F,PinName="Selection",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",LinkedTo=(K2Node_FunctionEntry_1 59E716980E406D2BC8AFE5BFC2B8AF6C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=65151DD07E4F2E56CD2A88948B199424,PinName="NotEqual_NameName",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/Engine.KismetMathLibrary'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__KismetMathLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=True,bDefaultValueIsReadOnly=True,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C7A8794A9A412965665FDA848AD9CD5E,PinName="Toggle Activation",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_FunctionResult_1 F74FB07840444CBD6B886DAA56DB1D14,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=True,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_FunctionResult Name="K2Node_FunctionResult_1" ExportPath="/Script/BlueprintGraph.K2Node_FunctionResult'/Game/NewBlueprint.NewBlueprint:GetButtonColor.K2Node_FunctionResult_1'"
FunctionReference=(MemberName="GetButtonColor")
bIsEditable=True
NodePosX=960
NodePosY=-16
NodeGuid=111BAFC79040378A326432B3121515B1
CustomProperties Pin (PinId=F74FB07840444CBD6B886DAA56DB1D14,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(VCamK2Node_SwitchOnModifierConnectionPoints_0 C7A8794A9A412965665FDA848AD9CD5E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8C3DD6229B443F6626838E8BA6A6B470,PinName="Color",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_0 E0FD08BE9D413F3877B223BE63C7BD50,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=340AF24CA0425436F95BA989F5DD1B7C,PinName="Success",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="true",AutogeneratedDefaultValue="true",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties UserDefinedPin (PinName="Color",PinType=(PinCategory="struct",PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'"),DesiredPinDirection=EGPD_Input)
CustomProperties UserDefinedPin (PinName="Success",PinType=(PinCategory="bool"),DesiredPinDirection=EGPD_Input,PinDefaultValue="true")
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0" ExportPath="/Script/BlueprintGraph.K2Node_VariableGet'/Game/NewBlueprint.NewBlueprint:GetButtonColor.K2Node_VariableGet_0'"
VariableReference=(MemberName="Shoul Look At",MemberGuid=4646A2881B4EA38DF2F60297A332BD95,bSelfContext=True)
NodePosX=496
NodePosY=192
NodeGuid=E8783A803F4A809ABDEBC2A9EAE24853
CustomProperties Pin (PinId=6EBD905FD146E5703C43D8A57E27214C,PinName="Shoul Look At",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",LinkedTo=(K2Node_CallFunction_0 C1D7E01646446472828843B25221B62C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=612C39AE224F2B4BEF8E029BF231068C,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/Engine.BlueprintGeneratedClass'/Game/NewBlueprint.NewBlueprint_C'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_0" ExportPath="/Script/BlueprintGraph.K2Node_CallFunction'/Game/NewBlueprint.NewBlueprint:GetButtonColor.K2Node_CallFunction_0'"
bIsPureFunc=True
FunctionReference=(MemberParent="/Script/CoreUObject.Class'/Script/Engine.KismetMathLibrary'",MemberName="SelectColor")
NodePosX=656
NodePosY=96
NodeGuid=B626F22F6F46A547D60F11814E1B5BA8
CustomProperties Pin (PinId=00F6C0C8B84FE441CE70D7B0D12F64E0,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.Class'/Script/Engine.KismetMathLibrary'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__KismetMathLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E66702D41F4E148AC73D1FB2968DCA42,PinName="A",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="(R=1.000000,G=0.000000,B=0.000000,A=1.000000)",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E0CFF17913472AC0CC0CB38887DF3CFA,PinName="B",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="(R=0.000000,G=0.000000,B=1.000000,A=1.000000)",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C1D7E01646446472828843B25221B62C,PinName="bPickA",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",LinkedTo=(K2Node_VariableGet_0 6EBD905FD146E5703C43D8A57E27214C,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E0FD08BE9D413F3877B223BE63C7BD50,PinName="ReturnValue",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_FunctionResult_1 8C3DD6229B443F6626838E8BA6A6B470,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_FunctionResult Name="K2Node_FunctionResult_0" ExportPath="/Script/BlueprintGraph.K2Node_FunctionResult'/Game/NewBlueprint.NewBlueprint:GetButtonColor.K2Node_FunctionResult_0'"
FunctionReference=(MemberName="GetButtonColor")
bIsEditable=True
NodePosX=960
NodePosY=224
NodeGuid=4FB1A3892743575C9DDF8C97C6136D7C
CustomProperties Pin (PinId=F74FB07840444CBD6B886DAA56DB1D14,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(VCamK2Node_SwitchOnModifierConnectionPoints_0 FBF2C367B548BC2F7226C4B84E58BD82,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8C3DD6229B443F6626838E8BA6A6B470,PinName="Color",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'",PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=340AF24CA0425436F95BA989F5DD1B7C,PinName="Success",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties UserDefinedPin (PinName="Color",PinType=(PinCategory="struct",PinSubCategoryObject="/Script/CoreUObject.ScriptStruct'/Script/CoreUObject.LinearColor'"),DesiredPinDirection=EGPD_Input)
CustomProperties UserDefinedPin (PinName="Success",PinType=(PinCategory="bool"),DesiredPinDirection=EGPD_Input,PinDefaultValue="false")
End Object
上のブループリントのコードをコピーして VCM_LookAt モディファイアに直接貼り付け、自分のプロジェクトで上記のグラフを再現します。
モディファイア ブループリント ロジックを設定する
このセクションでは、ウィジェットが前のセクションで設定した情報をどのように要求し、パースし、適用するかを設定します。
ルールを定義するには、次の手順を実行します。
- このページの VCam ウィジェットを作成し、初期設定を行う セクションで作成した VCW_ConnectionButton VCam ウィジェットを開きます。
-
[Graph] ボタンをクリックして、グラフ編集モードに切り替えます。
- ブループリントのツールバーで、[Class Defaults] をクリックします。
- [Details] パネルの [VCam Connection] カテゴリを見つけ、[Connection] > [Button] の順に展開します。
-
[Required Interfaces] の隣にある [+ Add] アイコンをクリックし、リストから BPI_ConnectionButton ブループリント インターフェースを選択します。
この VCam ウィジェット ブループリントにブループリント インターフェースを割り当てるときに、[Required Interfaces (必須インターフェース)] または [Optional Interfaces (オプション インターフェース)] のいずれかを使用できます。[Required Interfaces] に割り当てると、接続を成功させるために、モディファイア ブループリントがブループリント インターフェースを実装していることが必須となります。オプションのインターフェースを選択すると、モディファイア ブループリントがブループリント インターフェースを実装しているかどうかに関係なく、接続が成功します。
- イベント グラフ内で右クリックし、[VCam Connections (VCam 接続)] カテゴリから Get Connections 変数を追加します。
- Get Connections ノードからドラッグし、Find ノードを追加します。
- Find ノードの青のピンからドラッグし、Get Connected Modifier ノードを追加します。
- Get Connected Modifier ノードの Return Value からドラッグし、Is Valid ノードを追加します。
- Get Connected Modifier ノードの Return Value からドラッグし、Get Button Color (Message) ノードを追加します。
- Find ノードの青のピンからドラッグし、Get Connection Point Name ノードを追加します。
- Get Connection Point Name の Return Value からドラッグし、Get Button Color ノードの Connection Point 入力につなげます。
- Event Tick ノードからドラッグし、Is Valid ノードの Exec 入力に接続します。
- Is Valid ノードの Is Valid 実行ピンからドラッグし、Get Button Color ノードに接続します。
- Get Button Color 実行ピンからドラッグし、Branch ノードを追加します。
- Get Button Color ノードの Success ピンからドラッグし、Branch ノードの Condition ピンにつなげます。
- [My Blueprint] パネルの [Variables] カテゴリで Button 変数をグラフにドラッグし、リストから Get Button を選択します。
- Button ノードからドラッグし、Set Background Color ノードを追加します。
- Branch ノードの True ピンからドラッグし、Set Background Color ノードの入力につなげます。
- Get Button Color ノードの Color ピンからドラッグし、Set Background Color ノードの In Background Color ピンにつなげます。
- コンパイル して 保存 します。
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_0" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_VariableGet_0"'
VariableReference=(MemberName="Connections",bSelfContext=True)
NodePosX=160
NodePosY=1312
NodeGuid=7B71DF2B4BDA58669EB51FAC3109ADC1
CustomProperties Pin (PinId=B4A2F0FD434ACB31305EF9BAB9A1F416,PinName="Connections",PinFriendlyName=NSLOCTEXT("", "6DA68F8F463AD2F15AC82D917EB07810", "Connections"),Direction="EGPD_Output",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(TerminalCategory="struct",TerminalSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"'),PinType.ContainerType=Map,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_1 458CBF2B44C1A0F7078ED6A8BA3AE5E0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=AB9F419A49FF0EDD061D58B0DDB4E304,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamWidget"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_1" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_1"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/Engine.BlueprintMapLibrary"',MemberName="Map_Find")
NodePosX=320
NodePosY=1312
NodeGuid=D7D8DA554B93C48CF40F4C96D4DDC9B2
CustomProperties Pin (PinId=42109F06439B767E7FD41195E8576008,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nBlueprint Map Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/Engine.BlueprintMapLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/Engine.Default__BlueprintMapLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=458CBF2B44C1A0F7078ED6A8BA3AE5E0,PinName="TargetMap",PinToolTip="Target Map\nMap of Names to VCam Connection Structures\n\nThe map to perform the lookup on",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(TerminalCategory="struct",TerminalSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"'),PinType.ContainerType=Map,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_0 B4A2F0FD434ACB31305EF9BAB9A1F416,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=DEC16E5842A856284322CB9C099103EB,PinName="Key",PinToolTip="Key\nName (by ref)\n\nThe key that will be used to look the value up",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="Button",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=305871E9448ECE4A0F4664B10CC8B3DE,PinName="Value",PinToolTip="Value\nVCam Connection Structure\n\nThe value associated with the key, default constructed if key was not found",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_2 2C24D0BA4FEA5447DCC888AF4F9BA2F4,K2Node_CallFunction_4 6A7D78114620AEDFFF3D249D3DF3EFB0,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=948BD14D4BECFA2568C2AB8A705AE6E0,PinName="ReturnValue",PinToolTip="Return Value\nBoolean\n\nTrue if an item was found (False indicates nothing in the map uses the provided key)",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_2" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_2"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',MemberName="GetConnectedModifier_VCamConnection")
NodePosX=624
NodePosY=1280
NodeGuid=A520C4B548860B66478E1CB93390E0C2
CustomProperties Pin (PinId=C3935D4848C299302AC932AB3D02E03C,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nVCam UIFunction Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/VCamCore.Default__VCamUIFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=2C24D0BA4FEA5447DCC888AF4F9BA2F4,PinName="Connection",PinToolTip="Connection\nVCam Connection Structure (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_1 305871E9448ECE4A0F4664B10CC8B3DE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=C14F1DD94B6762807DEEEAA2DCD5D725,PinName="ReturnValue",PinToolTip="Return Value\nVCam Modifier Object Reference\n\n Gets the Connected Modifier for the given VCam Connection\n The returned Modifier is guaranteed to be valid if IsConnected() is true",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 F2C833534BF96BA96EDABA9F092238BD,K2Node_Knot_3 1F0A8E1A42C7387E940949B66B016187,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_MacroInstance Name="K2Node_MacroInstance_0" ExportPath=/Script/BlueprintGraph.K2Node_MacroInstance'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_MacroInstance_0"'
MacroGraphReference=(MacroGraph=/Script/Engine.EdGraph'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros:IsValid"',GraphBlueprint=/Script/Engine.Blueprint'"/Engine/EditorBlueprintResources/StandardMacros.StandardMacros"',GraphGuid=64422BCD430703FF5CAEA8B79A32AA65)
NodePosX=928
NodePosY=1216
NodeGuid=E9A50DFB4FD468FCCD440897079F335C
CustomProperties Pin (PinId=210F92B94F5BAA1F9DB42B80A823DB3C,PinName="exec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Event_2 6F623B8A45BF7E5451ED599E561311F7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=F2C833534BF96BA96EDABA9F092238BD,PinName="InputObject",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CoreUObject.Object"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_2 C14F1DD94B6762807DEEEAA2DCD5D725,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=579DC6854D6CAB3EAF85B6B785FA971D,PinName="Is Valid",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Message_0 57C3E29E4BFE7106987F068E5E1F32DE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=8CBDCF55409029EB9B56438758EE16DB,PinName="Is Not Valid",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Message Name="K2Node_Message_0" ExportPath=/Script/BlueprintGraph.K2Node_Message'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Message_0"'
bIsInterfaceCall=True
FunctionReference=(MemberParent=/Script/Engine.BlueprintGeneratedClass'"/Game/VCamComponentSetup/BPI_ConnectionButton.BPI_ConnectionButton_C"',MemberName="GetButtonColor",MemberGuid=4F3D5F6E4FCE96FD90A6139881563900)
NodePosX=1216
NodePosY=1200
NodeGuid=72A3A351459A7326876EF79777D9E375
CustomProperties Pin (PinId=57C3E29E4BFE7106987F068E5E1F32DE,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_MacroInstance_0 579DC6854D6CAB3EAF85B6B785FA971D,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=17DFD49A4ECA99FA35E4C296BFA74B1F,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_0 51EF46D441B54F04CCB9AB83C7F2FAB7,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=846437454E5782F01C33EF84922BE61F,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nObject Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/CoreUObject.Object"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_4 B63ED06E45BAC353F775ACBF5F0FD275,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=53868EE64F450C9F71E72BAADFB3D6AD,PinName="ConnectionPoint",PinToolTip="Connection Point\nName",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",LinkedTo=(K2Node_Knot_5 D1B4045649E13A0A6AB829B1C4782053,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=21EB0196490FECAC06BD3B96AB1C4A34,PinName="Color",PinToolTip="Color\nLinear Color Structure",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.LinearColor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 DC3ED1EE4ECDBAC891DFB692045895C1,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6B9B55644276D84F2F69EFB4B4DADD0F,PinName="Success",PinToolTip="Success\nBoolean",Direction="EGPD_Output",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="false",AutogeneratedDefaultValue="false",LinkedTo=(K2Node_IfThenElse_0 388EC7F94E2216FAF4C0C29297F3A3BB,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_4" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_4"'
bIsPureFunc=True
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',MemberName="GetConnectionPointName_VCamConnection")
NodePosX=624
NodePosY=1376
NodeGuid=ED65A93D4CE08AB32A1213A34354C2D8
CustomProperties Pin (PinId=BAC94B304846341AD150F8A970FE4CB4,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nVCam UIFunction Library Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamUIFunctionLibrary"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultObject="/Script/VCamCore.Default__VCamUIFunctionLibrary",PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=6A7D78114620AEDFFF3D249D3DF3EFB0,PinName="Connection",PinToolTip="Connection\nVCam Connection Structure (by ref)",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/VCamCore.VCamConnection"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=True,PinType.bIsConst=True,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_1 305871E9448ECE4A0F4664B10CC8B3DE,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=4983E9BF4F4B209AA49A43BDC7D0A0DA,PinName="ReturnValue",PinToolTip="Return Value\nName\n\n Gets the name of the associated Connection Point for a given VCam Connection.\n This will return "None" if the IsConnected() is false",Direction="EGPD_Output",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="None",AutogeneratedDefaultValue="None",LinkedTo=(K2Node_Knot_5 FE64C76A459B5A66A62604ACF72F644A,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_IfThenElse Name="K2Node_IfThenElse_0" ExportPath=/Script/BlueprintGraph.K2Node_IfThenElse'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_IfThenElse_0"'
NodePosX=1552
NodePosY=1216
NodeGuid=A40BCB884171B13B1A4488AAC6FCBEC9
CustomProperties Pin (PinId=51EF46D441B54F04CCB9AB83C7F2FAB7,PinName="execute",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Message_0 17DFD49A4ECA99FA35E4C296BFA74B1F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=388EC7F94E2216FAF4C0C29297F3A3BB,PinName="Condition",PinType.PinCategory="bool",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,DefaultValue="true",AutogeneratedDefaultValue="true",LinkedTo=(K2Node_Message_0 6B9B55644276D84F2F69EFB4B4DADD0F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=E839B8F640E935B7C1E80CB017239A55,PinName="then",PinFriendlyName=NSLOCTEXT("K2Node", "true", "true"),Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_5 4BCF53234CF9DDB46E6CCAA3EC1AC50B,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=37D3952843E526F23F34448C28AA8124,PinName="else",PinFriendlyName=NSLOCTEXT("K2Node", "false", "false"),Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_VariableGet Name="K2Node_VariableGet_3" ExportPath=/Script/BlueprintGraph.K2Node_VariableGet'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_VariableGet_3"'
VariableReference=(MemberName="Button",bSelfContext=True)
NodePosX=1584
NodePosY=1344
NodeGuid=02F6194A4A2AE54EB212FAB648204363
CustomProperties Pin (PinId=0EA7D4EB43C1855A41D2E2B5ADA6ABA9,PinName="Button",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/UMG.Button"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_5 B9ABAC97415820E10890B2BD1BDCDF69,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=85E59B5844230407C1BC6CB14D0BC51F,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/UMG.WidgetBlueprintGeneratedClass'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton_C"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=True,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_CallFunction Name="K2Node_CallFunction_5" ExportPath=/Script/BlueprintGraph.K2Node_CallFunction'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_CallFunction_5"'
FunctionReference=(MemberParent=/Script/CoreUObject.Class'"/Script/UMG.Button"',MemberName="SetBackgroundColor")
NodePosX=1808
NodePosY=1200
NodeGuid=0FFAC8D74957C70FCA96C19DEDC11896
CustomProperties Pin (PinId=4BCF53234CF9DDB46E6CCAA3EC1AC50B,PinName="execute",PinToolTip="\nExec",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_IfThenElse_0 E839B8F640E935B7C1E80CB017239A55,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9D63DB434E2C6FB91A2318B7CD0BD762,PinName="then",PinToolTip="\nExec",Direction="EGPD_Output",PinType.PinCategory="exec",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B9ABAC97415820E10890B2BD1BDCDF69,PinName="self",PinFriendlyName=NSLOCTEXT("K2Node", "Target", "Target"),PinToolTip="Target\nButton Object Reference",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/UMG.Button"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_VariableGet_3 0EA7D4EB43C1855A41D2E2B5ADA6ABA9,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=F428AC284CFA1B0980121E9FFF5F749F,PinName="InBackgroundColor",PinToolTip="In Background Color\nLinear Color Structure",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.LinearColor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_2 0FA03B924C67403A861B7F8D792F9AE6,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_0" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Knot_0"'
NodePosX=1536
NodePosY=1392
NodeGuid=077CF3464A31EBC27C1DFEA85B14E05B
CustomProperties Pin (PinId=DC3ED1EE4ECDBAC891DFB692045895C1,PinName="InputPin",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.LinearColor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Message_0 21EB0196490FECAC06BD3B96AB1C4A34,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=9E10D7D3475E8C00AD2E2898751F935E,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.LinearColor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_2 0FB610794D6312D224890F974E15A284,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_2" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Knot_2"'
NodePosX=1728
NodePosY=1392
NodeGuid=46A85F7C4B412DDEB8CADFB79CB362DA
CustomProperties Pin (PinId=0FB610794D6312D224890F974E15A284,PinName="InputPin",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.LinearColor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_0 9E10D7D3475E8C00AD2E2898751F935E,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=0FA03B924C67403A861B7F8D792F9AE6,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="struct",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.ScriptStruct'"/Script/CoreUObject.LinearColor"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_5 F428AC284CFA1B0980121E9FFF5F749F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_3" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Knot_3"'
NodePosX=880
NodePosY=1328
NodeGuid=590F4E764D26B3471F39538F5FB686E7
CustomProperties Pin (PinId=1F0A8E1A42C7387E940949B66B016187,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_2 C14F1DD94B6762807DEEEAA2DCD5D725,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=98EC05D8437DE5C2BB6AF2AFCA40666F,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_4 2AD83E904E3427D056D642A3750393CC,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_4" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Knot_4"'
NodePosX=1136
NodePosY=1328
NodeGuid=E396DB3B41AC71587318ADBA9F8CE145
CustomProperties Pin (PinId=2AD83E904E3427D056D642A3750393CC,PinName="InputPin",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Knot_3 98EC05D8437DE5C2BB6AF2AFCA40666F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=B63ED06E45BAC353F775ACBF5F0FD275,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="object",PinType.PinSubCategory="",PinType.PinSubCategoryObject=/Script/CoreUObject.Class'"/Script/VCamCore.VCamModifier"',PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Message_0 846437454E5782F01C33EF84922BE61F,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
Begin Object Class=/Script/BlueprintGraph.K2Node_Knot Name="K2Node_Knot_5" ExportPath=/Script/BlueprintGraph.K2Node_Knot'"/Game/VCamComponentSetup/VCW_ConnectionButton.VCW_ConnectionButton:EventGraph.K2Node_Knot_5"'
NodePosX=1136
NodePosY=1408
NodeGuid=F9F9878843B10D94127AFF8E6B47C33C
CustomProperties Pin (PinId=FE64C76A459B5A66A62604ACF72F644A,PinName="InputPin",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_CallFunction_4 4983E9BF4F4B209AA49A43BDC7D0A0DA,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=True,bAdvancedView=False,bOrphanedPin=False,)
CustomProperties Pin (PinId=D1B4045649E13A0A6AB829B1C4782053,PinName="OutputPin",Direction="EGPD_Output",PinType.PinCategory="name",PinType.PinSubCategory="",PinType.PinSubCategoryObject=None,PinType.PinSubCategoryMemberReference=(),PinType.PinValueType=(),PinType.ContainerType=None,PinType.bIsReference=False,PinType.bIsConst=False,PinType.bIsWeakPointer=False,PinType.bIsUObjectWrapper=False,PinType.bSerializeAsSinglePrecisionFloat=False,LinkedTo=(K2Node_Message_0 53868EE64F450C9F71E72BAADFB3D6AD,),PersistentGuid=00000000000000000000000000000000,bHidden=False,bNotConnectable=False,bDefaultValueIsReadOnly=False,bDefaultValueIsIgnored=False,bAdvancedView=False,bOrphanedPin=False,)
End Object
上のブループリントのコードをコピーして VCM_LookAt モディファイアに直接貼り付け、自分のプロジェクトで上記のグラフを再現します。
最終結果
このガイドを完了すると、モディファイア、接続ポイント、および VCam ウィジェットを使用して、ビューポートで切り替え可能な色変更ボタンでカメラのトラッキングのオン/オフを切り替えるカスタム バーチャル カメラが完成します。