バーチャル カメラ コンポーネントのクイック スタート

バーチャル カメラ コンポーネントは、Unreal Engine でカスタムバーチャル カメラを構築するための基盤を提供する基本アーキテクチャです。

Choose your operating system:

Windows

macOS

Linux

概要

バーチャル カメラ コンポーネント (VCamComponent) は、 Unreal Engine でカスタム バーチャル カメラを構築するための基本コンポーネントです。

VCamComponent を使って、ユーザーは モディファイア 出力プロバイダー を追加することで、Unreal Engine 内部でシネカメラを動かすことができます。

目標

このクイック スタート ガイドは、バーチャル カメラ コンポーネントを使用してバーチャル カメラを作成するための基本的な手順を説明するために作成されました。

目的

このガイドを一通り修了すると、次の内容が理解できます。

  • シーンにカメラを配置し、VCamComponent を追加する方法。

  • カメラにモディファイアを追加してビヘイビアをカスタマイズする方法。

  • モディファイアを有効または無効にする基本キーの入力を追加する方法。

  • 様々な出力プロバイダを使用する方法。

1 - 必要な設定

始める前に、プロジェクト内で適切なプラグインを有効にする必要があります。

  1. [Settings (設定)] > [Plugins (プラグイン)] を選択し、 [Plugins (プラグイン)] メニューを開きます。

    Plugins menu

  2. Virtual Camera プラグインを検索して 有効 にします。

    Virtual Camera

  3. エディタを再起動します。

このセクションの結果

バーチャル カメラの作成を開始する準備が整いました。

2- バーチャル カメラの作成

Virtual Camera Component は Cine Camera コンポーネントをもつアクタと機能します。この操作ガイドでは便宜上 Cine Camera アクタを使用します。

  1. [Place Actors (アクタの配置)] パネルで、 [Cinematic (シネマティック)] カテゴリを選択して、 [Cine Camera Actor (Cine カメラ アクタ)] をクリックして、シーンにドラッグします。

    Drag the Cine Camera Actor

  2. Cine カメラ アクタを選択した状態で、 [Details (詳細)] パネルに移動し、 CameraComponent を選択 します。

    Select the CameraComponent

  3. [Add Component (コンポーネントを追加)] ボタンをクリック し、 VCam コンポーネントを検索して追加します。

    Search for VCam

    VCam コンポーネントがカメラ コンポーネントの子になっていることを確認します。

  4. VCam を選択してクリックしコンポーネントを追加します。

  5. シーン内の Cine カメラ アクタを移動し、好みに合わせて 現在のカメラ設定 を調整します。次の例では、カメラを動かしてシーン内のミーアキャットをフレームに合わせて、この被写体に常に焦点が合うようにカメラを調整しました。

    Adjust the camera

    カメラ設定の調整の詳細については、文書ページの「 Cine カメラ アクタ 」で学ぶことができます。

  6. カメラ アクタを選択したら、コンポーネントの階層から VCam コンポーネントを選択します。

    Select the VCam component

  7. [Virtual Camera] セクションに利用できるプロパティが表示されました。

    Virtual Camera properties

以下のプロパティがあります。

プロパティ

説明

Enabled

バーチャル カメラ コンポーネント全体の有効、無効を切り替えます。

Live Link Subject

これは Live Link プラグイン経由で使用される被写体です。コンポーネントは被写体のカメラ情報を使ってシーンでカメラを操作します。

Lock Viewport to Camera

ビューポートは、バーチャル カメラの視点からレンダリングされます。

Disable Component when Spawned by Sequencer

バーチャル カメラ コンポーネントがシーケンスによってスポーンされると無効化します。これにより、Spawnable として設定された VCam コンポーネントを含むシーケンスを再生するときに、2 つの VCam コンポーネントが同時にアクティブになる可能性があります。

Target Viewport

コンポーネントによってビューをレンダリングするために使用されるエディタ ビューポートです。

Output Providers

すべての出力先端末がリストされています。

Modifier Context

すべてのモディファイアで共有される任意のデータを含む任意のオブジェクト。

Modifier Stack

コンポーネントに追加されたすべてのモディファイアがリストされています。

このセクションの結果

シーンに Cine Camera アクタを配置し、バーチャル カメラ コンポーネントを追加しました。 モディファイア を追加してカメラをカスタマイズする準備ができました。

