작업 기록

NDI,OSC 네트워크 이슈

스튜디오 오버그래픽스 2022. 7. 14. 19:12

컨텐츠 제작 중 가진 컴퓨터 1대로는 스펙이 부족해서(센서 오류, 해상도, 렌더 퀄리티, 프로젝터 포트 갯수 등 문제) 컴퓨터 2대로 개발을 하게 되었다.

 

PC1 - 게임엔진

PC2 - 미디어서버(맵핑용),뎁스카메라(물체 인식용)

 

PC1에서 게임엔진 그래픽 처리만 하고 PC2에서 맵핑,센서 연산만 돌리게 설계했다.

PC1에서 처리된 그래픽을 PC2에서 맵핑해서 송출하기 위해 NDI프로토콜 사용

PC2에서 처리된 센서값(물체 인식)을  PC1의 게임엔진에 보내기 위해 OSC프로콜 사용

 

 

*유니티로 개발하면서 NDI,OSC 신호가 내부에서는 잘되도 다른 PC로 신호 보낼때 안되는경우

-방화벽 문제

방화벽으로 제한되어 있어서 안되는 경우 방화벽을 해제하거나, 방화벽 예외 옵션에 등록

-공유기 문제

공유기에서 신호를 못보내게 차단되는 경우도 있을수 있어서 랜선만 다이렉트로 꽂아서 비교해보고 문제 체크

-에디터 환경 문제

에디터 환경에서 진행하면 신호를 못받는 경우가 있어서 이럴 경우 빌드해서 진행

 

 

*OSC ip,port체크

ip의 경우 cmd-ipconfig로 가서 IPv4에 해당하는 ip를 사용 port는 동일하게 지정하기

 

 

 

*NDI 이슈

-텍스쳐 사이즈 제한

유니티에서만 안되는건지 NDI에서 지원을 안하는건지 확실하진 않지만 텍스쳐 사이즈는 16의 배수를 권장하고, 8k 이상의 텍스쳐는 한번에 못넘기는듯(그 이상 사이즈를 보내려면 여러장으로 쪼개서 송출)

-이더넷 처리량

NDI로 텍스쳐를 보내면 사이즈에 따라 처리할 용량이 꽤 커질수 있다. ex) 4k급 보낼때 처리량이 600mbps 정도된듯?

일반적인 PC 네트워크 카드가 기가비트를 지원하고 1Gbps를 처리한다고함.

1Gbps를 온전히 다 쓰려면 공유기와 랜선도 1Gbps 이상급을 처리 할수 있어야됌.

공유기는 기가비트 지원하는 공유기 사용.

랜선은 1000Mbps 지원하는 CAT5e 이상급 사용.

(상위로 갈수록 대역폭도 커지고 가격 차이는 크지 않아서 그냥 가장 상위 규격 CAT8 쓰는걸 추천)