DMX 블루프린트 익스텐션

커스텀 DMX 블루프린트 익스텐션에 대한 정보입니다.

Choose your operating system:

Windows

macOS

Linux

필요한 사전지식

이 페이지의 콘텐츠를 이해하고 활용하기 위해 다음 주제를 숙지해 주세요.

DMX 플러그인(DMX Plugin) 에는 C++ 외부에서의 DMX 전송 및 수신을 단순화하기 위한 여러 커스텀 블루프린트 노드가 포함되어 있습니다. 또한 일반 언리얼 엔진 아키텍처 및 로직을 미러링하는 게터 및 세터 함수가 포함되어 DMX 프로그래밍을 더 쉽게 학습할 수 있습니다. 해당 함수들은 어트리뷰트 이름, 태그 이름, 활성 유니버스, 채널, 픽스처 레퍼런스 등의 파라미터에 대한 액세스를 제공합니다.

모든 블루프린트는 글로벌로 액세스 가능하며 UMG에서 완전히 구현 가능합니다. 씬에 액터가 있을 필요는 없습니다. 정리하기 쉽도록 노드 커스텀 DMX 서브시스템 아래 빌드하면 DMX 전용 노드를 명확하게 조직화하고 쉽게 찾을 수 있습니다.

DMX 서브시스템

DMX 서브시스템(DMX Subsystem) 은 코드와 사용자 경험 컨텍스트에서 블루프린트 어트리뷰트를 정리하는 타기팅 시스템 역할을 합니다. 서브시스템 내의 각 노드에 대해 사용자는 DMXSubsystem 노드를 타깃 입력으로 가져야 합니다.

dmxblueprintextension1.png

Send DMX BP

이 블루프린트는 입력 맵에서 정의한 특정 픽스처 패치와 특정 어트리뷰트 이름 및 값에 대해 지정된 프로토콜로 DMX를 전송합니다. 이 블루프린트를 사용하려면 사용자는 최소 하나의 등록된 컨트롤러, 픽스처 타입, 픽스처 패치가 있는 유효한 DMX 라이브러리 에셋을 준비해야 합니다. 프로토콜은 입력 픽스처 패치에 의해 정의됩니다.

설명

타깃(Target)

DMX 서브시스템 레퍼런스입니다.

픽스처 패치(Fixture Patch)

전송할 픽스처 패치 레퍼런스입니다.

어드레스(Address)

각각 전송할 어트리뷰트 이름 및 값의 매핑입니다(키 =어드레스 이름, 값 = 전송할 값).

반환(Return)

EDMXSendResult

dmxblueprintextension2.png

DMX Send Raw BP

이 블루프린트는 주어진 프로토콜 사양 및 어드레스/값 매핑에 따라 DMX를 프로토콜 유니버스로 전송합니다. 이 블루프린트는 DMX 라이브러리와 독립적이며 특정 프로토콜 및 유니버스에 대해 원시 DMX 데이터를 전송합니다. SendDMX 는 일반적인 블루프린트인 반면 SendDMXRaw 는 대체로 픽스처 패치가 없거나 이용 불가능한 경우 빠른 디버깅과 프로토타입 제작을 위해 사용됩니다.

이 블루프린트는 DMX 라이브러리를 필요로 하지 않습니다.

설명

타깃(Target)

DMX 서브시스템 레퍼런스입니다.

선택된 프로토콜(Selected Protocol)

전송할 프로토콜입니다.

유니버스(Universe)

전송할 원격 유니버스입니다.

어드레스(Address)

전송할 어드레스와 값의 매핑입니다(키 = 어드레스, 값 = 전송할 값).

키는 0보다 커야 합니다.

반환(Return)

EDMXSendResult

dmxblueprintextension3.png

Receive DMX

On Protocol Received (4.26에서 지원 중단됨)

