파이썬으로 OP/COMP 제어
7960 단어 TouchDesigner파이썬Python3
『어디에 쓸까? 에 대해서는 satoruhiga씨 하지만, Python의 기본적인 쓰는 방법은 다양한 사람 』에 대해 쓰고 싶습니다.
TouchDesigner에서 주로 다루는 세 가지 클래스
TouchDesigner를 Python으로 처리하는 경우 주로 네 가지 클래스를 처리합니다.
COMP 클래스 , OP 클래스 , Par Class , 커넥터 클래스 입니다.
COMP Class는 Base COMP등의 COMP를 취급할 때의 클래스, OP Class는 TOP나 SOP등을 취급하는 클래스, 그리고 OP나 COMP가 가지는 각종의 값, 예를 들면 tx, ty, tz나 button의 w(width), h (height) 등이 Par Class입니다.
Connector Class는 OP나 COMP가 가지는 커넥터의 부분(OP끼리를 연결하는 와이어를 연결하는 곳입니다)의 클래스입니다.
또, 세세하게 말하면 OP Class는 각 OP마다 OP Class를 계승해 만들어지고 있습니다만, 이번은 개별의 메소드에는 접하지 않고, 전체에 공통된 처리를 소개해 갑니다.
개별를 보려면 CHOP Class , TOP 클래스 , SOP 클래스 , MAT Class , DAT 클래스
파이썬에서 변수 이름을 확인하는 방법
마우스 커서를 알고 싶은 파라미터의 이름 위에 롤오버하면 이름이 표시됩니다.
"Width"의 Python의 변수 이름은 "w"와 같습니다.
잘 쓰는 사람 몇
자주 쓰는 처리를 들어 둡니다. 치트 시트 대신에 부디.
Constant의 값 변경
직접 값을 읽고 쓸 수 있습니다.
op('circle1').par.radiusx.val = 0.5
표현식의 경로 변경
경로를 문자열로 씁니다.
op('circle1').par.radiusx.expr = 'absTime.seconds'
모드 변경
Expression 모드로 전환하려면,
op('circle1').par.radiusx.mode = ParMode.EXPRESSION
Constant 모드로 전환하려면,
op('circle1').par.radiusx.mode = ParMode.CONSTANT
Connector Class의 예 1. OP끼리 연결
커넥터가 1개밖에 없는 것은,
op('circle1').onputConnectors[0].connect(op('level1'))
커넥터가 복수 있는 것은,
op('circle1').onputConnectors[0].connect(op('comp1').inputConnectors[0])
덧붙여서 connect 메소드는 인풋 커넥터로부터도 두드릴 수 있습니다.
op('level1').inputConnectors[0].connect(op('circle1').outputConnectors[0])
COMP끼리 연결
기본 OP의 커넥터와 함께 명칭이 inputCOMPConnector/outputCOMPConnector가 되어 있을 뿐입니다.
op('button1').outputCOMPConnectors[0].connect(op('container1').inputConnectors[0])
입력 수를 세는
len(op('circle1').inputConnectors)
len(op('button1').inputCOMPConnectors)
연결 해제
op('circle1').inputConnectors[0].disconnect()
op('button1').inputCOMPConnectors[0].disconnect()
OP나 COMP 위치를 이동
op('circle1').nodeY = op('circle1').nodex + 10
op('button1').nodeY = op('button1').nodeY + 10
Reference
이 문제에 관하여(파이썬으로 OP/COMP 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ToyoshiMorioka/items/192409d2eb02a892932d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
마우스 커서를 알고 싶은 파라미터의 이름 위에 롤오버하면 이름이 표시됩니다.
"Width"의 Python의 변수 이름은 "w"와 같습니다.
잘 쓰는 사람 몇
자주 쓰는 처리를 들어 둡니다. 치트 시트 대신에 부디.
Constant의 값 변경
직접 값을 읽고 쓸 수 있습니다.
op('circle1').par.radiusx.val = 0.5
표현식의 경로 변경
경로를 문자열로 씁니다.
op('circle1').par.radiusx.expr = 'absTime.seconds'
모드 변경
Expression 모드로 전환하려면,
op('circle1').par.radiusx.mode = ParMode.EXPRESSION
Constant 모드로 전환하려면,
op('circle1').par.radiusx.mode = ParMode.CONSTANT
Connector Class의 예 1. OP끼리 연결
커넥터가 1개밖에 없는 것은,
op('circle1').onputConnectors[0].connect(op('level1'))
커넥터가 복수 있는 것은,
op('circle1').onputConnectors[0].connect(op('comp1').inputConnectors[0])
덧붙여서 connect 메소드는 인풋 커넥터로부터도 두드릴 수 있습니다.
op('level1').inputConnectors[0].connect(op('circle1').outputConnectors[0])
COMP끼리 연결
기본 OP의 커넥터와 함께 명칭이 inputCOMPConnector/outputCOMPConnector가 되어 있을 뿐입니다.
op('button1').outputCOMPConnectors[0].connect(op('container1').inputConnectors[0])
입력 수를 세는
len(op('circle1').inputConnectors)
len(op('button1').inputCOMPConnectors)
연결 해제
op('circle1').inputConnectors[0].disconnect()
op('button1').inputCOMPConnectors[0].disconnect()
OP나 COMP 위치를 이동
op('circle1').nodeY = op('circle1').nodex + 10
op('button1').nodeY = op('button1').nodeY + 10
Reference
이 문제에 관하여(파이썬으로 OP/COMP 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/ToyoshiMorioka/items/192409d2eb02a892932d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
op('circle1').par.radiusx.val = 0.5
op('circle1').par.radiusx.expr = 'absTime.seconds'
op('circle1').par.radiusx.mode = ParMode.EXPRESSION
op('circle1').par.radiusx.mode = ParMode.CONSTANT
op('circle1').onputConnectors[0].connect(op('level1'))
op('circle1').onputConnectors[0].connect(op('comp1').inputConnectors[0])
op('level1').inputConnectors[0].connect(op('circle1').outputConnectors[0])
op('button1').outputCOMPConnectors[0].connect(op('container1').inputConnectors[0])
len(op('circle1').inputConnectors)
len(op('button1').inputCOMPConnectors)
op('circle1').inputConnectors[0].disconnect()
op('button1').inputCOMPConnectors[0].disconnect()
op('circle1').nodeY = op('circle1').nodex + 10
op('button1').nodeY = op('button1').nodeY + 10
Reference
이 문제에 관하여(파이썬으로 OP/COMP 제어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ToyoshiMorioka/items/192409d2eb02a892932d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)