3 - モディファイアを追加する

モディファイア は、カスタム エフェクトやビヘイビアを追加したり、実際のカメラの動作をシミュレートしたりすることで、カメラを操作できます。ブループリントや C++ を使用してカスタム モディファイアを作成し、それらをスタックに追加して、さまざまな効果をレイヤー化できます。

スタックのモディファイアは上から下に向かって実行され、効果はその順序で適用されます。

最初のモディファイアを作成する

  1. コンテンツ ブラウザ 内を右クリックし、 [Virtual Camera (バーチャル カメラ)] カテゴリの下にある [VCam Modifier (VCam モディファイア)] を選択します。

    Create the virtual camera modifier

  2. ブループリントに「 VCM_LookAt 」と名付けて、ダブルクリックで開きます。

    Name the Blueprint VCM_LookAt

  3. [My Blueprint] タブに行き、 Variables の隣の プラス記号 (+) をクリックして新規変数を追加します。新しい変数に「 TargetActor 」と名前を付けます。

    Create a new variable

  4. TargetActor を選択して、 [Details] パネルに移動し、 [Variable Type (変数の型)] ドロップダウンをクリックします。 Actor を検索して Object Reference を選択します。

    Set TargetActor to the Actor type

  5. [Instance Editable (インスタンスを編集可能)] チェックボックスを有効にして、ブループリントを コンパイル して、 保存 します。

    Make TargetActor instance editable

  6. TargetActor イベント グラフ にドラッグして、 Get TargetActor を選択します。ノードからドラッグし、以下のように Is Valid を検索して選択します。

    Drag from TargetActor and search for Is Valid

  7. Event on Apply ノードを Is Valid ノードに接続します。

    Connect Event On Apply to Is Valid

  8. Event On Apply ノードの Camera Component ピンからドラッグして、 Get World Location を検索して選択します。

    Search for Get World Location

  9. TargetActor からドラッグし、 Get Actor Location を検索して選択します。

    Search for Get Actor Location

  10. GetWorldLocation ノードの Return Value からドラッグし、 Find Look At Rotation を検索して選択します。

    Search for Look At Rotation

  11. Get World Location ノードの Return Value ピンを Find Look at Rotation ノードの Target ピンに接続します。

    Connect  the Get Actor Location node to the Find Look at Rotation node

  12. Event On Apply ノードの Camera Component ピンからドラッグして、 Set World Rotation を検索して選択します。

    Search for Set World Rotation

  13. Is Valid ノードの Is Valid ピンを Set World Rotation ノードに接続します。 Find Look at Rotation ノードの Return Value ピンを Set World Rotation ノードの New Rotation ピンに接続します。

    Connect the Is Valid node to the Set World Rotation node

  14. ブループリントをコンパイルして保存します。

スタックへモディファイアを追加する

カスタム モディファイアを モディファイア スタック に追加する準備が整いました。

  1. [Place Actors (アクタを配置)] タブの Basic カテゴリで [Sphere] をクリックしてレベルにドラッグします。

    Drag a sphere to the level

  2. カメラ アクタを選択してコンポーネント階層内から VCam コンポーネントを選択します。

  3. モディファイア スタックの プラス記号 (+) をクリックして、リストにエントリを追加します。

    Add modifier to the stack

  4. Look At 」などモディファイアの名前を入力します。名前を追加すると、後でブループリントでこのモディファイアを参照することができるようになります。

    Add the name Look At

  5. [Generated Modifier (生成されたモディファイア)] ドロップダウンの矢印 をクリックし、一覧から VCM_LookAt を選択します。

    Select VCM_Sine from the list

  6. モディファイア [Default] セクションを展開して、 [Target Actor] ドロップダウンをクリックします。レベルに追加した Sphere アクタを選択します。

    Add the Sphere actor

  7. レベルで Sphere アクタを選択して動かします。カメラが Sphere に向かって回転するのがわかります。

    VCC_LookAt.gif

このセクションの結果

このセクションでは、ブループリントを使用してカスタム カメラ モディファイアを作成する方法について学習しました。

また、カスタム モディファイアを モディファイア スタック に追加して、エディタ内でバーチャル カメラを操作する方法についても学習しました。

4 - Virtual Camera 入力システムを使用する

現在の Virtual Camera 入力システムはプレースホルダーです、これは今後さらに高度なバージョンに置き換えられます。

