[TouchDesigner] 파이썬에 의한 for 문장 팁

만나서 반갑습니다.



취미로 영상이나 음악을 만들고 있는 ibuibu69라고 합니다!
지금까지 max나 processing을 사용해, VJ와 인스트 밴드 뭔가를 하고 있었습니다. .
htps //w w. 요츠베. 이 m/와 tch? v = 응 72 6lCg

... 밴드도 해산했고, TouchDesigner에서 새로운 일을하고 싶은 오늘 요즘. 도쿄에 거주하므로 누군가 친구가 되십시오. .

그럼, 첫 어드벤트 캘린더 투고, 즉시 갑니다.

주제



TouchDesigner로 어려운 일을 할 때 파이썬 제어가 필수적입니다.

하지만, , , TouchDesigner 유저로 python에 익숙해지는 분은, (나도 포함) 비교적 적은 것이 아닐까요. . . 어쩌면. .

거기서, 자주(잘) 사용할 것이다, for문에 의한 오퍼레이터의 일괄 조작시의 요령을 소개합니다.

많은 운영자 작업



예를 들어, "constant1,2 ... 9의 value0에 1을 대입한다"는 이런 식입니다.
for i in range(1,10):
    op( 'constant' + str(i) ).par.value0 = 1



이것은 간단합니다.

해설:
op() 안은 문자열이므로 i를 str()로 문자열로 해야 합니다.

많은 파라미터에 할당



예를 들어, "constant1의 value1,2,...9에 1을 대입한다"는 이렇게 합니다.
for i in range(1,10):
    script = 'op(\'constant1\').par.value' + str(i) + ' = 1'
    exec(script)
print(a)



exec 함수를 사용합니다. (나는 이것을 모르고, 사고 8 고생했다.)

요령:
value 의 항번을 이터레이터로 하려면 , 우선 실행하고 싶은 문장 전체를 string형으로 써, 이터레이터를 매입합니다. 그런 다음 exec() 함수로 실행합니다.
따옴표를 이스케이프하는 것을 잊지 마세요! !

많은 매개변수 값을 얻습니다.



예를 들어, "constant1의 1,2,...10의 합계 값 표시"는 다음과 같습니다.
a = 0
for i in range(10):
    a += eval('op(\'constant1\').par.value' + str(i) )
print(a)

방금 전의 exec 함수와 비슷하지만 이번에는 값을 평가하는 함수인 eval을 사용합니다.

다음과 같이 exec 함수를 사용할 수 있습니다.
a = 0
for i in range(10):
    script = 'a += op(\'constant1\').par.value' + str(i)
    exec(script)

요약



이런 식으로 TouchDesigner의 내장 함수를 for 문으로 돌리고 싶을 때 exec이나 eval을 사용하면 잘 작동합니다.

...라는 소개였습니다! !

twitter로 가끔 영상과 음악을 올리고 있습니다. 좋으면 팔로우를 주시면 기쁩니다.

좋은 웹페이지 즐겨찾기