nDisplay 구성 파일 레퍼런스

nDisplay 구성 파일의 모든 세팅에 대한 레퍼런스입니다.

Choose your operating system:

Windows

macOS

Linux

nDisplay 시스템의 대부분은 하나의 구성 파일에 정의합니다. 이 파일에는 네트워크를 이루는 컴퓨터, 각 컴퓨터에서 언리얼 엔진이 렌더링할 창과 뷰포트의 특징, 각 뷰포트가 렌더링할 가상 세계 부분, 받으려는 입력 디바이스 유형 등이 포함됩니다.

이 문서는 nDisplay 구성 파일에 있는 모든 세팅에 대해 설명합니다.

nDisplay 구성 파일을 이해하고 직접 만들어보기 가장 좋은 방법은, nDisplay 플러그인에 제공된 예시 구성으로 시작하는 것입니다. nDisplay 템플릿에서 프로젝트를 만든 경우, Content/ExampleConfigs 폴더에서 찾을 수 있습니다. 아니라면 언리얼 엔진 설치 폴더 아래 Templates/TP_nDisplayBP/Content/ExampleConfigs 에서 찾을 수 있습니다.

nDisplay 구성 파일의 구조는 시각화 렌더링에 사용되는 여러 컴포넌트 유형에 직접 묶여 있습니다.

  • 구성하는 각기 다른 컴포넌트 유형마다 파일에 고유의 줄이 있으며, 할당하는 문자열 ID 로 식별합니다. 한 구성 섹션이 다른 섹션을 참조해야 할 때 이 문자열 ID 를 사용합니다.

  • 이 파일에 구성하는 컴포넌트 다수에는 가상 3D 공간의 위치가 (종종 회전도) 정의되어 있습니다. 각 오브젝트의 위치와 회전은 그 오브젝트의 부모 에 상대적입니다. 기본적으로 모든 오브젝트의 부모는 VR 공간 원점으로, VR 공간의 시작으로 간주되는 3D 세계 공간의 임의의 점입니다. 3D 공간에 scene_nodes 라는 구체적인 이름의 트랜스폼을 구성하면, 하나 이상의 컴포넌트에 대한 부모 역할을 할 수 있습니다. 화면, 카메라, 다른 컴포넌트의 공간 레이아웃을 단순화하는 데 도움이 됩니다.
    scene_nodes 를 사용해서 가상 공간의 동일 지점에서 한꺼번에 시작되는 3D 트랜스폼 계층구조를 만들려면, 아래 구성 파일 씬 계층구조 예시 섹션을 참고하세요.

  • 가상 3D 공간이나 현실 물리적 공간을 측정하는 모든 파라미터 단위 기대값은 별도로 지정하지 않은 경우 미터 또는 도 입니다. 여기에는 화면, 씬 노드, 카메라 등이 포함됩니다.

  • 화면 공간을 측정하는 모든 파라미터 기대값은 픽셀 단위입니다. 여기에는 창과 뷰포트가 포함됩니다.

클러스터 노드 구성

nDisplay 네트워크에서 사용할 언리얼 엔진 애플리케이션의 각 인스턴스에 대해 cluster_node 구성을 정의해야 합니다. 각 cluster_node 구성에는 메인 애플리케이션 창의 프로퍼티를 정의하는 구성 섹션에 대한 레퍼런스가 있어야 합니다.

cluster_node 구성은 애플리케이션 인스턴스를 실행하는 컴퓨터의 호스트 이름 또는 IP 주소를 정의하기도 합니다. 각 cluster_node 구성에 대해 각기 다른 물리적 컴퓨터를 셋업해도 되고, 같은 호스트에 실행되는 cluster_node 구성이 여러개여도 됩니다.

예시 구성

이 예시는(네트워크당 하나의) 프라이머리 노드 구성입니다.

