ぼっちプログラマのメモ

UE4とかVRとかについて書いたり書かなかったり。

UE4.17で追加された、VRのSpectator Screen機能について

はじめに

現在Preview版が配信されているUE4.17からSpectator Screen機能が追加されます。
この機能を使うことで、VRHMD上の映像とは異なる映像をPCモニタに出力することができます。対応しているVRHMDは、OculusRift, HTCVive, PlayStationVRです。
f:id:pafuhana1213:20170718001312j:plain
(PSVRのソーシャルスクリーンとほぼ同じ内容ですね!中身はともかく)

ただし、まだ最低限度レベルでのサポート・機能しかありません。その為、VRプレイヤーと非VRプレイヤーの操作分けなどは独自に組む必要があります。この辺りは今後サポートが追加されていく予定です。


ではでは、UE4.17では何ができるのかを紹介していきます。

Set Spectator Screen Mode

f:id:pafuhana1213:20170718001641p:plain

PCモニタ上に何を表示するのかを選択することができます。各項目の結果は以下の通り。

Disabled

f:id:pafuhana1213:20170718002027p:plain

SingleEyeLetterBoxed

f:id:pafuhana1213:20170718003406p:plain

Undisorted

f:id:pafuhana1213:20170718002312p:plain

Disorted

f:id:pafuhana1213:20170718002337p:plain

SingleEye

f:id:pafuhana1213:20170718002426p:plain

SingleEyeCroppedToFill

f:id:pafuhana1213:20170718002452p:plain

Texture

f:id:pafuhana1213:20170718002556p:plain

TexturePlusEye

f:id:pafuhana1213:20170718003043p:plain

Set Spectator Screen Texture

f:id:pafuhana1213:20170718003522p:plain

Spectator Screen ModeをTextureに設定した際にPCモニタ上に表示するテクスチャを指定します。
例えば別視点における映像をPCモニタ上に出したい場合は、SceneCapture2Dをレベルに配置し、そこで使用しているRenderTargetをSpectator Screen Textureにすることで実現できます。

Set Spectator Screen Mode Plus Eye Layout

f:id:pafuhana1213:20170718004120p:plain

このノードを使うことで、VRHMD画面と指定テクスチャを同時に表示することができます。例えば、RoboRecallのようにスコアを画面に出したい場合はこの機能が有用です。
f:id:pafuhana1213:20170718004259j:plain

…ただPreview1の段階では上手く機能していない模様。正式版がリリースされたら再度確認します…

最後に

この機能を使うことで、PlayStationVRのPlayRoomVRのような非対称なVRゲームを作ることができます!また、第3者やPV撮影用にカメラ移動に補正をかけたものをモニタに映すという使い方もあります!その他にも用途は多数あるので、是非使ってみて下さい!


…VRHMD(2) + 1 = 3枚分画面を描画することになるので…
処理負荷にはご注意を…(´・ω:;.:...