カメラのキャリブレーションのクイック スタート ガイド

Camera Calibration プラグインのクイック スタート ガイド

Windows
MacOS
Linux

目標

このクイック スタート ガイドでは、Camera Calibration プラグインを使用してビデオ フィードの接続およびキャリブレーションを実行する手順について説明します。

目的

  • ライブ フィードが提供されるようにカメラを Unreal Engine に接続する。

  • Camera Calibration プラグインを使用してカメラをキャリブレーションする。

1 - 必要な設定

このガイドでは、Blackmagic Ultra HD カメラ、Panasonic Lumix レンズ、および HTC Vive Tracker 3 を使用してシーン内の CineCamera アクタを制御します。

Unreal Engine では、現在のところ、一部のウルトラワイド カメラ レンズのみをサポートしています。

  1. 新しい Unreal Engine プロジェクトを作成します。[Film, Television, and Live Events (映画、テレビ、ライブ イベント)] カテゴリを選択し、 [Next (次へ)] ボタンをクリックします。

    Select the Film, Television, Live Events category

  2. Virtual Production」テンプレートを選択し、 [Next] ボタンをクリックします。

    Select Virtual Production template

  3. ファイルの場所とプロジェクト名を入力し、 [Create Project (プロジェクトを作成)] をクリックします。

    Click the Create Project button

  4. エディタがロードされたら、 [Settings (設定)] > [Plugins (プラグイン)] の順にクリックして [Plugins (プラグイン)] メニュー を開きます。

    Open the Plugins Menu

  5. [Virtual Production] カテゴリを選択し、 Camera Calibration プラグインと LiveLinkXR プラグインを オン にします。ポップアップ ボックスで [Yes (はい)] を選択し、 [Restart Now (すぐに再起動)] ボタンをクリックしてエディタを再起動します。

    Enable the Camera Calibration plugin

    Enable the LiveLinkXR plugin

    Click the Restart Now button

このセクションの結果

Camera Calibration プラグインと LiveLinkXR プラグインを有効化し、エディタを再起動しました。これで、カメラのキャリブレーションの準備が整いました。

