nDisplay コンフィギュレーション ファイルのリファレンス

nDisplay コンフィギュレーション ファイルで使用できるすべての設定のリファレンス ガイドです。

Windows
MacOS
Linux

nDisplay システムのほとんどの設定要素は、単一のコンフィギュレーション ファイルで定義します。このファイルでは、ネットワークを構成するコンピュータ、各コンピュータ上で Unreal Engine がレンダリングするウィンドウとビューポートの特性、各ビューポートがレンダリングする必要のある仮想ワールドのパーツ、受け入れる入力デバイスのタイプなどが指定されます。

このページでは、nDisplay コンフィギュレーション ファイルで使用可能なすべての設定について説明します。

nDisplay コンフィギュレーション ファイルの概要を把握し、独自のコンフィギュレーション ファイルを作成するには、手始めに nDisplay プラグインで提供されているサンプル コンフィギュレーションを使用することをお勧めします。「nDisplay」テンプレートからプロジェクトを作成した場合、これらのファイルは「Content/ExampleConfigs」の下にある「Project」フォルダにあります。その他の場合、これらのファイルは、Templates/TP_nDisplayBP/Content/ExampleConfigs」の下にある Unreal Engine のインストール フォルダにあります。

nDisplay コンフィギュレーション ファイルの構造は、視覚化のレンダリングに使用するさまざまなタイプのコンポーネントに直接関連付けられています。

  • コンフィギュレーション ファイルには、設定するコンポーネントのタイプごとに独自の行があり、ユーザーが割り当てる文字列 ID で識別されます。特定のコンフィギュレーション セクションで他のコンフィギュレーション セクションを参照する必要がある場合は、この文字列 ID を使用します。

  • このファイルで設定するコンポーネントの多くには、仮想 3D 空間における位置 (および多くの場合回転状態) が定義されています。各オブジェクトの位置と回転状態は、そのオブジェクトの が基準となります。デフォルトでは、すべてのオブジェクトの親は VR 空間の原点です。原点は、VR 空間が開始すると見なされる 3D ワールド空間の任意の点です。また、1 つ以上のコンポーネントの親として機能することができる scene_nodes という特殊な名前付きのトランスフォームを 3D 空間で構成することもできます。このトランスフォームを構成することで、スクリーン、カメラ、その他のコンポーネントの空間レイアウトを簡素化できます。 scene_nodes を使用して、すべてが仮想空間の同じポイントから始まる 3D トランスフォームの階層を構築する方法については、以下の コンフィギュレーション ファイルの例 のセクションを参照してください。

  • 仮想 3D 空間または実世界の物理空間での測定値を参照するすべてのパラメータは、特に指定のない限り、メートル単位および度単位の値が想定されます。これには、スクリーン、シーン ノード、カメラなどが含まれます。

  • スクリーン スペースの測定値を参照するすべてのパラメータは、ピクセル単位の値が想定されます。これには、ウィンドウとビューポートが含まれます。

クラスタ ノード コンフィギュレーション

nDisplay ネットワークで使用する Unreal Engine アプリケーションの各インスタンスで、cluster_node コンフィギュレーションを定義する必要があります。各 cluster_node コンフィギュレーションには、メイン アプリケーション ウィンドウのプロパティを定義する window コンフィギュレーション セクションへの参照が含まれている必要があります。

cluster_node コンフィギュレーションでは、そのアプリケーション インスタンスを実行するコンピュータのホスト名または IP アドレスも定義します。cluster_node コンフィギュレーションごとに異なる物理コンピュータを設定したり、同一ホスト上で実行される複数の cluster_node コンフィギュレーションを設定することもできます。

コンフィギュレーションの例:

この例では、マスター ノード (ネットワークごとに 1 つ) を設定します。

[cluster_node] id=node_front addr=192.168.0.1 window=wnd_LT sound=true port_cs=41001 port_ss=41002 master=true

この例では、マスター以外のクラスタ ノードを示しています。

[cluster_node] id=node_left addr=192.168.0.2 window=wnd_large sound=false

パラメータ:

パラメータ

説明

id

当該 cluster node コンフィギュレーションの一意の名前。

addr

Unreal Engine の当該インスタンスを実行するコンピュータの IP アドレス。これは IPv4 アドレスである必要があります。IPv6 はサポートされていません。

