픽셀 스트리밍 2를 선택해야 하는 이유
UE 5.5부터는 에픽 내부에서 WebRTC를 더 쉽게 관리할 수 있게 해 주는 레이어가 도입되었습니다. WebRTC가 엔진 및 주변 기기의 많은 부분에서 사용되기 때문입니다. 기존의 픽셀 스트리밍 플러그인은 WebRTC를 직접 사용했으므로, 이 새로운 레이어를 사용하도록 전환하면서 플러그인의 많을 부분을 조정하고 재작성해야 했습니다.
에픽게임즈는 픽셀 스트리밍 플러그인을 기반으로 커스텀 솔루션을 개발한 개발자들이 더 간편하게 전환할 수 있도록 새 플러그인을 도입하기로 결정했습니다. 현재는 사용자들이 시간을 갖고 마이그레이션할 수 있도록 기존 픽셀 스트리밍 플러그인과 픽셀 스트리밍 2 플러그인 모두가 언리얼 엔진과 함께 제공됩니다.
영향을 받는 대상
픽셀 스트리밍 플러그인에서 새 픽셀 스트리밍 2 플러그인으로 전환하는 모든 사용자는 이 마이그레이션 가이드를 읽어야 합니다.
받는 영향
새로 도입된 픽셀 스트리밍 2 플러그인의 주요 목표 중 하나는 기존 픽셀 스트리밍 사용자에 미치는 영향을 최소화하는 것이었습니다.
그러한 목표를 달성하기 위해 단계와 실행인자를 모두 동일하게 하여 픽셀 스트리밍 실행 흐름을 동일하게 유지했습니다. 그러나 새 플러그인으로 마이그레이션하는 사용자가 유의해야 할 몇 가지 블루프린트 노드, C++ 퍼블릭 API, 기능 변경사항이 있습니다. C++ API 사용자가 가장 주목할 만한 변경사항은 모든 WebRTC 타입이 제거되었다는 점입니다.
호환성
픽셀 스트리밍 2는 기존 픽셀 스트리밍 인프라와 직접 호환됩니다. 사용 중인 언리얼 엔진 버전에 해당하는 픽셀 스트리밍 인프라 브랜치를 사용하는 것을 권장합니다. 언리얼 엔진 5.5 버전 픽셀 스트리밍 2의 경우, UE5.5 픽셀 스트리밍 인프라 브랜치를 사용해야 합니다.
변경 내용
픽셀 스트리밍 2로 전환 시 유의해야 할 주요 변경사항은 다음과 같습니다.
- 모든 블루프린트 노드에는 픽셀 스트리밍 2 버전이 있습니다. 프로젝트를 마이그레이션하는 경우 블루프린트에서 수동으로 관련 노드를 재생성하고 다시 링크해야 합니다. 전체 플러그인 이름이 변경되는 경우에는 리디렉터를 사용할 수 없습니다.
- C++ API가 대거 변경되었습니다. 여러 파일 및 멤버가 추가, 제거, 이름변경되었습니다.
- 픽셀 스트리밍 세팅이 변경되었습니다. 몇 가지 새 옵션이 추가되었고, 일부 기존 옵션의 디폴트 값이 변경되었으며, 레거시 옵션이 폐기되었습니다.
- 이제 픽셀 스트리밍 세팅을
.ini
, 콘솔 또는 명령줄에서 설정할 수 있습니다. 세팅 우선순위의 경우.ini
가 명령줄에 의해 오버라이드되며, 명령줄은 콘솔에 의해 오버라이드됩니다.
- 이제 픽셀 스트리밍 세팅을
- 픽셀 스트리밍 플레이어 기능은 픽셀 스트리밍 2에 포함되어 있으며 추가 플러그인이 필요하지 않습니다. 자세한 정보는 아래의 픽셀 스트리밍 플레이어 구성 섹션을 참조하세요.
픽셀 스트리밍 플레이어 구성
픽셀 스트리밍 플레이어 컴포넌트 구성을 위한 블루프린트 구현이 크게 변경되었습니다. 다음 단계는 피어가 사용 가능한 첫 스트리머를 구독하는 경우의 구현 예시를 보여줍니다.
- Pixel Streaming 2 플러그인을 활성화합니다.
- 새 블루프린트 클래스(액터)(Blueprint Class (Actor)) 를 생성합니다.
- 액터(Actor) 를 열고 픽셀 스트리밍 피어(Pixel Streaming Peer) 컴포넌트를 추가합니다.
- 픽셀 스트리밍 피어(Pixel Streaming Peer) 컴포넌트를 이벤트 그래프(Event Graph) 로 드래그합니다.
- Pixel Streaming Peer 노드에서 빈 공간으로 드래그하여 Connect 노드를 생성합니다.
- BeginPlay 노드의 Exec 출력 핀을 Connect 노드의 Exec 입력 핀에 연결합니다.
- Connect 노드에서 다음을 수행합니다.
- 입력 Exec 핀을 BeginPlay 의 출력 Exec 핀에 연결합니다.
- 'ws://localhost:80'을 Url 값에 입력합니다.
- 컴포넌트(Components) 패널에서 픽셀 스트리밍 피어(Pixel Streaming Peer) 컴포넌트를 우클릭하고 OnStreamerList 이벤트를 이벤트 그래프(Event Graph) 에 추가합니다.
- 픽셀 스트리밍 피어 컴포넌트를 이벤트 그래프 로 다시 드래그합니다.
- 새 Pixel Streaming Peer 노드에서 빈 공간으로 드래그하여 Subscribe 노드를 생성합니다.
- Subscribe 노드에서 입력 Exec 핀을 OnStreamerList 의 출력 Exec 핀에 연결합니다.
- OnStreamerList 노드에서 스트리머 목록(Streamer List) 출력을 드래그하여 인덱스가 0 인 Get (a ref) 노드를 생성합니다.
- Get 노드의 출력을 Subscribe 의 스트리머 ID(Streamer Id) 입력에 연결합니다.
- 컴포넌트 패널에서 픽셀 스트리밍 피어 컴포넌트를 선택합니다.
- 디테일(Details) 패널에서 프로퍼티(Properties) > 픽셀 스트리밍 비디오 컨슈머(Pixel Streaming Video Consumer) 를 픽셀 스트리밍 미디어 텍스처(Pixel Streaming Media Texture) 로 설정합니다. 그러면 새 에셋을 생성 및 저장하라는 메시지가 표시됩니다.
- 블루프린트 액터(Blueprint Actor) 를 레벨로 드래그합니다.
- 평면(Plane) 오브젝트를 생성하고 트랜스폼 툴로 레벨에 적절한 디스플레이를 생성합니다.
- 콘텐츠 브라우저(Content Browser) 에서 픽셀 스트리밍 미디어 텍스처(Pixel Streaming Media Texture) 를 레벨의 평면(Plane) 으로 드래그합니다. 그러면 자동으로 머티리얼이 생성되어 오브젝트에 적용됩니다.
- 이 프로젝트 외부에서 로컬 픽셀 스트림을 시작합니다. 시그널링 서버를 시작하고 관련 픽셀 스트리밍 실행인자로 애플리케이션을 실행합니다.
-
레벨을 플레이합니다. 이제 외부 픽셀 스트림이 씬의 평면 에 표시되는 것을 볼 수 있습니다.
전체 크기로 보려면 클릭하세요.