Bind Event to On Protocol Received 노드를 사용하면 이벤트 그래프에서 수신되는 DMX를 리슨할 커스텀 이벤트를 바인딩할 수 있습니다. 수신에 성공하면 이벤트가 실행되어 프로토콜, 유니버스, 바이트 배열 등 수신된 패킷에 대한 정보를 제공합니다.

이 이벤트는 수신되는 호출 수에 따라 틱보다 더 빠르게 실행될 수 있으므로, CPU를 효율적으로 사용하려면 실행에 유의해야 합니다. 로직을 실행하기에 앞서 수신 데이터를 점검하는 것을 권장합니다.

이 노드를 사용하려는 경우, 노드를 커스텀 이벤트에 바인딩하기만 하면 됩니다.

dmxblueprintextension4.png

설명

프로토콜(Protocol)

수신된 프로토콜입니다.

원격 유니버스(Remote Universe)

수신된 원격 유니버스입니다.

DMX 버퍼(DMXBuffer)

수신된 유니버스에 대한 풀 바이트 배열입니다.

On Fixture Patch Received

On Fixture Patch Received 노드를 사용하면 DMX 컴포넌트에 할당된 특정 픽스처 패치에 수신되는 DMX를 리슨할 수 있습니다. 수신에 성공하면 이벤트가 실행되어 픽스처 패치 수신 및 픽스처 패치의 모든 채널 값 등 수신된 패킷에 대한 정보를 제공합니다. 이 이벤트는 DMX 컴포넌트에 할당된 픽스처 패치에 새 값이 수신될 때만 실행됩니다.

dmxblueprintextension5.png

설명

픽스처 패치(Fixture Patch)

DMX를 수신하는 패치입니다.

어트리뷰트별 값(Value Per Attribute)

DMX 컴포넌트에 할당된 픽스처 패치의 어트리뷰트에 대한 정규화된 값입니다.

언리얼 엔진에서 DMX를 수신하려면 전송자(Sender)가 적절한 IP 주소로 전송되어야 합니다. 이 IP는 프로젝트에 사용되는 IP여야 합니다. 이 IP는 프로젝트 세팅(Project Settings) > 플러그인(Plugins) > DMX > Network Interface Card IP Address 에서 설정됩니다. 기본적으로 0.0.0.0으로 설정되고 운영체제에서 결정되는 기본 네트워크 인터페이스 카드를 선택합니다.

다른 소스로부터 수신하려면 IP 주소를 찾고 DMX를 전송하는 소스가 네트워크 카드의 IP 서브넷에서 브로드캐스팅 중인지 확인합니다.

예를 들어 네트워크 IP 주소가 192.168.1.100이라면 전송자가 192.168.1.255에서 브로드캐스팅해야 언리얼 엔진이 수신할 수 있습니다. 끝자리의 255 는 네트워크 인터페이스 카드 IP 서브넷으로 브로드캐스팅하는 것을 나타냅니다.

Get DMX Attribute Values

Get DMX Attribute Values 블루프린트는 입력 픽스처 유형의 어트리뷰트 이름에 따른 현재 값의 매핑을 반환합니다. 다음은 주어진 DMX 픽스처 패치로부터 현재 DMX 값을 가져올 수 있는 기존 블루프린트 어트리뷰트의 예시입니다.

GetDMXFixturePatchGetDMXAttributeValues 를 함께 사용하여 디테일(Details) 패널의 어트리뷰트 노출(Expose Attributes) 버튼으로 선택한 패치의 어트리뷰트를 노출할 수 있습니다. 그렇게 하면 지정된 픽스처 패치에 사용 가능한 모든 어트리뷰트가 표시되고 현재 값을 출력할 것입니다.

dmxblueprintextension6.png

사용자가 다이내믹하게 설정된 픽스처 패치를 입력하려는 경우, 이전과 같이 어트리뷰트를 노출할 수는 없지만 Out Attributes Map 에서 Find 어트리뷰트를 호출하여 구하려는 어트리뷰트 값을 지정할 수 있습니다. 아래 예시를 참고하세요.

dmxblueprintextension7.png

태그