window

Unreal Engine アプリケーションの当該インスタンスのメイン ウィンドウのサイズと位置を定義する window コンフィギュレーションの名前。

sound

Unreal Engine の当該インスタンスでサウンドを再生するかどうかを指定します。オプション。デフォルト値は「false」です。

port_cs port_ss port_ce

マスター ノードがクラスタの他のノードと通信するために使用するポート。port_cs はクラスタ同期用、port_ss はスワップ同期用、port_ce クラスタ イベント用です。オプション。デフォルト値はそれぞれ「14001,」、「14002」、および「14003」です。

master

Unreal Engine の当該インスタンスがクラスタのマスター ノードであるかどうかを指定します。このパラメータを「true」に設定できるのは、1 つの cluster_node セクションのみです。オプション。デフォルト値は「false」です。

eye_swap

左目用および右目用に生成された画像を切り替えるかどうかを指定します。オプション。デフォルト値は「false」です。

ウィンドウ コンフィギュレーション

window コンフィギュレーションでは、Unreal Engine アプリケーションのインスタンスのメイン ウィンドウの一連のプロパティを定義します。このコンフィギュレーションを使用して、nDisplay がアプリケーションを起動したときのウィンドウの開始サイズや配置、ウィンドウをフルスクリーンで表示するかどうかなどを設定します。

また、1 つ以上の viewport コンフィギュレーションも指定します。このコンフィギュレーションでは、nDisplay でシーンのレンダリングを表示するメイン アプリケーション ウィンドウ内の特定の領域を識別します。

コンフィギュレーションの例:

この例では、単一のビューポートを含むアプリケーション ウィンドウを設定します。

[window] id=wnd_one fullscreen=false WinX=0 WinY=0 ResX=640 ResY=480 viewports=vp_LT

この例では、4 つの個別のビューポートを含むアプリケーション ウィンドウを設定します。

[window] id=wnd_four fullscreen=false WinX=0 WinY=0 ResX=640 ResY=480 viewports="vp_LT,vp_RB,vp_LB,vp_RT"

パラメータ:

パラメータ

説明

id

当該 window コンフィギュレーションの一意の名前。

fullscreen

ウィンドウをフルスクリーン モードで実行するかどうかを指定します。この値を「false」に設定する場合は、以下の WinXWinYResX、および RexY の各設定を指定する必要があります。

Winx WinY

デスクトップ上のアプリケーション ウィンドウの左上隅の位置をスクリーン スペースのピクセル単位で指定します。

ResX ResY

アプリケーション ウィンドウのサイズをスクリーン スペースのピクセル単位で指定します。

viewports

nDisplay でシーンのレンダリングされたビューを表示するメイン アプリケーション ウィンドウの領域を定義する 1 つ以上の viewport コンフィギュレーション セクションを参照する。 複数のビューポートを指定する場合は、viewport コンフィギュレーションの複数のセクション名の間をコンマで区切ってリストし、そのリストを引用符で囲む必要があります。上記の「コンフィギュレーションの例」セクションの wnd_four の例を参照してください。このリストの順序は、ビューポートの視覚的な順序や配置には影響しません。親ウィンドウ内のビューポートの配置は、指定の viewport コンフィギュレーションで定義されます。

使用するビューポートの定義がウィンドウのサイズを超えないようにしてください。

ビューポート コンフィギュレーション

上記の各 window コンフィギュレーションでは 1 つ以上の viewport コンフィギュレーションを参照します。参照される各コンフィギュレーションでは、nDisplay がシーンのレンダリングされたビューを表示する必要のあるゲーム ウィンドウの長方形の領域を定義します。

通常、ビューポートはアプリケーション ウィンドウの左上隅から開始して、その幅と高さが親ウィンドウを埋めるように設定されます。ただし、場合によっては、親アプリケーション ウィンドウ内でビューポートのオフセットを調整する必要があります。例えば、一部が重なる 2 つのプロジェクターをセットアップする必要がある場合、または異なる位置で複数の個別のビューポートをホストする 1 つのアプリケーション ウィンドウが必要な場合は、オフセットを調整することをお勧めします。

コンフィギュレーションの例:

[viewport] id=vp_LT X=0 Y=0 width=300 height=220 projection=proj_simple_LT