2 - シーンを設定する

  1. [Place Actors (アクタを配置)] パネルに移動し、「CineCamera Actor」を検索します。このアクタをレベルにドラッグします。

    Place a CineCamera actor in your level

  2. [Place Actors] パネルで、「Camera Calibration Checkerboard」を検索します。このアクタをレベルにドラッグします。

    Place a Camera Calibration Checkerboard actor in your level

  3. コンテンツ ブラウザ[View Options (表示オプション)] ボタンをクリックし、 [Show Engine Content (エンジンのコンテンツを表示)][Show Plugin Content (プラグインのコンテンツを表示)] オプションをオンにします。

    Show plugin content

  4. コンテンツ ブラウザ「CameraCalibration Content」>「Devices」>「Tracker」に移動します。BP_UE_Tracker3 ブループリントをレベルにドラッグします。

    Navigate to the tracker

  5. レベル内の CineCamera アクタ を選択し、 [Details (詳細)] パネルに移動します。[Filmback (フィルムバック)] セクションまで下にスクロールし、 [Sensor Width (センサーの幅)][Sensor Height (センサーの高さ)] に、物理カメラと一致する値を入力します。

    Enter the sensor width and height

  6. CineCamera アクタ を選択した状態で [Details] パネルに移動し、 [Add Component (コンポーネントを追加)] ボタンをクリックします。Live Link Controller を検索して選択します。

    Add the Live Link Controller component

  7. [Window (ウィンドウ)] > [Live Link (ライブリンク)] をクリックして、 [Live Link] ウィンドウを開きます。

    Open the Live Link window

  8. [Source (ソース)] > [LiveLinkXR Source (LiveLinkXR ソース)] に移動し、 [Add (追加)] ボタンをクリックして接続済みの Vive トラッカーを追加します。これで、Live Link を使用して接続されたトラッカーが表示されます。

    HTC Vive デバイスおよび SteamVR デバイスの開発の詳細情報については、「SteamVR の開発ドキュメント」を参照してください。

    Add the trackers as a source

    Receiving tracking information

  9. 実際の FIZ ソースを使用していないため、 LiveLink ブループリントの仮想サブジェクト を使用して仮想ソースを作成する必要があります。コンテンツ ブラウザ 内を右クリックして [LiveLink] > [Blueprint Virtual Subject (ブループリントの仮想サブジェクト)] を選択します。ドロップダウンをクリックし、 LiveLinkCameraRole を選択して [OK] ボタンをクリックします。ブループリントに「VirtualPrestonFIZ」という名前を付けます。

    Create a new virtual subject

    Select the LikeLink Camera Role

  10. VirtualPrestonFIZ ブループリントをダブルクリックして開きます。[+ Variable (+ 変数)] ボタンをクリックして新しい変数を追加します。変数の名前を「Focus」にします。[Details] パネルに移動し、 [Variable Type (変数の型)][Float (浮動小数)] に設定します。[Instance Editable (インスタンス編集可能)] チェックボックスを オン にします。

    Add a new variable

    Name it Focus and set it as Float

  11. 上記手順を繰り返し、さらに 2 つの浮動小数の変数を作成し、「Zoom」と「Iris」という名前を付けます。

    Create Zoom and Iris

    1. [Event Graph (イベント グラフ)] 内を右クリックし、「Update Virtual Subject Static Data」を検索して選択します。Update Virtual Subject Static Data ノードを Event On Initialize ノードに接続します。Update Virtual Subject Static Data ノードの Static Data ピンを右クリックし、 [Split Struct Pin (構造体ピンを分割)] をクリックします。

    Add Update Virtual Subject Frame Data node

    Right click the Frame Data pin and click Split Struct

  12. 以下のように、 [Focal Length (焦点距離)][Aperture (絞り)] 、および [Focus Distance (フォーカス距離)]オン にします。

    Enable Focal Length, Aperture, and Focus Distance

  13. [Event Graph] 内を右クリックし、「Update Virtual Subject Frame Data」を検索して選択します。Update Virtual Subject Frame Data ノードを Event On Update ノードに接続します。Update Virtual Subject Frame Data ノードの Frame Data ピンを右クリックし、 [Split Struct Pin (構造体ピンを分割)] をクリックします。このイベントはティックごとにトリガーされ、各フレームで利用可能な FIZ データの更新に使用されます。

    Add Update Virtual Subject Frame Data node

    Right click the Frame Data pin and click Split Struct

  14. Zoom 変数を Focal Length ピンに接続します。Iris 変数を Aperture ピンに接続します。Focus 変数を Focus Distance ピンに接続します。ブループリントを コンパイル して、保存 します。

    Add Update Virtual Subject Frame Data node

  15. [Source] > [Add Virtual Subject (仮想サブジェクトを追加)] に移動し、 [Virtual Subject (仮想サブジェクト)] ウィンドウを開きます。VirtualPrestonFIZ サブジェクトを選択し、 [Add] ボタンをクリックします。

    Add the trackers as a source

    Select the Virtual Preston FIZ subject

    Virtual subject is now set up

  16. コンテンツ ブラウザ で右クリックして、 [Miscellaneous (その他)] > [Lens File (レンズ ファイル)] を選択し、Lens File アセットを作成します。アセットの名前を「LumixLens」にします。

    Create a Lens File asset

  17. CineCamera アクタ を選択し、 [Details] パネルに移動します。[Live Link] セクションまで下にスクロールし、 [Subject Representation (サブジェクト表現)] の横にある ドロップダウン メニュー をクリックします。リストから使用するトラッカーを選択します。

    Add your tracker to the CineCamera

  18. CineCamera アクタ を選択した状態で [Details] パネルに移動し、 [Add Component] ボタンをクリックします。別のコンポーネントを追加するために Live Link Controller を検索して選択します。[Live Link] セクションまで下にスクロールし、 [Subject Representation] の横にある ドロップダウン をクリックします。リストから使用する仮想サブジェクトを選択します。

    Add your virtual subject to the CineCamera

  19. [Details] パネルで、 [Camera Role (カメラ ロール)] セクションまで下にスクロールし、 [Lens File] の横にある ドロップダウン メニュー をクリックします。「LumixLens」を検索して選択します。

    Add your Lens File to the CineCamera

  20. BP_UE_Tracker3 ブループリントを選択して [Details] パネルに移動します。[LiveLink Component Controller (LiveLink コンポーネント コントローラー)] を選択し、 [Live Link] セクションまで下にスクロールします。[Subject Representation] の横にあるドロップダウン メニュー をクリックし、使用するトラッカーを選択します。

    Add your subject to the Tracker

  21. CameraCalibrationCheckerboard アクタを選択し、 [Details] パネルに移動します。[Calibration (キャリブレーション)] セクションまで下にスクロールし、 [Square Side Length (四角形の辺の長さ)] の数を入力します。この例では、測定用に以下の画像を使用します。

    Checkerboard example

    Enter the calibration information

  22. 視性を高めるため、 [Odd Cube Material (奇数のキューブ マテリアル)] および [Even Cube Material (偶数のキューブ マテリアル)] スロットにマテリアルを追加します。

    Add materials

    Resulting checkerboard after adding materials

このセクションの結果