Virtual Camera コンポーネント は、モディファイア内で Editor Input Events を使用して、ユーザーに追加のコントロールを提供できます。

ここでは、このシステムを使用して、モディファイアに機能を追加する方法について説明します。

目標

このセクションの目標は、モディファイアに キー入力 を追加して、そのキーを押すとエフェクトをオンオフできるようにすることです。

入力イベントの作成

  1. コンテンツ ブラウザ でダブルクリックして VCM_LookAt ブループリントを開きます。

  2. イベントグラフ を右クリックし、 Get VCamInputSubsystem 関数を検索、選択します。

    Get VCam Subsystem

  3. VCam Input Subsystem ノードからドラッグし、 Bind Key Up Event を検索、選択します。 Event On Initialize ノードを Bind Key Up Event ノードにつなぎます。

    Bind KeyUp Event

  4. 赤い Delegate ピンからドラッグして、 Add Custom Event を検索、選択します。新しいカスタム イベントに「 ToggleActivation 」と名付けます。

    Add Custom Event

    Toggle Activation

  5. Bind Key Up Event ノードで キーボード アイコン をクリックして S キーを押してイベントへバインドします。 ドロップダウン矢印 を押して、一覧から目的のキーを選択することもできます。

    Add the S key

  6. イベント グラフ 内で右クリックして Virtual Camera カテゴリの Set Enabled を選択します。 ToggleActivation ノードを Set Enabled ノードに接続します。

    Add the Set Enabled node

  7. イベント グラフ 内で右クリックして Virtual Camera カテゴリの Is Enabled を選択します。

    Add the Is Enabled node

  8. Is Enabled ノードからドラッグし、 Not を検索して選択します。

    Add the Not node

  9. Not ノードを Set Enabled ノードの New Enabled ピンに接続します。

    Connect the Not node to the Set Enabled node

  10. シーンに戻りレベルで Sphere アクタを動かしながら、 S を押してエフェクトのオンオフを切り替えます。

    バーチャル カメラ入力システムは、ビューポートに焦点が合っていない場合でも、ユーザーがキーを押すたびに実行されます。ユーザーが他の目的でこのキーを押した場合に競合が発生します。たとえば、ユーザーが コンテンツ ブラウザ でアセットの名前を変更し、文字 S を使用すると、このイベントが実行されます。

  11. モディファイアが誤ってアクティブ化されるのを防ぐために、入力の一部として Shift キー を追加するなど、コードにセーフガードを追加できます。

  12. VCM_LookAt に戻って、以下のように ToggleActivation イベントと Set Enabled ノードの間に Branch ノードを追加します。

    Add a Branch node

  13. Toggle Activation ノードの Key Event ピンからドラッグして Get Input from Key Event 関数を検索、選択します。

    Get input event

  14. ノードからドラッグして、 Is Shift Down 関数を検索、選択します。

    Add the Is Shift Down node

  15. 最後に、 Is Shift Down ノードを以下のようにノードを Branch ノードの Condition ピンに接続します。

    Connect the node to the Branch

  16. Shift キーが押されている状態で S キーを押した場合にのみ、モディファイアが実行されるようになりました。

このセクションの結果

このセクションでは、S キーの押下時に実行される入力イベントを追加しました。このイベントは、モディファイアのエフェクトをオンオフします。さらに、ユーザーが他の目的で S キーを押した際に競合を防ぐための保護手段として Shift キーを追加しました。

5 - 出力プロバイダを追加する

Output Provider (出力プロバイダ) システムは、ビューポート、リモート セッション プロトコルを使用する端末、Composure プラグイン、およびサポートされている各種ビデオ キャプチャ カードなど様々なプロバイダにバーチャル カメラの出力をルーティングするために使用されます。

出力プロバイダ リストは、常に上から順に実行されます。

バーチャル カメラ コンポーネントに用意されている利用可能な出力プロバイダを見てみましょう。

ビューポート出力プロバイダ