パラメータ:

パラメータ

説明

id

当該 viewport コンフィギュレーションの一意の名前。

X Y

メイン アプリケーション ウィンドウのスクリーン スペース内のビューポートの左上隅の座標 (ピクセル単位)。なお、これらの値は、スクリーン自体の左上隅を基準としているのではなく、アプリケーション ウィンドウの左上隅を基準としています。

width height

レンダリングされたフレームの幅と高さ (ピクセル単位)。これは、当該ビューポートを使用するすべての window コンフィギュレーションの size パラメータで設定されたゲーム ウィンドウのサイズより大きくすることはできません。

projection

当該ビューポートに描画する必要のある仮想ワールドのレンダリングされたビューを定義する projection の名前。

投影コンフィギュレーション

上記の各 viewport コンフィギュレーションでは、projection コンフィギュレーションを参照します。このコンフィギュレーションは、ビューポートで描画する必要があるレンダリングされた画像を定義します。

最も一般的な状況では、simple 投影タイプを使用します。この投影タイプでは、当該 nDisplay コンフィギュレーション ファイルの他の場所の screen コンフィギュレーションのセクションで定義された視錐台を使用して、現在のカメラの位置から仮想ワールドをレンダリングします。

easyblendmpcdi などの他の投影タイプでは、他の方法を使用してビューポート用のレンダリングされたコンテンツを定義します。また、画像を長方形のビューポートにレンダリングする前に追加の修正を行ったり、追加のレンダリング手法を適用したりすることもできます。例えば、投影では、カーブしたサーフェスで表示した場合に自然に見えるように、画像を押しつぶしたり、伸ばしたり、歪ませたりすることができます。

コンフィギュレーションの例:

次の例では、最も単純なユース ケースを示します。このユース ケースは、レンダリングされた画像を歪めたり修正したりすることなく、scr_LT という名前の screen コンフィギュレーションで定義された視錐台をビューポートに直接ルーティングします。

[projection] id=proj_simple_LT type=simple screen=scr_LT

次の例では、easyblend 投影タイプを使用して、スケーラブル ディスプレイのコンフィギュレーション ファイルで定義されたサーフェスにレンダリングする方法を示しています。

[projection] id=proj_easyblend_1 type="easyblend" file="D:\eb_data\ScalableData.pol_1" origin=easyblend_origin_1 scale=0.1

次の例では、mpcdi 投影タイプを使用して、MPCDI コンフィギュレーション ファイルで定義されたサーフェスにレンダリングする方法を示しています。

[projection] id=proj_mpcdi_LT type="mpcdi" file="D:\rot90_flat.mpcdi" buffer="Mosaic" region="Monitor_R" origin=mpcdi_origin

次の例では、mpcdi 投影タイプを使用して、指定された .png ファイルで定義されたアルファ ブレンディング マップを使用して、指定された.pfm ジオメトリ ファイルで定義されたカーブしたサーフェスにレンダリングする方法を示しています。

[projection] id=proj_mpcdi_LT type="mpcdi" pfm="D:\geom_displayLeft1.pfm" alpha="D:\Left1blend.png" alpha_gamma=2 origin=mpcdi_origin

パラメータ:

パラメータ

説明

id

当該 projection コンフィギュレーションの一意の名前。

type

nDisplay がビューポートで描画するレンダリングされた画像を生成する方法を定義する投影タイプ。このパラメータでは、次の値を受け入れます。

  • simplescreen コンフィギュレーション セクションで定義された仮想ワールドの視錐台をビューポートにレンダリングします。

  • easyblendScalable Display Technologies のツールを使用して較正した仮想ワールドのビューをビューポートにレンダリングします。

  • mpcdiMPCDI を使用して較正した仮想ワールドのビューをビューポートにレンダリングします。

type=simple である投影では、さらに次のパラメータも受け入れます。

パラメータ

説明

screen

Unreal Engine アプリケーションが当該ビューポートにレンダリングする必要のある 3D 空間の視錐台を定義する screen コンフィギュレーションの名前。

type=easyblend である投影では、さらに次のパラメータも受け入れます。

パラメータ

説明

file

当該ビューポートを投影するサーフェスを定義するスケーラブル ディスプレイのキャリブレーション ファイルのパスとファイル名。

