터치 디자이너로 OSC 컨트롤러를 만들어 봤어요.배타 제어 스위치 편
4191 단어 TouchDesigerResolumeOSC
그 과정을 기억하면서 완성된 컨트롤러를 공유할 수 있었으면 좋겠어요.(이번에는 배타적 제어 스위치만 있다.)
이걸 읽고 뭘 할 수 있죠?
이번에는 배타 제어 스위치를 만들 수 있다.
별거 아닌 내용인데...!간단하지만 미묘하게 만들기 어려운 부분이 있어서 썼어요.
배타 제어 스위치가 각도 버튼을 켜면 다른 단추가 꺼집니다.Resolume는 Layer의 Clip을 전환하는 데 사용됩니다.
샘플 toe
왜 터치 디자이너로 OSC 컨트롤러를 만듭니까
터치 디자인 하면 비주얼 제작의 용도가 떠오를 수 있지만 surface go 등 소형 win 태블릿PC에서 사용할 수 있는 잘 처리된 컨트롤러로 사용할 수 있을 것 같다.
터치로 만든 장점은 다음과 같다.
특히 개인적으로는 여러 OSC 신호를 일괄 보존하고 일괄 호출할 수 있다는 점이 큰 동력이다.
VJ에서 GLSL과 터치 디자이너를 사용하면 비주얼이 좋아도 매개 변수가 흘러 재현이 어렵다.
따라서 매개 변수 그룹을 실시간으로 읽을 수 있는 컨트롤러를 원합니다.
다이어그램
OSC는 하나입니다.각 버튼에서 OSC out을 스크립트로 두드립니다.
각 버튼에 OSC out을 만들면 목적지 IP 주소를 변경해야 할 때 피곤
또 계층마다 주소를 설정한 기술이 있고, 계층마다 부모의 주소를 자주 참고한다.이에 따라 OP에는 자신의 주소만 추가됐다.
마스터 버튼 정보
기본 Buton COMP를 수정할 수 있습니다.
이후 리플리케이터를 활용해 복제하고 이를 토대로 제작한다.
a:배타 제어
스위치가 연결되었을 때, 이곳의 다른 스위치는 모두 닫혔다.
def onOffToOn(panelValue):
clips = ops('../clip*')
for op in clips:
if op != me.parent():
op.panel.state = 0
return
b: OSC 제작 주소TouchDesinger와 OSC 주소는 모두 차원 구조가 있기 때문에 가능한 한 공통화합니다.
여기에 위 계층 제작
/hoge
에서 부모의 조종사 말미의 서수를 주소에 추가한다.리플리케이터가 복제할 때는 각자 주소를 따로 만든다.
op('osc_current_address').text = op('../osc_current_address').text+str(me.parent().digits)
필요한 OSC 주소는 도구에 따라 달라지지만, 이 부분을 조정하면 조작이 더욱 편리하다.c.channel 이름은 OSC 주소
Rename CHOP을 사용하여 b에서 만든 주소를 채널 이름으로 설정합니다.
이것도 자신의 입력란에만 기술할 수 있지만 나중에 볼 수 있는 가독성을 높이기 위해 주소를 꺼냈다.
d.OSC out DAT 전송
CHOP Execute DAT를 이용해 버튼을 누르면 부모님께 보내는 OSC out.
def onOffToOn(channel, sampleIndex, val, prev):
op('../send_osc_message').sendOSC(str(channel.name), [float(val)])
return
버튼의 표시명을 만지작거리다bgOP을 리플리케이터로 복제했을 때 이름이 독특해졌어요.
상위 OP 이름 뒤의 숫자 부분을 표시합니다.
parent().digits
이렇게 되면'1','10'과 같은 버튼의 자릿수가 다르게 나타나 아쉬움을 줄 수 있다.따라서 다음과 같은 내용을 추가함으로써'01''10'등은 모두 두 자릿수로 표시한다.
'{:0=2}".format(文字列)
Replicator 정보Replicator 복제 마스터 버튼을 활용하십시오.OP 사람들은 비교적 사랑하는데, 호출하는 사람만 약간 만지작거린다.
a: 복사된
Master 버튼이 표시되지 않고 복사된 버튼만 표시하려면 Parameter > Panel > Display 를 Off로 설정합니다.
이렇게 되면 복사한 물건 디스플레이도 오프가 되므로 콜백 내에서 디스플레이를 진행해 주세요.
c.par.display = 1
b:복제품에 대한 스크립트 실행복사된 OP에서 OSC 주소를 자동으로 생성하려면 스크립트를 실행하십시오.
이거 안 뛰면 전부 같은 OSC 주소야.
c.op('calc_osc_current_address').run()
Reference
이 문제에 관하여(터치 디자이너로 OSC 컨트롤러를 만들어 봤어요.배타 제어 스위치 편), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/n_bando/items/eed8d1c5fd79b424f491텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)