このプロバイダは、エディタのメイン ビューポートにバーチャル カメラのビューを直接出力します。

  1. VCam コンポーネントを選択し 出力プロバイダ の横にある プラス記号 (+) をクリックして、リストに新規プロバイダを追加します。

    Add a Provider to the list

  2. リストから [Viewport Output Provider (ビューポート出力プロバイダ)] オプションを選択します。

    Viewport Output Provider

  3. 異なるプロバイダ間で共有されるプロパティを確認できるようになりました。

    プロパティ

    説明

    Is Active

    プロバイダを有効または無効にします。

    UMG Overlay

    画像出力の上にオーバーレイされる UMG ウィジェット。

    Use Override Resolution

    出力画像にカスタム解像度を設定します。解像度固定の外部端末を使用する場合に特に便利です。

    Override Resolution

    出力画像に使用される固定された解像度です。

  4. 例えば [UMG Overlay] ドロップダウンをクリックし、 TestUMG を検索、選択して、ビューポートにテスト ウィジェット を追加します。

    Add Test UMG

  5. 最後に、チェックボックスをクリックして、出力プロバイダを Active (アクティブ) に設定します。

    Set Output Provider to Active

  6. シーンのメイン ビューポートにオーバーレイが表示されるようになりました。これは、特定のニーズに合わせてカメラ出力をカスタマイズする方法の例です。

    UMG overlay

Unreal リモート出力プロバイダ

このプロバイダは、リモート セッション プロトコル経由で接続したリモート端末にメイン エディタ ビューポートを出力します。この方法で接続された互換性のあるデバイスはすべて、この目的に使用できます。

次に、リモート セッションを使用して外部デバイスを接続するためにプロジェクトを設定します。

  1. [Settings (設定)] > [Project Settings (プロジェクト設定)] を開きます。

    Open your Project Settings

  2. [UDP Message (UDP メッセージ)] セクションに移動して、末尾にポート番号を表す :0 を付加したお使いのコンピュータの IP アドレスを [Unicast Endpoint (ユニキャスト エンドポイント)] に設定します。

    Unicast Endpoint

  3. [Rendering (レンダリング)] セクションに移動して、 [Default Settings (デフォルト設定)] で矢印クリックして詳細設定を開きます。 [Frame Buffer Pixel Format (フレーム バッファ ピクセル形式)] 8bit RGBA に設定します。

    Frame Buffer Format

  4. エディタを再起動します。

iOS Device Setup

App Store より VCAM App ARKit 対応の iOS デバイスにダウンロードし、アプリを起動します。

iOS Device

デバイスの接続

  1. バーチャル カメラ アクタの VCam コンポーネントを選択して、出力プロバイダのドロップダウン リストから [Unreal Remote Output Provider (Unreal リモート出力プロバイダ)] を選択します。

    Select Remote Output Provider

  2. デバイス上で Unreal Remote 2 アプリを開きます。コンピュータの IP アドレスを入力し、 [Connect (接続)] ボタンをタップすると接続を試行、確立します。

  3. メイン エディタのビューポートがデバイスの画面にミラーリングされるようになりました。

    Screen mirrored on your device

メディア出力プロバイダ

Media Output Provider (メディア出力プロバイダ) は 、Black Magic やAJA のビデオ キャプチャ カードなどの Unreal Media Framework (メディア フレームワーク) でサポートされているデバイスにバーチャル カメラの出力を送信します。

選択すると、出力パラメータを指定するために使用する Output Config (出力コンフィグ) が選択できるようになります。

Output Config

Unreal Media Framework の使用方法の詳細については、メディア フレームワークのドキュメント ページを参照してください。

コンポジット出力プロバイダ

Composure Output Provider (コンポジット出力プロバイダ) は、バーチャル カメラの出力を、 コンポジット プラグイン が直接使用できる レンダーターゲット に送信します。さらに、カメラのビューをレンダリングする Composure レイヤー ターゲット を指定することもできます。

Composure Plugin

Composure プラグインの使用方法の詳細については、「 Composure によるリアルタイム コンポジット 」を参照してください。

このセクションの結果

このセクションでは、バーチャル カメラ コンポーネントに様々な出力プロバイダを追加する方法を学習しました。これで、バーチャル カメラを使用して、エディタ ビューポートまたは外部デバイスにリモート セッション プロトコル経由で直接出力できるようになりました。

また、Unreal メディア フレームワークと Composure プラグインで処理される出力を送信する方法についても学習しました。

次のステップ

バーチャル カメラを自分で作成できるようになりました。次の「 バーチャル カメラ アクタのクイックスタート 」では、Unreal Engine に収録されているプレビルドのバーチャル カメラ アクタを見てみましょう。

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