origin

投影の開始点を定義する scene_node コンフィギュレーション セクションの ID。これにより、スケーラブル ディスプレイ キャリブレーション ファイルで定義された参照のフレームが、Unreal Engine のレベルの仮想空間にマッピングされます。

scale

投影で使用するスケール ファクタ。

type=mpcdi である投影では、さらに次のパラメータも受け入れます。

パラメータ

説明

origin

投影の開始点を定義する scene_node コンフィギュレーション セクションの ID。これにより、MPCDI キャリブレーション ファイル (または .pfm ジオメトリ ファイル) で定義された参照のフレームが Unreal Engine のレベルの仮想空間にマッピングされます。

file

ビューポートを投影するサーフェスのジオメトリを定義する .mpcdi ファイルのパスとファイル名。

buffer

当該ビューポートの投影領域を定義する .mpcdi ファイル内のバッファの ID。

region

レンダリング先にする必要のある上記で設定したバッファ内の領域の ID。

pfm

上記の filebuffer、および region の各設定を使用して当該ビューポートが mpcdi ファイルのデータに基づいて投影されるサーフェスのジオメトリを定義するのではなく、pfm 設定を使用すると、ユーザーが指定する .pfm ファイルで投影のジオメトリを指定できます。

scale

pfm 設定を使用する場合、scale 設定を使用すると、ジオメトリに使用するスケール ファクタを指定できます。オプション。

ue4space

pfm 設定を使用する場合、Unreal Engine の座標系で.pfm ファイルがすでに表されているときは ue4space 設定を使用できます。オプション。

alpha

投影の強度を定義するアルファ ブレンド マップとして使用する .png ファイルのパスとファイル名。オプション。

alpha_gamma

alpha 設定を使用する場合、alpha_gamma 設定を使用すると、アルファ ガンマの乗数を指定できます。オプション。

beta

alpha 設定を使用する場合、beta 設定を使用すると、ベータ ブレンド マップとして使用する .png ファイルのパスとファイル名を指定できます。これは黒レベルの調整を定義します。オプション。

nDisplay では、現在、MPCDI バージョン 1.0、および 2D および A3D (すなわち Advanced 3D) のプロファイル タイプのみをサポートします。

スクリーン コンフィギュレーション

simple 投影タイプを使用する各種出力ディスプレイは、3D VR 空間におけるサイズと配置が定義済みの長方形で定義される視錐台を使用して、現在のカメラ位置からシーンをレンダリングします。このような各長方形は、screen コンフィギュレーションで定義します。通常、これらの各投影スクリーンは、投影スクリーンのレンダリングに使用する物理スクリーンと同じ寸法を VR 空間で持ちます。

スクリーンのピボット ポイントは、常に正確な中間点にあります。

コンフィギュレーションの例:

この定義は、親のすぐ前にある 3m x 3m のスクリーンを表します。スクリーンのピボット ポイントは size パラメータで定義された長方形の中心にあるため、Z 軸で 1.5 m のオフセットを追加して、スクリーンをその高さの半分のみ上に移動します。

[screen] id=screen_front loc="X=1.5.Y=0,Z=1.5" rot="P=0,Y=0,R=0" size="X=3,Y=3" parent=screens

ビューアの左側のスクリーンを定義するには、スクリーンを左に移動して (Y 軸の負の値)、ローカル Y 軸を中心に回転します (ヨー)。 

[screen] id=screen_left loc="X=0,y=-1.5,Z=1.5" rot="P=0,Y=-90,R=0" size="X=3,Y=3" parent=screens

パラメータ:

パラメータ

説明

id

当該 screen コンフィギュレーションの一意の名前。

loc

親を基準とした VR 空間での当該スクリーンの中心の位置。

rot

スクリーンの向きのピッチ (P)、ヨー (Y) およびロール (R) の角度 (度単位)。

size

ローカル X 軸と Y 軸に沿った長方形のスクリーンの合計サイズ (メートル単位)。

parent

当該オブジェクトの親として機能する必要のある scene_node コンフィギュレーションの名前。このパラメータはオプションです。親を指定すると、loc パラメータおよび rot パラメータで設定する値は、その親の位置が基準となります。親を指定しない場合、loc パラメータおよび rot パラメータで設定する値は、VR ルートが基準となります。