[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

필요사항

이 클러스터 노드 구성의 고유한 이름입니다.

addr

필요사항

이 언리얼 엔진 인스턴스를 실행할 컴퓨터의 IP 주소입니다. IPv4 주소여야 합니다. IPv6 는 지원하지 않습니다.

필요사항

언리얼 엔진 애플리케이션 이 인스턴스에 대한 주 창의 크기와 위치를 정의하는 구성 이름입니다.

사운드

선택사항

false

이 언리얼 엔진 인스턴스의 사운드 재생 여부입니다. 옵션이며, 기본값은 false 입니다.

port_cs

선택사항

14001

프라이머리 노드가 클러스터 동기화를 위해 클러스터 내 다른 노드와 교신할 때 사용하는 포트입니다. port_ss 는 스왑 동기화용, port_ce 는 클러스터 이벤트용입니다. 옵션으로, 기본값은 14001 , 14002 , 14003 입니다.

port_ss

선택사항

14002

프라이머리 노드가 스왑 동기화를 위해 클러스터 내 다른 노드와 교신할 때 사용하는 포트입니다.

port_ce

선택사항

14003

프라이머리 노드가 클러스터 이벤트용으로 클러스터 내 다른 노드와 교신할 때 사용하는 포트입니다.

마스터

선택사항

false

이 언리얼 엔진 인스턴스가 클러스터의 프라이머리 노드인지 여부입니다. 하나의 cluster_node 섹션만 이 파라미터를 `true`로 설정할 수 있습니다.

gpu

선택사항

r.GraphicsAdapter

창 구성

구성은 언리얼 엔진 애플리케이션 인스턴스의 기본 창에 대한 프로퍼티 세트를 정의합니다. nDisplay가 애플리케이션을 시작할 때 창의 시작 크기와 배치, 그리고 창이 전체 화면을 차지할 지 여부와 같은 것을 구성하는 데 사용합니다.

또한 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

필요사항

이 뷰포트 구성의 고유명입니다.

전체화면

선택사항

false

이 창을 전체화면 모드로 실행할지 여부를 결정합니다. 이 값을 false 설정하면, 아래와 같은 WinX , WinY , ResX , RexY 세팅을 제공해야 합니다.

WinX

선택사항

0

데스크톱의 애플리케이션 창 좌상단 구석 X 위치를 화면 좌측 끝에서부터 스크린 스페이스 픽셀 단위로 지정합니다.

WinY

선택사항

0

데스크톱의 애플리케이션 창 좌상단 구석 Y 위치를 화면 상단 끝에서부터 스크린 스페이스 픽셀 단위로 지정합니다.

ResX

필요사항

0

애플리케이션 창의 가로 크기를 스크린 스페이스 픽셀 단위로 지정합니다. fullscreen false`로 설정된 경우, 이 값이 필요합니다. **fullscreen** 이 true`로 설정된 경우, 이 값이 필요합니다.

ResY

필요사항

0

애플리케이션 창의 세로 크기를 스크린 스페이스 픽셀 단위로 지정합니다. fullscreen false`로 설정된 경우입니다. **fullscreen** 이 true`로 설정된 경우, 이 값이 필요합니다.

뷰포트

필요사항

nDisplay 가 씬의 렌더링된 뷰를 채우는 메인 애플리케이션 창의 영역을 정의하는 뷰포트 구성 섹션 하나 이상에 대한 레퍼런스입니다.
뷰포트를 하나 이상 지정하는 경우, 뷰포트 구성 섹션 이름을 따옴표로 묶은 쉼표로 구분된 목록을 사용해야 합니다. 위의 에시 구성 섹션에서 wnd_four 예시를 참고하세요. 목록의 순서는 시각적 순서 또는 뷰포트 배치에 영향을주지 않습니다. 상위 창의 뷰포트 배치는 명명된 뷰포트 구성에서 정의됩니다.

사용하는 뷰포트 정의가 창의 크기를 초과하지 않는지 확인하세요.

포스트프로세스

선택사항

nDisplay가 최종 이미지를 창에 렌더링하기 전에 최종 생성 출력 이미지에 적용하고자 하는 포스트 프로세싱 작업을 정의하는 하나 이상의 포스트 프로세스 구성 ID를 지정합니다. 선택사항입니다. 최종 이미지를 렌더링하기 전에 변환할 필요가 있을 때만 이 파라미터를 사용하세요. 여러 포스트프로세스 구성을 제공하는 경우, nDisplay는 순서대로 변환 적용합니다.

뷰포트 구성

위에서 설명한 각 구성은 하나 이상의 뷰포트 구성을 나타내며, 각 구성은 nDisplay가 씬을 렌더링한 뷰로 채울 사각형의 게임 창 영역을 정의합니다.

보통 뷰포트는 애플리케이션 창 좌상단 구석에서 시작하며, 너비와 높이를 설정하여 부모 창을 채웁니다. 하지만 부모 애플리케이션 창 안에서 뷰포트에 오프셋을 줘야 하는 경우가 있습니다. 예를 들어, 두 개의 프로젝터가 부분적으로 겹치는 경우, 또는 하나의 애플리케이션 창의 여러 위치에 별도의 뷰포트를 다수 호스팅해야 하는 경우입니다.

nDisplay는 뷰포트 렌더링 시 멀티 GPU(mGPU) 를 지원합니다. 특정 뷰포트 렌더링을 위해 하나의 GPU 디바이스를 지정하고, 프레임을 다른 GPU로 복사해 표시할 수 있습니다. 버추얼 프로덕션과 인카메라 VFX 사용 사례를 예로 들면, 내부 프러스텀을 전적으로 두 번째 GPU에서 렌더링할 수 있으므로 퍼포먼스와 하드웨어 점유율이 향상됩니다. NVLink 가 있는 nVidia GPU는 CPU를 우회하여 GPU에서 GPU로 직접 메모리를 전송할 수 있습니다. NVLink가 없더라도 모든 메모리 전송은 P2P로 이루어지지만, PCIe를 통해 CPU를 거치므로 느릴 수 있습니다.

nDisplay 런처 또는 스위치보드로 nDisplay 실행 시 커스텀 커맨드 라인 실행인자에 MaxGPUCount=2를 추가하면 mGPU를 활용할 수 있습니다.

예시 구성

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

파라미터

파라미터

필요 여부

디폴트

설명

id

필요사항

이 뷰포트 구성의 고유명입니다.

X

선택사항

0

뷰포트의 좌상단 구석 좌표입니다. 메인 애플리케이션 창 좌측 끝에서부터 스크린 스페이스 픽셀 단위입니다. 참고로 이 값은 화면 자체의 좌상단이 아니라 애플리케이션 창의 좌상단에 상대적인 값입니다.

Y

선택사항

0

뷰포트의 좌상단 구석 좌표입니다. 메인 애플리케이션 창 상단 끝에서부터 스크린 스페이스 픽셀 단위입니다. 참고로 이 값은 화면 자체의 좌상단이 아니라 애플리케이션 창의 좌상단에 상대적인 값입니다.

너비

필요사항

0

렌더링된 프레임의 너비로, 픽셀 단위입니다. 이 뷰포트를 사용하여 구성의 사이즈 파라미터로 설정한 게임 창 크기보다 커서는 안됩니다.

높이

필요사항

0

렌더링된 프레임의 높이로, 픽셀 단위입니다. 이 뷰포트를 사용하여 구성의 사이즈 파라미터로 설정한 게임 창 크기보다 커서는 안됩니다.

프로젝션

필요사항

이 뷰포트에 그릴 가상 세계의 렌더링 뷰를 정의하는 프로젝션 구성의 이름입니다.

카메라

선택사항

이 뷰포트에 강제로 표시하고자 하는 카메라 구성 섹션의 ID입니다. 뷰포트가 디폴트로 현재 nDisplay가 사용하는 카메라 섹션의 위치에서 씬을 렌더링합니다. 하지만 이 파라미터를 사용하여 디폴트 nDisplay 카메라를 오버라이드하고, 이 뷰포트가 다른 카메라 섹션에서 환경설정한 시점에서 씬을 렌더링하도록 강제할 수 있습니다.

buffer_ratio

선택사항

1.0

0`과 1` 사이의 값으로, nDisplay가 이 뷰포트를 렌더링하는 데 사용하는 렌더링 타깃 텍스처의 치수를 조절합니다. 이 값을 낮추면 nDisplay가 생성하는 이미지의 해상도를 효과적으로 낮출 수 있습니다. 최종 이미지의 퀄리티가 떨어지지만 렌더링이 빨라집니다.

rtt

선택사항

false

뷰포트의 렌더링 투 텍스처 여부입니다.

gpu_node

선택사항

0

뷰포트를 렌더링하고 프레임을 디스플레이 GPU로 복사하기 위해 할당된 GPU 디바이스입니다. 디폴트 GPU는 컴퓨터에 첫 번째로 설치된 GPU입니다.

allow_gpu_transfer

선택사항

1

이 옵션을 활성화하면 모든 뷰포트가 모든 GPU로 전달됩니다. 이 옵션을 비활성화하면 다른 GPU로 복사가 이루어지지 않습니다.

일반적으로 컴퓨터에 처음 설치되어 활성화된 GPU가 0 으로 레퍼런스되고, 다른 GPU는 순차적으로 1 , 2 , ... , n 이 됩니다. 컴퓨터 세팅에서 OS가 제공한 GPU 디바이스 번호를 확인할 수 있습니다. Windows를 예로 들면, 작업 관리자(Task Manager) 에서 GPU 디바이스 번호를 확인할 수 있습니다.

  1. 작업 관리자 를 엽니다.

  2. 성능(Performance) 탭으로 전환합니다.

  3. 컴퓨터에 장착된 모든 GPU와 디바이스 번호가 창 좌측에 표시됩니다. Windows 작업 관리자에 표시된 GPU 번호 GPU 0

프로젝션 구성

위에서 설명한 각 뷰포트 구성은 프로젝션 구성을 나타내며, 이 구성은 뷰포트에서 구현될 렌더링 이미지를 정의합니다.

일반적인 경우, 이 nDisplay 구성 파일의 다른 부분인 화면 구성 항목에서 정의된 프러스텀을 사용해 현재 카메라 위치에서 가상 세계를 렌더링하는 simple 프로젝션 유형을 사용합니다.

mpcdi , easyblend , vioso , domeprojection 등 다른 프로젝션 유형은 뷰포트에 렌더링된 콘텐츠를 다른 방식으로 정의하며, 사각 뷰포트에 이미지를 렌더링하기 전에 추가적인 교정 또는 추가 렌더링 기술을 적용할 수 있습니다. 예를 들어 프로젝션이 이미지를 축소, 확대, 왜곡함으로써, 굴곡진 표면에 표시할 때 자연스럽게 보이도록 할 수 있습니다.

환경설정 예시

다음 예시는 가장 단순한 사용 사례입니다. `scr_LT`라는 이름의 화면 환경설정에서 정의한 프러스텀을 렌더링 이미지의 왜곡이나 변경 없이 직접 뷰포트로 전송합니다.

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

다음 예시는 Scalable Display 구성 파일에 정의된 표면에 렌더링하는 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

다음 예시는 지정된 .png 파일에 정의된 알파 블렌딩 맵을 사용하여 지정된 .pfm 지오메트리 파일에 정의된 굴곡 표면에 렌더링하는 mpcdi 프로젝션 유형 사용법입니다.

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

다음 예시는 네이티브 VIOSO 파일에 정의된 표면에 렌더링하는 vioso 프로젝션 유형 사용법입니다.

[projection] id=proj_vioso_1 type="vioso" file="D:\left.vwf" origin=vioso_origin base="[1000 0 0 0] [0 1000 0 0] [0 0 1000 0] [0 0 1000 1]"

다음 예시는 .xml 보정 파일의 DomeProjection에 정의된 표면에 렌더링하는 domeprojection 프로젝션 유형 사용법입니다.

[projection] id=proj_domeprojection_1 type=domeprojection file="D:\config.xml" origin=domeprojection_origin channel=0

파라미터:

파라미터

필요 여부

디폴트

설명

id

필요사항

이 프로젝션 구성의 고유 이름입니다.

유형

필요사항

nDisplay가 뷰포트에 그리는 렌더링 이미지를 생성하는 방식을 정의하는 프로젝션 유형입니다. 다음 값을 수용합니다.

  • simple : 화면 환경설정 항목에 정의된 가상 세계 프러스텀을 뷰포트에 렌더링합니다.

  • easyblend : Scalable Display Technologies 툴을 사용하여 보정한 가상 세계 뷰를 뷰포트에 렌더링합니다.

  • mpcdi : MPCDI 를 사용하여 보정한 가상 세계 뷰를 뷰포트에 렌더링합니다.

  • vioso : VIOSO 툴을 사용하여 보정한 가상 세계 뷰를 뷰포트에 렌더링합니다.

  • domeprojection : DomeProjection 툴을 사용하여 보정한 가상 세계 뷰를 뷰포트에 렌더링합니다.

type=simple 인 프로젝션은 다음과 같은 추가 파라미터도 수용합니다.

파라미터

필요 여부

디폴트

설명

화면

필요사항

언리얼 엔진 애플리케이션이 이 뷰포트에 렌더링하도록 3D 스페이스 프러스텀을 정의하는 화면 환경설정의 이름입니다.

type=easyblend 인 프로젝션은 다음과 같은 추가 파라미터도 수용합니다.

파라미터

필요 여부

디폴트

설명

파일

필요사항

이 뷰포트가 프로젝션되는 표면을 정의하는 Scalable Display 보정 파일( .ol 또는 .pol 확장자)의 경로 및 파일 이름입니다.

원점

선택사항

프로젝션의 시작 지점을 정의하는 scene_node 환경설정 항목의 ID입니다. Scalable Display 보정 파일에 정의된 레퍼런스 프레임을 언리얼 엔진 레벨의 버추얼 스페이스로 매핑합니다.

스케일

선택사항

1.0

프로젝션에 사용할 스케일링 인수입니다. 이 값은 EasyBlend 보정에 사용한 유닛에 따라 결정됩니다. 미터를 사용한 경우, 이 값을 1.0`으로 하면 됩니다. 데시미터를 사용한 경우, 0.1`을 사용합니다. 센티미터를 사용한 경우, 0.01`을 사용합니다. 인치를 사용한 경우, 0.0254`를 사용합니다.

type=mpcdi 또는 type=picp_mpcdi 프로젝션 시 다음과 같은 추가 파라미터도 수용합니다.

파라미터

필요 여부

디폴트

설명

원점

선택사항

프로젝션의 시작 지점을 정의하는 scene_node 환경설정 항목의 ID입니다. MPCDI 보정 파일(또는 .pfm 지오메트리 파일)에 정의된 레퍼런스 프레임을 언리얼 엔진 레벨의 버추얼 스페이스로 매핑합니다.

옵션 1: MPCDI 파일 사용

파일

필요사항

이 뷰포트가 프로젝션되는 표면의 지오메트리를 정의하는 .mpcdi 파일의 경로 및 파일 이름입니다.

버퍼

필요사항

이 뷰포트의 프로젝션 영역을 정의하는 .mpcdi 파일 내 버퍼의 ID입니다.

리전

필요사항

렌더링하고자 하는 버퍼 세트 내 리전의 ID입니다.

옵션 2: 명시적 데이터 사용

pfm

필요사항

프로젝션 지오메트리가 있는 pfm 파일을 지정합니다.

스케일

선택사항

1.0

지오메트리를 사용하기 위한 스케일링 인수를 제공합니다.

ue4space

선택사항

false

.pfm 파일 내 지오메트리가 이미 언리얼 엔진 좌표 시스템에서 표현되었는지 여부를 나타냅니다.

알파

선택사항

프로젝션의 강도를 정의하는 알파 블렌드 맵으로 사용하기 위한 .png 파일의 경로와 파일 이름입니다. 선택사항입니다.

alpha_gamma

선택사항

alpha 세팅을 사용하는 경우, alpha_gamma 세팅으로 알파 감마의 배수를 이용할 수 있습니다. 선택사항입니다.

베타

선택사항

alpha 세팅을 사용하는 경우, beta 세팅을 통해 베타 블렌드 맵으로 사용할 .png 파일의 경로와 파일 이름을 이용할 수 있습니다. 이를 통해 블랙 레벨 조정을 정의합니다. 선택사항입니다.

현재 nDisplay는 MPCDI 버전 1.0 , 2D A3D ( Advanced 3D ) 프로파일 유형만 지원합니다.

`type=vioso`인 프로젝션은 다음과 같은 추가 파라미터도 수용합니다.

파라미터

필요 여부

디폴트

설명

파일

필요사항

이 뷰포트가 프로젝션되는 표면을 정의하는 VIOSO 보정 파일( .vwf 확장자)의 경로 및 파일 이름입니다.

원점

선택사항

프로젝션의 시작 지점을 정의하는 scene_node 환경설정 항목의 ID입니다. VIOSO 보정 파일에 정의된 레퍼런스 프레임을 언리얼 엔진 레벨의 버추얼 스페이스로 매핑합니다.

베이스

선택사항

보정 스페이스를 UE 좌표 시스템으로 변환하기 위한 커스텀 베이스 매트릭스입니다.

`type=domeprojection`인 프로젝션은 다음과 같은 추가 파라미터도 수용합니다.

파라미터

필요 여부

디폴트

설명

파일

필요사항

이 뷰포트가 프로젝션되는 표면을 정의하는 DomeProjection 보정 파일( .xml 확장자)의 경로 및 파일 이름입니다.

채널

필요사항

0

보정 파일에 매핑된 출력입니다. 디스플레이당 하나의 채널입니다.

원점

선택사항

프로젝션의 시작 지점을 정의하는 scene_node 환경설정 항목의 ID입니다. DomeProjection 보정 파일에 정의된 레퍼런스 프레임을 언리얼 엔진 레벨의 버추얼 스페이스로 매핑합니다.

type=manual 인 프로젝션은 다음과 같은 추가 파라미터도 수용하여 nDisplay가 렌더링해야 하는 뷰 회전 및 프러스텀을 정의합니다. 매트릭스나 각을 사용하여 프러스텀을 환경설정할 수 있습니다.

파라미터

필요 여부

디폴트

설명

회전

선택사항

0,0,0

뷰 회전입니다. 피치, 요, 롤값으로 표현됩니다. 예를 들면 rot="P=0,Y=0,R=0" 입니다.

옵션 1: 매트릭스 사용(모노스코픽)

매트릭스

필요사항

모노스코픽 렌더링 사용 시, 이 4x4 매트릭스로 뷰 프러스텀을 정의합니다.

옵션 2: 매트릭스 사용(스테레오스코픽)

matrix_left matrix_right

필요사항

스테레오스코픽 렌더링 사용 시, 이 4x4 매트릭스 쌍을 사용하여 왼쪽 눈과 오른쪽 눈 모두의 뷰 프러스텀을 정의합니다. 예를 들어 matrix_left="[0.5 0 0 0] [0 0.999999 0 0] [1 0 0 1] [0 0 1 0]" matrix_right="[0.500001 0 0 0] [0 1 0 0] [-1 0 0 1] [0 0 1 0]" 입니다.

각 사용

옵션 3: 프러스텀 사용(모노스코픽)

프러스텀

필요사항

모노스코픽 렌더링 사용 시, 이 프로퍼티를 이용하여 프러스텀의 왼쪽, 오른쪽, 상단, 하단 각을 정의합니다. 예를 들어 frustum="l=0 r=15 t=10 b=-10" 입니다. 값은 뷰 벡터에 상대적인 각도로 설정합니다.

옵션 3: 프러스텀 사용(스테레오스코픽)

matrix_left matrix_right

필요사항

스테레오스코픽 렌더링 사용 시, 이러한 프로퍼티를 이용하여 왼쪽 및 오른쪽 눈 모두의 왼쪽, 오른쪽, 상단, 하단 프러스텀 각을 정의합니다. 예를 들어 frustum_left="l=-15 r=0 t=10 b=-10" frustum_right="left=0 right=15 top=10 bottom=-10" 입니다. 값은 뷰 벡터에 상대적인 각도로 설정합니다.

`type=camera`인 프로젝션 시 추가 파라미터를 수용하지 않습니다. 블루프린트 또는 C++ API를 사용하여 런타임에서 프로젝션 규칙 카메라를 셋업할 수 있습니다.

type=mesh 및 `type=picp_mesh`인 프로젝션 시 추가 파라미터를 수용하지 않습니다. 블루프린트 또는 C++ API를 사용하여 런타임에서 프로젝션 규칙 스태틱 메시 컴포넌트를 셋업할 수 있습니다.

화면 구성

simple 프로젝션 유형을 사용하는 개별 출력 디스플레이는 사각형으로 정의된 프러스텀을 사용하여 3D VR 스페이스에서 정의된 크기 및 배치로 현재 카메라 위치에 씬을 렌더링합니다. 이 사각형 각각은 screen 구성으로 정의합니다. 보통 이 프로젝션 화면은 렌더링에 사용하는 물리적 화면과 같은 크기의 VR 공간을 차지합니다.

화면의 피벗 포인트는 항상 정가운데 지점입니다.

예시 구성

부모 바로 앞에 있는 3 미터 x 3 미터 화면에 대한 정의입니다. 화면의 피벗 포인트가 크기 파라미터에 정의된 사각형 중심에 있기 때문에, Z 축에 1.5 미터 오프셋을 더해 화면 높이의 절반만큼 위로 올립니다.

[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

필요사항

이 화면 구성의 고유 이름입니다.

위치

선택사항

0,0,0

VR 공간에서 이 화면의 중심 위치로, 그 부모 기준입니다.

회전

선택사항

0,0,0

화면이 향하는 방향의 각도 단위 피치(P), 요(Y), 롤(R) 값으로, 그 부모 기준입니다.

크기

필요사항

0,0

화면 사각형의 로컬 X 및 Y 축 미터 단위 총 크기입니다.

부모

선택사항

이 오브젝트의 부모로 사용하려는 scene_node 구성 이름입니다. 이 파라미터는 옵션입니다. 부모를 지정하면, loc rot 파라미터에 설정한 값은 그 부모 위치 기준이 됩니다. 부모를 생략하면, loc rot 파라미터에 설정한 값은 VR 루트 기준이 됩니다.

tracker_id

선택사항

시간이 지남에 따른 화면 위치를 제어하고자 하는 VR 디바이스를 정의하는 입력 환경설정의 이름입니다. 선택사항입니다. 이 파라미터를 사용하지 않으면 화면 위치가 VR 스페이스에서 스태틱이 됩니다.

tracker_ch

선택사항

tracker_id 를 입력하면, 이 파라미터는 nDisplay가 데이터를 읽어오는 디바이스 채널을 지정합니다.

포스트 프로세스 환경설정

포스트 프로세스 환경설정은 언리얼 엔진의 인스턴스가 창에 맞춰 생성한 이미지가 렌더링 전에 포스트 프로세스되는 방식을 정의합니다.

nDisplay는 현재 다음과 같은 하나의 포스트 프로세스 유형을 지원합니다: OutputRemap . 이 포스트 프로세스 연산을 통해 애플리케이션 창의 2D 영역으로 nDisplay 매핑을 통한 2D 이미지 생성 방식을 제어할 수 있습니다. 예를 들어, 애플리케이션 팡의 다른 영역에 표시되도록 출력 이미지의 일부를 이동, 회전, 스케일 조절할 수 있습니다. 이를 위해서는 평면 지오메트리와 UV 매핑 셋업이 있는 .obj 파일을 사용해야 합니다. nDisplay는 평면에 설정한 UV 매핑을 사용하여 어느 애플리케이션 창 부분에 어떤 출력 이미지 부분을 렌더링할지 결정합니다.

예시 구성

[window] id=somewindow ... postprocess="pp_1, pp_2"
[postprocess] id=pp_1 type="OutputRemap" file="remap_1.obj"
[postprocess] id=pp_2 type="OutputRemap" file="remap_2.obj"

파라미터:

파라미터

필요 여부

디폴트

설명

id

필요사항

이 포스트프로세스 환경설정의 고유 이름입니다.

유형

필요사항

수행하고자 하는 포스트 프로세싱의 유형입니다. 현재 OutputRemap 유형만 지원합니다.

OutputRemap 환경설정

파일

필요사항

렌더링된 이미지를 애플리케이션 창에 그리기 전에 리매핑하는 데 사용하려는, UV 매핑이 포함된 .obj 파일의 경로 및 파일 이름입니다.

카메라 구성

nDisplay 클러스터의 모든 인스턴스는 가상 세계의 동일한 위치에서 씬을 렌더링합니다. 잠재적 시점 각각은 camera 구성 줄로 정의합니다.

실행시간에 그 시점 사이를 전환할 수 있습니다. 각 시점은 트래킹 디바이스로도 구동할 수 있습니다.

예시 구성

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

파라미터

파라미터

필요 여부

디폴트

설명

id

필요사항

이 카메라 구성의 고유 이름입니다.

위치

선택사항

0,0,0

이 카메라의 VR 공간 위치로, 그 부모 기준입니다.

회전

선택사항

0,0,0

이 카메라의 VR 스페이스 회전으로, 그 부모 기준입니다.

부모

선택사항

이 오브젝트의 부모로 사용하려는 scene_node 구성 이름입니다. 이 파라미터는 옵션입니다. 부모를 지정하면, loc 파라미터에 설정한 값은 그 부모 위치 기준입니다. 부모를 생략하면 loc 파라미터에 설정한 값은 VR 루트 기준입니다.

eye_swap

선택사항

false

스테레오스코픽 모드로 렌더링 시, 이 프로퍼티가 왼쪽 눈과 오른쪽 눈에 대해 생성된 이미지를 서로 바꿀지 여부를 결정합니다.

eye_dist

선택사항

0.064

스테레오스코픽 모드로 렌더링 시, 이 프로퍼티가 왼쪽 눈과 오른쪽 눈에 대해 생성된 이미지의 오프셋으로 사용할 눈 사이 거리(미터)를 결정합니다.

force_offset

선택사항

0

모노스코픽 모드로 렌더링 시, 이 프로퍼티가 왼쪽 눈과 오른쪽 눈 위치로 카메라를 오프셋(위 eye_dist 프로퍼티로 정의)하여 스테레오스코픽 렌더링을 시뮬레이션하도록 해줍니다. -1`을 사용하여 카메라가 왼쪽 눈 위치에서 렌더링하도록 강제하거나, 0`을 사용하여 카메라의 디폴트 위치(효과 없음)에서 렌더링하거나, `1`을 사용하여 카메라가 오른쪽 눈 위치에서 렌더링하도록 강제합니다.

tracker_id

선택사항

시간에 따른 카메라의 위치를 구동하고자 하는 VR 디바이스를 정의하는 입력 구성 이름입니다. 옵션입니다. 이 파라미터를 생략하면, 카메라의 위치가 VR 공간에서 고정됩니다.

tracker_ch

선택사항

-1

tracker_id 를 입력하면, 이 파라미터는 nDisplay 가 데이터를 읽어오는 디바이스 채널을 지정합니다.

씬 노드 구성

구성 파일에서는 씬 노드의 계층구조를 정의할 수 있으며, 그 각각은 3D 공간의 트랜스폼을 나타냅니다. 카메라나 프로젝션 화면처럼 구성 파일에 셋업한 것 중 3D 공간의 위치와 회전이 필요한 것은 무엇이든 이 scene_node 구성 중 하나를 부모로 사용할 수 있습니다. 그러면 시각화 시스템의 다른 모든 컴포넌트 사이 전체의 공간적 관계를 정의하는 데 도움이 됩니다.

카메라처럼, 씬 노드 역시 VR 트래킹 디바이스로 구동할 수 있습니다.

예시 구성

다음 줄은 두 노드의 계층구조를 정의하며, 자손 노드에 부모 앞 2 미터의 오프셋이 있습니다.

[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

필요사항

이 씬 노드 구성의 고유명입니다.

위치

선택사항

0,0,0

이 씬 노드의 VR 공간 위치로, 부모 기준입니다.

회전

선택사항

씬 노드가 향하는 방향의 각도 단위 피치(P), 요(Y), 롤(R) 값으로, 부모에 상대적입니다.

부모

선택사항

이 씬 노드의 부모로 사용하려는 scene_node 구성 이름입니다. 이 파라미터는 옵션입니다. 부모를 지정하면, loc rot 파라미터에 설정한 값은 그 부모 위치 기준이 됩니다. 부모를 생략하면, loc rot 파라미터에 설정한 값은 VR 루트 기준이 됩니다.

tracker_id

선택사항

시간에 따른 씬 노드의 위치를 구동하고자 하는 VR 디바이스를 정의하는 입력 구성 이름입니다. 선택사항입니다. 이 파라미터를 생략하면, 씬 노드의 위치와 회전은 VR 공간에 고정됩니다.

tracker_ch

선택사항

-1

tracker_id 를 입력하면, 이 파라미터는 nDisplay 가 데이터를 읽어오는 디바이스 채널을 지정합니다.

입력 구성

nDisplay 시스템에 입력을 제공해야 하는 각 디바이스에 대한 입력 섹션을 정의합니다. 각 카메라 및 각 scene_node 입력 섹션에 셋업하고 카메라 또는 scene_node 구성에 참조한 VR 트래킹 디바이스를 통해 선택적으로 구동할 수 있습니다. 또는 트래커, 컨트롤러, 키보드를 셋업하여 일반 입력 이벤트를 언리얼 엔진 입력 시스템에 보내거나, 이벤트 및 입력 값을 프로젝트의 게임 플레이 스크립트에서 응답할 수있는 일반 nDisplay 블루프린트 노드에 바인딩할 수 있습니다.

input_setup 섹션을 사용하여 이러한 입력 디바이스의 특정 채널, 버튼 또는 키가 언리얼 엔진 내 특정 유형의 입력 이벤트 및 값에 바인딩되는 방식을 제어 할 수도 있습니다.

nDisplay 입력으로 무엇을 할 수 있는지에 대한 개요는 VRPN 입력 사용 문서를 참고하세요.

예시 구성

이 구성은 nDisplay 가 VRPN 위치 추적 디바이스에서 입력을 받도록 셋업합니다. 통상적으로 이러한 종류의 디바이스는 카메라 또는 시청자의 머리에 장착되거나, 시청자가 들고 있습니다. 카메라 또는 씬 노드의 위치를 트래커에서 자동 구동하는 방법은, 이 입력 구성을 카메라 또는 scene_node 구성에 참조하면 됩니다. 또는 프로젝트의 블루프린트 코드에서 이 트래커 값을 가져올 수도 있습니다.

[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

이 구성은 nDisplay 가 VRPN 디바이스로 셋업된 키보드에서 키보드 입력을 읽어, 그 입력을 내장 언리얼 엔진 키보드 입력을 경유시킵니다.

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

파라미터

파라미터

필요 여부

디폴트

설명

id

필요사항

이 씬 노드 구성의 고유명입니다.

유형

필요사항

이 VRPN 입력 디바이스의 유형은 다음과 같습니다.

  • tracker 는 트래킹 디바이스입니다.

  • analog 는 축 데이터를 생성하는 디바이스입니다.

  • button 은 부울 버튼 데이터를 생성하는 디바이스입니다.

  • keyboard 는 표준 컴퓨터 키보드입니다.

addr

필요사항

이 특정 디바이스를 처리하는 VRPN 서버 주소입니다. 값은 다음 형식에 맞아야 합니다.
DEVICENAME@SERVER_ADDRESS:SERVER_PORT
여기서:

  • DEVICENAME 은 이 디바이스의 VRPN 이름입니다.

  • SERVER_ADDRESS 는 VRPN 서버의 IPv4 주소입니다.

  • :SERVER_PORT 는 VRPN 서버가 들어오는 연결을 수신 대기하는 포트입니다.
    이 포트는 선택사항입니다. 제공하지 않으면 기본 포트는 3883 입니다.

type=tracker 인 디바이스는 다음과 같은 파라미터를 받을 수도 있습니다.

파라미터

필요 여부

디폴트

설명

위치 회전

선택사항

0,0,0 0,0,0

다른 구성 섹션과 비슷하게, loc rot 파라미터는 이 입력 디바이스의 로컬 공간에서 위치와 회전 오프셋을 지정합니다. 하지만 입력 디바이스의 경우, 일반적으로 이러한 오프셋으로 디바이스의 VR 공간 루트 위치가 씬 노드 계층서의 예상 위치에 맞도록 조정합니다.

정면 우상단

필요사항

이 파라미터는 언리얼의 트래커 로컬 축 (앞, 오른, 위) 각각을 트래커의 좌표계 해당 축에 일치시킵니다. 언리얼은 오른손잡이 Z 가 위인 좌표계를 사용합니다. 트래커가 다른 좌표계를 사용하는 경우, 이 파라미터를 사용하여 트래커의 좌표계를 언리얼에 매핑하면 됩니다. 예를 들어 다음 선은 트래커의 Y 축을 언리얼의 앞(X) 축에, 트래커의 X 축을 언리얼의 오른(Y) 축에, 트래커의 Z 축을 언리얼의 위(Z) 축에 매핑합니다.
front=Y right=X up=-Z

type=keyboard 인 디바이스는 다음과 같은 파라미터도 받습니다.

파라미터

필요 여부

디폴트

설명

반사

선택사항

none

이 키보드의 입력을 언리얼 엔진에 전달하고, 그 이벤트에 반응하는 방법을 정의합니다.
이 세팅이 받는 값은 다음 중 하나입니다.

  • nDisplay

  • ue4

  • both

  • none

자세한 정보는 Reflecting Keyboard Events 문서를 참고하세요.

type=analog`와 type=button`이 추가 파라미터를 수용하지 않는 디바이스입니다.

입력 셋업 구성

input_setup (입력 셋업) 구성은 지정된 입력 디바이스에 대한 추가 구성 파라미터를 제공하며, 일반적으로 그 디바이스에서 범용 nDisplay 블루프린트 입력 노드로 채널 또는 키를 바인딩합니다.

예시 구성

이 구성은 ID 컨트롤러로 입력 디바이스를 셋업해서 버튼이 눌리면 채널 0 에 이벤트를 생성하도록, 블루프린트의 Input > N Display Events > nDisplay Button 0 노드에서 이벤트가 생성되도록 합니다.

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

이 구성은 위와 비슷하지만, 차이점은 (일반적으로 컨트롤러의 축과 같은) 아날로그 값을 nDisplay 아날로그 값으로 바인딩한다는 점입니다. 블루프린트의 Input > N Display Events > nDisplay Analog 0 노드를 사용하여 컨트롤러 축 사용 시점을 감지하거나, Input > N Display Values > nDisplay Analog 0 로 현재 프레임에 대한 값을 가져올 수 있습니다.

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

키보드 디바이스를 사용하는 경우, 그 키 각각을 구체적으로 바인딩할 필요가 없습니다. 대신, input (입력) 섹션의 reflect (반영) 세팅만 사용해도 키 이벤트 라우팅을 내장 언리얼 엔진 키보드 이벤트로 할지, nDisplay 키보드 이벤트로 할지 결정할 수 있습니다. 그러나 원한다면 바인딩 변경이 추가도 가능합니다. 예를 들어, 이 섹션은 스페이스 바로 Input > N Display Events > nDisplay Button 3 이벤트를 트리거합니다.

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

파라미터

파라미터

필요 여부

디폴트

설명

id

필요사항

input_setup 섹션에서 구성하는 입력 구성의 ID를 나타냅니다.
nDisplay 구성 파일의 대부분의 다른 섹션과 달리 이 id 값은 이를 포함하는 input_setup 섹션에 대한 ID를 제공하지 않습니다. 대신 파일의 다른 곳에서 정의 된 input 섹션의 ID를 나타냅니다.

ch

필요사항

bind 세팅에 설정한 이벤트에 바인딩되는 지정 입력 디바이스의 채널을 결정합니다.

선택사항

ch 와 비슷하지만, type=keyboard 인 입력 디바이스에 대해서만 사용됩니다.

바인드

필요사항

언리얼 엔진에서 위에 지정한 채널 또는 키를 바인딩할 이벤트를 결정합니다. 이 값은 Input 카테고리에서 볼 수 있는 F1 , nDisplay F1 , nDisplay Button 0 , Gamepad Left Thumbstick X-Axis , Gamepad Face Button Top 등과 같은 블루프린트 노드 이름이 될 수 있습니다.
이름에 공백이 있으면 큰 따옴표로 묶어야 합니다.

입력 모듈 API의 노드를 사용하여 프로젝트의 블루프린트 코드에서 이러한 채널 및 키 바인딩을 셋업할 수도 있습니다. 자세한 내용은 디바이스 채널을 UE4 입력에 바인딩 부분을 참고하세요.

일반 구성

일반 구성줄에는 nDisplay 클러스터의 전반적인 작동을 제어하는 파라미터가 들어있습니다.

예시 구성

[general] swap_sync_policy=1

파라미터

파라미터

필요 여부

디폴트

설명

swap_sync_policy

선택사항

0

네트워크를 통한 출력 동기화 방식을 결정합니다.

  • 0: 동기화가 없습니다. (VSync=0)

  • 1: 소프트웨어 스왑 동기화입니다. (VSync=1)

  • 2: NVIDIA 스왑 잠금입니다(DirectX11과 DirectX12로 렌더링하는 NVIDIA 카드 전용).

ue4_input_sync_policy

선택사항

1

UE4로의 네이티브 입력이 nDisplay 네트워크에서 리플리케이트되는 방식을 결정합니다.

  • 0: 네이티브 UE4 입력은 프라이머리 노드로만 처리합니다. 다른 클러스터 노드로 리플리케이션이 일어나지 않습니다.

  • 1: 프라이머리 노드가 받는 모든 네이티브 입력은 다른 모든 클러스터 노드로도 리플리케이트됩니다.

NVIDIA 구성

일반 환경설정 항목에서 swap_sync_policy`값을 2`로 설정하면, NVIDIA 항목에 있는 파라미터를 사용해 프레임 록과 관련된 특정 하드웨어 세팅을 미세조정합니다.

파라미터

필요 여부

디폴트

설명

sync_group

선택사항

1

프레임 록에 사용하는 동기화 그룹입니다.

sync_barrier

선택사항

1

프레임 록에 사용하는 동기화 배리어입니다.

네트워크 구성

네트워크 구성 섹션에는 nDisplay 클러스터 노드 사이 타임아웃 및 네트워크 통신 관련 다른 세팅을 제어할 때 사용할 수 있는 세팅이 제공됩니다.

nDisplay 구성 파일의 네트워크 섹션은 없거나 있어도 하나입니다.

예시 구성

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

파라미터

파라미터

필요 여부

디폴트

설명

cln_conn_tries_amount

선택사항

10

프라이머리가 아닌 클러스터 노드가 시작할 때, 노드가 종료되기 전에 프라이머리 PC로 연결을 재시도하는 횟수를 결정합니다.

cln_conn_retry_delay

선택사항

1000

프라이머리가 아닌 클러스터 노드가 시작할 때, 노드가 프라이머리 PC로의 연결 재시도 성공 사이 간격을 결정하는 밀리초 단위 시간입니다.

game_start_timeout

선택사항

30000

프라이머리 노드에서 언리얼 엔진 애플리케이션이 게임 루프 첫 프레임을 시작하고 메인 창 렌더링을 시작할 때까지 모든 클러스터 노드가 준비되기를 기다리는 간격을 밀리초 단위로 설정합니다. 모든 클러스터 노드가 렌더링을 시작하기 전 프라이머리 PC에 연결할 수 있는 기회를 줍니다. 이 기간 동안 메인 창은 검정이 됩니다. 이 기간이 끝나고도 프라이머리 PC에 연결된 클러스터 노드가 없으면, 클러스터의 모든 인스턴스가 종료됩니다.
클러스터 초기화에 시간이 비정상적으로 오래 걸린다면 이 값을 높여야 할 수 있습니다.

barrier_wait_timeout

선택사항

5000

게임 및 렌더링 스레드의 배리어 타임아웃을 밀리초 단위로 설정합니다. 클러스터 노드 사이 게임 및 렌더링 스레드 양쪽의 동기화를 위한 배리어 타임아웃입니다. 프레임마다 여러 번 사용됩니다. 즉, 런타임에 이 값을 사용하여 노드에 도달할 수 없는 상황을 감지합니다. 그런 상황이 발생하면, 클러스터 상태를 유효하지 않은 것으로 결정하고, 모든 노드를 자체적으로 중단시킵니다.

cln_conn_tries_amount cln_conn_retry_delay 세팅을 통해, 시작 시 클러스터 노드가 프라이머리 노드로 연결을 시도하는 최대 시간을 결정합니다. cln_conn_tries_amount 를 10으로 설정하고 cln_conn_retry_delay 를 1000밀리초로 설정했다고 예를 들어봅니다. 각 노드는 처음에 프라이머리 PC로 연결을 시도합니다. 연결이 실패하면 1000밀리초 동안 기다렸다가 다시 시도합니다. 또 실패하면, 다시 1000밀리초 동안 기다립니다. 10번 연속 실패하면, 해당 클러스터 노드가 자동으로 그만둡니다. 클러스터 노드가 프라이머리 PC로 연결되면 더 이상 세지 않습니다.

정보 구성

info 구성줄은 이 구성 파일에 대한 부가 정보, 특히 이 구성 파일이 호환되는 것으로 알려진 nDisplay 및 언리얼 엔진 최신 버전 정보가 포함됩니다.

예시 구성

[info] version=22

파라미터

파라미터

필요 여부

디폴트

설명

버전

필요사항

이 구성 파일과 호환되는 가장 오래된 언리얼 엔진 버전입니다.

이 숫자는 4. 뒤의 버전으로 이해해야 합니다. 예를 들어 값이 22 면 nDisplay 및 언리얼 엔진 4.22 버전과 호환됨을 의미합니다.

이 값은 직접 설정하지 마세요. nDisplay Launcher 가 자동 설정합니다. 버전이 없는 구성 파일을 사용하거나 파일의 버전이 현재 사용중인 언리얼 엔진 버전에서 지원되지 않으면 nDisplay Launcher 가 자동으로 구성 파일을 업데이트하여 최신 버전에서 작동하도록 합니다. 성공하면 업데이트된 구성을 새 파일에 저장하고 이 값을 최신 버전으로 업데이트합니다.

커스텀 구성 파라미터

커스텀 환경설정 항목을 포함하여 개인 커스텀 키값 쌍을 nDisplay 클러스터 노드에 제공할 수 있습니다. [클러스터] 줄에 원하는 개수의 파라미터와 값을 포함할 수 있습니다. 그리고 nDisplay 블루프린트 또는 C++ API로 이러한 구성 값을 런타임으로 회수할 수 있습니다.

환경설정 예시

[custom] stringParameter=myValue numberParameter=2

구성 파일 씬 구조 예시

언리얼 엔진 설치 폴더의 `Templates/TP_nDisplayBP/Content/ExampleConfigs`에 있는 *wall_flat_3x2.cfg* 샘플 파일을 여는 것을 예로 들 수 있습니다. 이 파일은 6개의 프로젝션 화면을 정의하며, 각각은 별도의 물리적 컴퓨터로 렌더링합니다.

여러 개의 scene_node 도 정의하는데, 모여서 다음과 같은 계층구조를 만듭니다.

nDisplay 예시 씬 계층구조

이 계층의 상대 위치와 회전은 VR 공간에서 카메라와 1 미터 거리에 6 개의 프로젝션 화면이 나란히 오도록 레이아웃을 정합니다.

참고로 위 구성은 인접한 프로젝션 화면 사이에 씬을 렌더링하는 모니터의 테두리 부분을 고려한 작은 공간이 있음을 암시합니다.

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기