-
vvvv gamma : Language Methodologies / week7 #1Graphics/VVVV gamma 2023. 12. 2. 06:43
7주차에는 조건문(if)을 사용한 예제와,
객체지향형 프로그래밍을 위한 구조 설계에 관한 내용을 배웠다.
먼저 왼쪽은 마우스를 빠르게 움직일수록 큰 원이 생겨나는 예제다.
첫번째 예제는 지난주에 배운 Pad를 복습하는 내용이다.
Pad는 프로그래밍으로 치면 변수를 생성하는 것과 같다.
왼쪽의 Positon 변수는 실시간으로 값이 바뀌는 반면 오른쪽 Position은 다음 프레임에서 업데이트 된다.
때문에 전 프레임과 현재 프레임의 마우스 위치가 크기가 많이 차이날수록 큰 원이 생겨나는 것이다.
두번째 예문은 if를 활용한 것이다.
if 오른쪽에 condition이 true가 되면 값이 if 안의 내용이 실행된다.
if 문을 사용할때의 주의할 점은 아래와 같다.
첫번째, input값은 연결된 선을 눌러 오른쪽 마우스, Assign - Create로 설정해주어야 한다.
vvvv의 모든 노드간의 연결은 Create와 Update로 나뉜다.
우리가 보는 흔한 검은 선 연결이 Update이고 Create로 설정해주면 선의 색이 하얗게 변한다.
Create : 프로그램이 시작될 때 한번만 실행된다.
Update : 매 프레임마다 실행된다.
간단하게 설명하면 Processing의 setup() 함수와 update()함수의 차이라고 생각할 수 있다.
만약 0.50와 Value가 update로 연결되어 있다면, Value가 연산을 통해 바뀌어도 끊임없이 매프레임마다
0.5로 초기화 될 것이다.
아마 이러한 문제 때문에 vvvv에서도 update로 해두면 동작하지 않도록 설정해두지 않았을까 싶다.
Update로 설정하면 나타나는 오류 두번째, 시작점과 끝점 외에는 중간의 같은 Pad 변수를 추가할 수 없다.
다음 조건문으로 넘어가기 전에 Value 패드를 추가해보았다.
내용상 큰 차이가 없어 문제가 생기지 않을 것 같아 보였지만 그렇지 않았다.
반드시 처음 인풋과 마지막 아풋웃에만 써주어야 하고 중간에 의미없이(?) 추가할 수 없다.
세번째, 변수의 타입은 IOBox와 연결하면서 자동으로 지정된다.
만약 중간에 변수의 타입을 바꾸고 싶다면 관련된 IOBox를 모두 삭제하고 다시 연결해야 한다.
내용이 짧아 두번째 패치 내용도 여기에 정리한다.
두번째 패치 예제는 아래와 같다.
If의 컨디션들을 통해 Sphere의 크기, X좌표와 Y좌표를 움직일 수 있다.
Random 노드를 Create 속성으로 설정하여 Restart 할때마다 다른 좌표에 구가 나타난다.
첫번째와 두번째는 y좌표를 왔다갔다 하는 부분이고, 세번째 네번째는 x좌표를 움직인다.
Size 변수도 새로 만들어 랜덤하게 기본 크기를 만들고, condition을 통해 커졌다 작아졌다 할 수 있도록 했다.
각각 Translate와 Uniform과 연결해준 뒤, 위와 같이 마무리한다.
'Graphics > VVVV gamma' 카테고리의 다른 글
vvvv gamma : Language Methodologies / week7 #2 (0) 2023.12.05 vvvv gamma : Advanced 3D / week6 #1 (1) 2023.11.24 vvvv gamma : Audio Visualization (with FFT) #2 / week5 (0) 2023.11.20 vvvv gamma : Audio Visualization (with FFT) #1 / week5 (2) 2023.11.19 vvvv gamma : Audio React / week5 (0) 2023.11.16