カメラ コンフィギュレーション

nDisplay クラスタのすべてのインスタンスは、仮想ワールドの同じ位置からシーンをレンダリングします。この場合の使用する可能性のある視点はそれぞれ、camera コンフィギュレーション行で定義されます。

これらの視点は、実行時に切り替えることができます。トラッキング デバイスで各カメラの視点を制御することもできます。

コンフィギュレーションの例:

[camera] id=camera_static loc="X=0.Y=0,Z=1.7" tracker_id=VRPNTracking tracker_ch=0

パラメータ:

パラメータ

説明

id

当該 camera コンフィギュレーションの一意の名前。

loc

親を基準とした VR 空間でのカメラの中心の位置。

tracker_id

時間の経過に伴いカメラの位置を制御したい VR デバイスを定義する input コンフィギュレーションの名前。オプション。このパラメータを省略すると、カメラの位置は VR 空間で固定されます。

tracker_ch

tracker_id を指定した場合、このパラメータで nDisplay がトラッキング データを読み取るデバイスのチャネルを指定します。

parent

当該オブジェクトの親として機能する必要のある scene_node コンフィギュレーションの名前。このパラメータはオプションです。親を指定すると、loc パラメータに設定する値は、その親の位置が基準となります。親を指定しない場合、loc パラメータに設定する値は、VR ルートが基準となります。

シーン ノード コンフィギュレーション

コンフィギュレーション ファイルでは、シーン ノードの階層を定義できます。各シーン ノードは 3D 空間でのトランスフォームを表します。カメラ、投影スクリーンなど、3D 空間での位置および回転状態を必要とするコンフィギュレーション ファイルで設定した要素はすべて、このような scene_node コンフィギュレーションのいずれかを親として使用できます。これは、視覚化システムのすべての異なるコンポーネント間の空間的な関係を定義するうえで役立ちます。

シーン ノードは、カメラと同じように、VR トラッキング デバイスでも制御できます。

コンフィギュレーションの例:

次の行では、2 つのノードの階層を定義しています。ここで、子ノードには親の前に 2 m のオフセットがあります。

[scene_node] id=vr_space_root loc="X=0.Y=0,Z=0" rot="P=0,Y=0,R=0"
[scene_node] id=walls_front_group loc="X=2.Y=0,Z=0" rot="P=0,Y=0,R=0" parent= vr_space_root

次の行では、VR トラッキング デバイスによって制御されるように設定されているシーン ノードを示しています。

[scene_node] id=cave_wand loc="X=0, Y=0,Z=1" tracker_id=CaveTracking tracker_ch=1

パラメータ:

パラメータ

説明

id

当該 scene node コンフィギュレーションの一意の名前。

loc

親を基準とした VR 空間でのシーン ノードの中心の位置。

rot

シーン ノードの向きのピッチ (P)、ヨー (Y) およびロール (R) の角度 (度単位)。

parent

当該のシーン ノードの親として機能する必要のある scene_node コンフィギュレーションの名前。このパラメータはオプションです。親を指定すると、loc パラメータおよび rot パラメータで設定する値は、その親の位置が基準となります。親を指定しない場合、loc パラメータおよび rot パラメータで設定する値は、VR ルートが基準となります。

tracker_id

時間の経過とともにシーン ノードの位置を制御する VR デバイスを定義する input コンフィギュレーションの名前。オプション。このパラメータを省略すると、シーン ノードの位置および回転状態は、親を基準として VR 空間で固定されます。

tracker_ch

tracker_id を指定した場合、このパラメータで nDisplay がトラッキング データを読み取るデバイスのチャネルを指定します。

入力コンフィギュレーション

nDisplay システムに入力を提供する必要のある各デバイスの input セクションを定義します。例えば、各 camera および各 scene_node は、必要に応じて、input セクションで設定し、camera または scene_node コンフィギュレーションで参照する VR トラッキング デバイスで制御できます。または、トラッカー、コントローラー、およびキーボードを設定して、汎用入力イベントを Unreal Engine 入力システムに送信したり、それらのイベントと入力値をプロジェクトのゲームプレイ スクリプトで応答できる汎用 nDisplay ブループリント ノードにバインドする必要がある場合があります。

