Unreal での HoloLens 写真/ビデオ カメラHoloLens Photo/Video Camera in Unreal

概要Overview

HoloLens には、Mixed Reality Capture (MRC) に使用される写真/ビデオ (PV) カメラがあり、アプリで実際のビジュアルにアクセスするために使用できます。The HoloLens has a Photo/Video (PV) Camera that is used for both Mixed Reality Capture (MRC) and can be used by an app to access real-world visuals.

重要

Holographic Remoting では PV カメラはサポートされていませんが、お使いの PC に搭載のウェブ カメラを使用して、HoloLens PV カメラの機能をシミュレートできます。The PV Camera isn't supported with Holographic Remoting, but it's possible to use a webcam attached to your PC to simulate the HoloLens PV Camera functionality.

MRC 用の PV カメラからのレンダリングRender from the PV Camera for MRC

注意

これには Unreal Engine 4.25 以降のバージョンが必要です。This requires Unreal Engine 4.25 or newer.

システムとカスタム MRC レコーダーは、PV カメラとイマーシブ アプリによってレンダリングされたホログラムを組み合わせることにより、Mixed Reality キャプチャを作成します。The system, and custom MRC recorders, create mixed reality captures by combining the PV Camera with holograms rendered by the immersive app.

既定では、Mixed Reality キャプチャでは、右目のホログラフィック出力が使用されます。By default, mixed reality capture uses the right eye's holographic output. イマーシブ アプリが PV カメラからのレンダリングを選択した場合は、それが代わりに使用されます。If an immersive app chooses to render from the PV Camera then that will be used instead. これにより、現実世界と MRC ビデオのホログラムとの間のマッピングが向上します。This improves the mapping between the real world and the holograms in the MRC video.

PV カメラからの表示をオプトインするには、次のようにします。To opt-in to rendering from the PV Camera:

  1. SetEnabledMixedRealityCamera および ResizeMixedRealityCamera の呼び出しCall SetEnabledMixedRealityCamera and ResizeMixedRealityCamera
    • サイズ X および サイズ Y の値を使用して、ビデオのディメンションを設定します。Use the Size X and Size Y values to set the video dimensions.

第 3 のカメラ

その後、Unreal は MRC からのリクエストを処理して、PV カメラの視点からレンダリングします。Unreal will then handle requests from MRC to render from the PV Camera's perspective.

注意

Mixed Reality キャプチャがトリガーされた場合にのみ、アプリは写真/ビデオ カメラの視点からレンダリングするよう求められます。Only when Mixed Reality Capture is triggered will the app be asked to render from the photo/video camera's perspective.

PV カメラの使用Using the PV Camera

Web カメラ テクスチャは実行時にゲームで入手できますが、エディターの [編集] > [プロジェクトの設定] で有効にする必要があります。The webcam texture can be retrieved in the game at runtime, but it needs to be enabled in the editor's Edit > Project Settings:

  1. [プラットフォーム] > [HoloLens] > [機能] に移動し、Web カメラ を確認します。Go to Platforms > HoloLens > Capabilities and check Webcam.
    • 実行時に Web カメラを使用するには、StartCameraCapture 関数を使用し、記録を停止するには、StopCameraCapture 関数を使用します。Use the StartCameraCapture function to use the webcam at runtime and the StopCameraCapture function to stop recording.

カメラの開始と停止

イメージのレンダリングRendering an image

カメラ イメージをレンダリングするには次のようにします。To render the camera image:

  1. 以下のスクリーンショットでは PVCamMat という名前のプロジェクトのマテリアルに基づいて、ダイナミック マテリアル インスタンスを作成します。Create a dynamic material instance based on a material in the project, which is named PVCamMat in the screenshot below.
  2. ダイナミック マテリアル インスタンスを Material Instance Dynamic Object Reference 変数に設定します。Set the dynamic material instance to a Material Instance Dynamic Object Reference variable.
  3. カメラ フィードをレンダリングするシーン内のオブジェクトのマテリアルを、この新しいダイナミック マテリアル インスタンスに設定します。Set the material of the object in the scene that will render the camera feed to this new dynamic material instance.
    • カメラ イメージをマテリアルにバインドするために使用されるタイマーを開始します。Start a timer that will be used to bind the camera image to the material.

カメラのレンダリング

  1. このタイマーに新しい関数 (この場合は MaterialTimer) を作成し、GetARCameraImage を呼び出して、Web カメラからテクスチャを取得します。Create a new function for this timer, in this case MaterialTimer, and call GetARCameraImage to get the texture from the webcam.
  2. このテクスチャが有効な場合は、シェーダーのテクスチャ パラメーターをこのイメージに設定します。If the texture is valid, set a texture parameter in the shader to the image. そうでない場合は、もう一度素材のタイマーを開始します。Otherwise, start the material timer again.

Web カメラからのカメラ テクスチャ

  1. マテリアルに、カラー エントリにバインドされている SetTextureParameterValue の名前と一致するパラメータがあることを確認します。Make sure the material has a parameter matching the name in SetTextureParameterValue that's bound to a color entry. これを行わないと、カメラ イメージを正しく表示できません。Without this, the camera image can't be properly displayed.

カメラのテクスチャ

次の開発チェックポイントNext Development Checkpoint

私たちが用意した Unreal 開発チェックポイント体験に従っている場合、読者は Mixed Reality プラットフォームの機能と API を探索している段階にいます。If you're following the Unreal development checkpoint journey we've laid out, you're in the midst of exploring the Mixed Reality platform capabilities and APIs. ここから、次のトピックに進むことができます。From here, you can proceed to the next topic:

または、デバイスまたはエミュレーターへのアプリの配置操作に直接移動します。Or jump directly to deploying your app on a device or emulator:

いつでも Unreal 開発チェックポイントに戻ることができます。You can always go back to the Unreal development checkpoints at any time.

関連項目See also