このセクションでは、 CineCamera アクタ、 Camera Calibration Checkerboard アクタ、 BP_UE_Tracker3 ブループリントをレベルに追加しました。Live Link を使用してトラッカーを接続し、アクタを正しく設定しました。これで、レンズのキャリブレーションの準備が整いました。

3 - レンズのキャリブレーションを実行する

  1. コンテンツ ブラウザ で、 LumixLens アセットをダブルクリックして開きます。[Calibration Steps (キャリブレーション ステップ)] パネルをクリックし、 [Lens Information (レンズ情報)] タブを選択します。[Lens Info (レンズ情報)] セクションに移動し、レンズ情報を入力して [Save Lens Information (レンズ情報を保存)] ボタンをクリックします。

    Select the Lens Information tab

    Enter the lens information

  2. [Lens File Panel (レンズ ファイル パネル)] をクリックし、 [Focus (フォーカス)] を選択します。

    Select Focus

  3. [+] ボタンをクリックし、 [Input Focus (入力フォーカス)] に値「0」を入力します。[Encoder Mapping (エンコーダ マッピング)] に値「100」を入力します。[Add] ボタンをクリックし、このデータ ポイントをグラフに追加します。この手順を繰り返し、 [Encoder Mapping] に値「1000」を、 [Input Focus] に値「1」を入力します。

    Enter the focus information for a value of 0

    Enter the focus information for a value of 1

  4. [Iris (絞り)] を選択し、 [Encoder Mapping] に値「1.8」を、 [Input Focus] に値「0」を入力します。[Add] ボタンをクリックし、このデータ ポイントをグラフに追加します。この手順を繰り返し、 [Encoder Mapping] に値「4.5」を、 [Input Iris] に値「1」を入力します。

    Enter the iris information for a value of 0

    Enter the iris information for a value of 1

  5. [Calibration Steps (キャリブレーション ステップ)] パネルに戻り、 [Lens Distortion (レンズの歪み)] タブを選択します。チェッカーボードの画像を全画面で開き、カメラをその画面に向けます。チェッカーボード全体を表示した状態で、ビューポートをクリックして画像を撮影します。この手順を複数回繰り返し、複数の画像を撮影します。

    このプロセスを複数のズーム レベルとフォーカス値で繰り返し、可能な限り最適なキャリブレーションを行います。

    Point the camera to the checkerboard

  6. さまざまな角度から複数の画像を撮影したら、 [Add To Lens Distortion Calibration (レンズ歪みキャリブレーションに追加)] ボタンをクリックします。ポップアップ ウィンドウで [OK] をクリックし、キャリブレーション データを受け入れます。

    Add the images for calibration

  7. [Nodal Offset (節点オフセット)] タブを選択し、 [Nodal Offset (節点オフセット)] セクションで、 [Nodal Offset Algo (節点オフセット アルゴリズム)] ドロップダウン メニューをクリックします。[Nodal Offset Checkerboard (節点オフセット チェッカーボード)] を選択します。

    Select the Nodal Offset Checkerboard algorithm

  8. 画面上のチェッカーボードに再度カメラを向けて、ビューポートをクリックします。これにより、画像の角が検出されます。[Apply to Calibrator (キャリブレーターに適用)] ボタンをクリックし、 Camera Calibration Checkerboard アクタを画面のチェッカーボードと位置合わせします。

    Click on the Apply to Calibrator button

    The checkerboards are now aligned on the screen

  9. これで、バーチャル カメラの節点オフセットをキャリブレーションできました。[Nodal Offset Algo]Nodal Offset Points Method (節点オフセット ポイント メソッド) に、 [Calibrator (キャリブレーター)] をトラッカーに設定します。[Calibration Point (キャリブレーション ポイント)]PointLed に設定します。

    Enter the Nodal Offset information

  10. トラッカーのライトをカメラに向けたままにし、ビューポートのライトをクリックします。この手順を複数回繰り返し、複数のデータ ポイントを作成します。[Add To Nodal Offset Calibration (節点オフセット キャリブレーションに追加)] ボタンをクリックします。

    Click on the light several times to create points.

    期待した正確さで追跡ができない場合は、他のポイントを使用してこのプロセスを繰り返すことができます。

    The trackers are now aligned

  11. [Lens File] ウィンドウを閉じ、トラッカーを移動したときに CineCamera アクタが正しく動くことを確認します。 The tracker is setup correctly

このセクションの結果

このセクションでは、Lens File を使用してレンズの情報を入力し、レンズの歪みをキャリブレーションし、正しい節点オフセットを追加しました。また、CineCamera アクタが物理カメラの位置、回転、およびレンズの歪みをシミュレーションするようになりました。

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