input_setup セクションを使用して、これらの入力デバイスの特定のチャネル、ボタン、またはキーを、Unreal Engine 内の特定のタイプの入力イベントおよび値にバインドする方法を制御することもできます。

nDisplay 入力で実行できる内容の概要については、「VRPN 入力を使用する」を参照してください。

コンフィギュレーションの例:

このコンフィギュレーションでは、nDisplay をセットアップして VRPN ロケーション トラッキング デバイスから入力を取得します。通常、このタイプのデバイスは、カメラまたは視聴者の頭部に取り付けるか、視聴者が保持します。camera または scene_node コンフィギュレーションでこの input コンフィギュレーションを参照することにより、トラッカーからカメラの位置またはシーン ノードの位置を自動的に制御できます。または、プロジェクトのブループリント コードでこのトラッカーの値を取得できます。

[input] id=CaveTracking type=tracker addr=Tracker0@192.168.0.1 loc="X=-1.5,Y=0,Z=3.4" rot="P-0,Y=0,R=0" front=X right=Y up=-Z

このコンフィギュレーションでは、VRPN デバイスとしてセットアップされているキーボードからキーボード入力を読み取り、その入力を Unreal Engine のビルトイン キーボード入力を介してルーティングするように nDisplay をセットアップします。

[input] id=ControlKeyboard type=keyboard addr=Keyboard0@192.168.0.1 reflect=ue4

パラメータ:

パラメータ

説明

id

当該 input device コンフィギュレーションの一意の名前。

type

VRPN 入力デバイスのタイプ:

  • トラッキング デバイスでは tracker

  • 軸データを生成するデバイスでは analog

  • ブール ボタン データを生成するデバイスでは button

  • 標準のコンピュータ キーボードでは keyboard

addr

特定のデバイスを処理する VRPN サーバーのアドレス。この値は次の形式に従う必要があります。 DEVICENAME@SERVER_ADDRESS:SERVER_PORT
ここで、

  • DEVICENAME はデバイスの VRPN 名。

  • SERVER_ADDRESS は VRPN サーバーの IPv4 アドレス。

  • :SERVER_PORT は VRPN サーバーが受信接続をリッスンするポート。 これはオプションです。指定しない場合、nDisplay はデフォルトで 3883 ポートを使用します。

type=tracker であるデバイスでは、さらに次のパラメータも受け入れます。

パラメータ

説明

loc rot

他のコンフィギュレーション セクションと同様に、loc パラメータおよび rot パラメータは、当該入力デバイスのローカル空間における位置および回転状態のオフセットを指定します。ただし、入力デバイスでは、通常、これらのオフセットを使用してVR 空間内のトラッキング デバイスのルート位置を調整して、シーン ノード階層内で想定される場所に一致させます。

front right up

これらのパラメータは、Unreal でのトラッカーの各ローカル軸 (前、右、上) をトラッカーの座標系の対応する軸と一致させます。Unreal では Z 軸が上向きの右手座標系が採用されています。お使いのトラッカーが別の座標系を使用している場合は、これらのパラメータを使用してトラッカーの座標系を Unreal の座標系にマッピングできます。 例えば、次の行では、トラッカーの Y 軸を Unreal の前側の軸 (X) にマッピングし、トラッカーの X 軸を Unreal の右側の軸 (Y) に、トラッカーの負の Z 軸を Unreal の上側の軸に (Z) マッピングします。 front=Y right=X up=-Z

type=keyboard であるデバイスでは、さらに次のパラメータも受け入れます。

パラメータ

説明

reflect

当該キーボードの入力を Unreal Engine に渡す方法、およびそれらのイベントに応答する方法を指定します。 この設定では、次のいずれかの値を受け入れます。

  • nDisplay

  • ue4

  • both

  • none

詳細については、「キーボード イベントを反映する」を参照してください。

入力設定コンフィギュレーション

input_setup コンフィギュレーション セクションでは、指定された入力デバイスの追加のコンフィギュレーション パラメータを指定します。この追加パラメータでは、通常、指定されたデバイスのチャネルまたはキーを汎用 nDisplay ブループリント入力ノードにバインドします。

コンフィギュレーションの例:

