Unity→TouchDesigner 화면 캡처 전송 각서

@_키류 입니다.

Unity 화면 전송의 기본



Unity와 TouchDesigner를 연결할 때는 keijiro 씨의 아래를 빌려드립니다.
keijiro 씨 git

① 표시하고 싶은 카메라에 spout(syphon)sender 스크립트를 배치
②touchdesigner로 syphon/spout in의 오퍼레이터를 둔다

이것으로 간단하게 Touch로 수신할 수 있었습니다만, 해상도가 괴롭힘이었습니다.

깨끗하게 수신하는 체크포인트



①syphon/spout in의 common을 useinput로 하고 있는가
→custom resolution이 아니라 useinput로 하여 수신한 데이터에 의존하도록 한다

②spout(syphon)sender를 카메라가 아닌 오브젝트에 부착
→ 이것이 포인트였습니다.

keijiro씨의 문서를 잘 보면(영어로) 써 있습니다만,
카메라에 sender를 연결하면 사용자가 사용하는 디스플레이의 해상도에 따라 달라집니다.
따라서 Unity의 히에랄 키에 EventManager 등 적당한 Gameobject를 만들어 거기에 부착합니다.

render texture 설정



spout(syphon)sender를 카메라 이외로 설정하면 source texture라는 항목이 나타납니다.
unity에는 텍스처로서 화면의 정보를 실시간으로 유지하는 render texture라는 기능이 있는 것 같습니다.

① unity 화면에서 머티리얼을 만들 때처럼 asset 파일에 새로 render texture라는 파일을 만듭니다.

② 작성한 render의 inspector를 표시시켜 해상도를 풀HD로 설정합니다.

③ 표시하고 싶은 카메라 오브젝트를 보면 카메라 컴포넌트의 inspector에 target texture라는 항목이 있으므로 거기에 작성한 render texture를 설정합니다.

Unity를 재생한 상태에서, TouchDesigner도 재생하고, 오퍼레이터의 통신의 토글을 on으로 하면, 깨끗한 해상도로 Unity로부터의 화면을 수신할 수 있습니다.

오시마

좋은 웹페이지 즐겨찾기