このコンフィギュレーションでは、チャネル 0 でイベントを生成するボタンが押されると、ブループリントの [Input (入力)] > [N Display Events (N ディスプレイ イベント)] > nDisplay Button 0 ノードからイベントが生成されるように ID コントローラーで入力デバイスをセットアップします。

[input_setup] id=controller ch=0 bind="nDisplay Button 0"

次のコンフィギュレーションは上記と似ています。ただし、アナログ値 (通常はコントローラーの軸) を nDisplay のアナログ値にバインドする点が異なります。ブループリントの [Input (入力)] >[N Display Events (N ディスプレイ イベント)] > nDisplay Analog 0 ノードを使用して、コントローラーの軸が使用されている場合を検出したり、[Input (入力)] >[N Display Values (N Display 値)] > nDisplay Analog 0 を使用して現在のフレームの値を取得することができます。

[input_setup] id=test_axes ch=0 bind="nDisplay Analog 0"

キーボード デバイスを使用している場合は、各キーを個別にバインドする必要はありません。代わりに、input セクションの reflect 設定を使用して、キー イベントをビルトイン Unreal Engine キーボード イベントにルーティングするか、nDisplay キーボード イベントにルーティングするかを指定します。ただし、バインディングを変更したり、新しいバインディングを追加したい場合は、各キーを個別にバインドできます。例えば、次のセクションでは、スペース バーにより [Input (入力)] >[N Display Events (N ディスプレイ イベント)] > nDisplay Button 3 イベントがトリガーされます。

[input_setup] id=keyboard0 key=Space bind="nDisplay Button 3"

パラメータ:

パラメータ

説明

id

この input_setup セクションが設定する input コンフィギュレーションの ID を参照します。 なお、nDisplay コンフィギュレーション ファイルの他のほとんどのセクションとは異なり、この id 値では ID を含む input_setup セクションの ID を指定しません。代わりにファイルの他の場所で定義されている input セクションの ID を参照します。

ch

bind 設定で設定したイベントにバインドされる、指定された入力デバイスのチャネルを指定します。

key

ch と似ていますが、type=keyboard である入力デバイスのみに使用されます。

bind

上記で指定されたチャネルまたはキーがバインドされている Unreal Engine のイベントを指定します。この値は、F1nDisplay F1nDisplay Button 0Gamepad Left Thumbstick X-AxisGamepad Face Button Top などの [Input (入力)] カテゴリに表示されるブループリント ノードの名前である可能性があります。 名前にスペースが含まれる場合は、二重引用符で囲む必要があります。

入力モジュール API のノードを使用して、プロジェクトのブループリント コードでこれらのチャネルとキー バインディングを設定することもできます。詳細については、「UE4 入力にデバイス チャネルをバインドする」を参照してください。

全般コンフィギュレーション

general コンフィギュレーション行には、nDisplay クラスタの全体的な動作を制御するパラメータが含まれています。

コンフィギュレーションの例:

[general] swap_sync_policy=1

パラメータ:

パラメータ

説明

swap_sync_policy

ネットワークを介した出力の同期方法を指定します。

  • 0:同期なし

  • 1:ソフトウェアのスワップ同期

  • 2:NV スワップ ロック (OpenGL でレンダリングする NVIDIA カードのみ)

ステレオ コンフィギュレーション

stereo コンフィギュレーション行では、立体視レンダリングのオプションのグローバル パラメータを設定します。

コンフィギュレーションの例:

[stereo] eye_dist=0.064

パラメータ:

パラメータ

説明

eye_dist

左目用および右目用に生成された画像のオフセット設定に使用する眼間距離 (メートル単位)。

ネットワーク コンフィギュレーション

network コンフィギュレーション セクションでは、nDisplay クラスタ ノード間のネットワーク通信に関連するタイムアウトおよびその他の設定を制御するために使用できる設定を指定します。

nDisplay コンフィギュレーション ファイルには、network セクションを含めないか、または 1 つのみ含めることができます。

コンフィギュレーションの例:

[network] cln_conn_tries_amount=10 cln_conn_retry_delay=1000 game_start_timeout=30000 barrier_wait_timeout=5000

パラメータ:

パラメータ

説明

cln_conn_tries_amount

マスター以外のクラスタ ノードを起動する場合、この設定でノードがマスターへの接続を試行する回数を指定します。 オプション。デフォルト値は「10」です。

cln_conn_retry_delay

マスター以外のクラスタ ノードを起動する場合、この設定で、ノードがマスターへの接続を連続して試行する際の各試行間の時間間隔がミリ秒単位を指定します。 オプション。デフォルト値は「1000」です。

game_start_timeout

各クラスタ ノードの各 Unreal Engine アプリケーションがゲーム ループの最初のフレームを開始してメイン ウィンドウへのレンダリングを開始する前に待機する時間間隔をミリ秒単位で設定します。これにより、すべてのクラスタ ノードがレンダリングを開始する前にマスターに接続できるようになります。この間、メイン ウィンドウは黒く表示されます。この時間間隔の終了時に、どのノードも正常に接続されていない場合、クラスタ内のすべてのインスタンスがシャットダウンします。 オプション。デフォルト値は「30000」です。クラスタの初期化に非常に時間がかかる場合は、この値を大きくする必要がある場合があります。

barrier_wait_timeout

ゲームおよびレンダリング スレッドのバリア タイムアウトをミリ秒単位で設定します。これは、クラスタ ノード間でゲーム スレッドとレンダリング スレッドの両方を同期するバリア タイムアウトです。各フレーム内で複数回使用されます。つまり、これはノードが到達不能になっている状況を検出するために実行時に使用されます。この場合、クラスタの状態は無効であると見なされ、すべてのノードは自動的にシャットダウンします。 オプション。デフォルト値は「5000」です。

cln_conn_tries_amount 設定および cln_conn_retry_delay 設定は連携して、クラスタ ノードが起動時にマスター ノードへの接続を試行する最長時間を指定します。例えば、cln_conn_tries_amount が「10」に設定され、cln_conn_retry_delay が「1000」ミリ秒に設定されているとします。起動時に、各ノードはマスターへの接続を試行します。その接続が失敗した場合、再試行するまで 1000 ミリ秒待機します。その試行も失敗した場合、さらに 1000 ミリ秒待機します。10 回連続で失敗すると、クラスタ ノードは自動的に終了します。クラスタ ノードがマスターに接続するとすぐに、回数のカウントが停止します。

情報コンフィギュレーション

info コンフィギュレーション行には、当該コンフィギュレーション ファイルと互換性があることが判明している nDisplay と Unreal Engine の最新バージョンに関するオプションの情報が含まれています。

コンフィギュレーションの例:

[info] version=22

パラメータ:

パラメータ

説明

version

当該コンフィギュレーション ファイルと互換性があることが判明している nDisplay と Unreal Engine の最新バージョン。 この数字は 4. の後続の小数点以下のバージョン番号を意味します。例えば、22 という値は、ファイルがバージョン 4.22 の nDisplay および Unreal Engine と互換性があることを意味します。

この値を手動で設定することはできません。この値は、nDisplay Launcher で自動的に設定されます。バージョンが指定されていないコンフィギュレーション ファイルを使用する場合、またはファイルで指定されているバージョンが使用している nDisplay および Unreal Engine のバージョンよりも小さい場合、nDisplay Launcher では、最新バージョンを使用するためコンフィギュレーション ファイルの更新を自動的に試行します。更新に成功した場合、更新されたコンフィギュレーションを新しいファイルに保存して、この値を最新バージョンに更新します。

コンフィギュレーション ファイルのシーン構造の例

具体的な例を確認するには、wall_flat_3x2.cfg サンプル ファイルを開いてください。このサンプル ファイルは「Templates/TP_nDisplayBP/Content/ExampleConfigs」の下にある Unreal Engine のインストール フォルダにあります。このファイルでは 6 つの投影スクリーンを定義します。各投影スクリーンは、個別の物理コンピュータによってレンダリングされます。

また、このファイルでは複数の scene_node を定義しています。これらは連携して、次の階層を作成します。

nDisplay のシーン階層の例

この階層のノードの相対的な位置と回転状態では、6 つの投影スクリーンがカメラから 1 メートルの距離で隣り合って並ぶように、VR 空間でのカメラと 6 つのスクリーンの配置がレイアウトされます。 

なお、このコンフィギュレーションでは、シーンをレンダリングするモニターの端部を考慮して、隣接する各投影スクリーンの間に小さなスペースが含まれます。

Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信