-
vvvv gamma : Spreads & Iteratio / VL6.Graphics/VVVV gamma 2023. 10. 7. 00:01
* 아래 영상을 보고 노트한 내용이다.
https://youtu.be/3u3QOd4UyWM?si=eh6v0s6EA1VC_miC
지난번 영상에서 만들었던 것과 같은 구조에서, Box가 여러개의 Sphere의 위치로 랜덤하게 움직이는 결과를 만들 것이다.
우선, 여러개의 Sphere를 만들기 위해서는 아래와 같이 만들 수 있을 것이다.
하지만 똑같은 내용을 계속 복사해서 붙여넣는 것은 그다지 좋지 않다.
조금 더 효율적인 방법으로 만들 수 있다.
Cons(/spread): 여러개의 데이터(float, integer, vector)를 받아 하나의 Spread로 묶어준다.
(여기서는 output이 Spread<Vector3>이다.)
ForEach(/이텔릭체): splicer로 통과시키면 해당 Spread의 개수만큼 반복된다.
위와 같이 활용이 가능하다.
Sphere 생성 반복을 위해 해당 부분을 드래그하고 오른쪽 마우스 버튼을 클릭해서 Surround - ForEach를 선택한다.
/또는 space누르고 foreach 공간 안에 드래그해서 넣는다.
TransformSRT의 Translation input에 받아온 값을 연결하고 Sphere의 output을 마찬가지로 splicer로 뺀다.
output을 그대로 Group(/Spectral)에 연결한다.
Group(/Spectral): 여러개의 오브젝트(box, sphere등)를 하나의 Group으로 묶어준다.
Sphere들의 위치와 Radius를 조절했다.
Sphere들의 위치를 지정하는 것이 아닌, 랜덤하게 배치하기 위해 RandomSpread 노드를 추가해 Cons를 대치한다.
(LinearSpread 같은 다른 Spread들도 있는데 필요에 따라 활용하면 유용하다고 하다.)
RandomSpread: 랜덤하게 여러개의 값을 설정하고 싶을 때 사용한다.
여기서는 vector3 좌표를 랜덤하게 설정할 것이기 때문에 RandomSpread(3d)를 선택해준다.
RadomSpread의 속성을 살펴보자.
Center: 중심점을 설정
Size: 중심점을 기준으로 얼마나 퍼질지 설정
Seed: 배치 버전. 숫자에 따라 다른 형태로 배치됨
Count: 개수 설정
이제 box가 원의 위치 중 하나를 선택해서 끊임없이 움직이도록 만들 것이다.
지난 시간에 만들어두었던 회전하는 box를 group에 연결해 화면에 띄워준다.
TransformSRT의 Translation input에 GetSlice를 연결해줄 것이다.
GetSlice: 여러개의 값이 담긴 Spread(일종의 배열)의 값을 받아 Index를 설정하고, 해당 번호의 값을 output으로 내보낸다.
Filter를 통해 지난번과 마찬가지로 부드럽게 움직이도록 설정했다.
GetSlice의 index output에 LFO의 Cycles(LFO가 반복된 횟수) output을 연결하여 index값이 점차 커지도록 했다.
(index개수를 넘어가도 컴퓨터 시스템상 다시 0으로 회귀하기 때문에 마치 끊임없이 반복되는 것처럼 보인다.)
이 형태도 목표했던대로 올바르게 작동하고 있지만 조금 더 깔끔하게 구성할 수 있다.
Counter: 이름 그대로 output으로 값에 연결한 뒤, up down으로 값을 높이고(다음값으로 설정) 줄일 수 있다(이전값으로 설정).
LFO의 On New Cycle과 Counter의 Up(Bang타입)을 연결해 LFO가 1이 될때마다 다음 index로 넘어가도록 설정했다.
(LFO없이 Up Down을 수동으로 눌러 이동시켜줄 수도 있다.)
** 결과 영상
'Graphics > VVVV gamma' 카테고리의 다른 글
vvvv gamma 노드 리뷰 : Reference Resample (ResampleBSpline 예제) (1) 2023.10.11 vvvv gamma : Controlling Patches / VL7. (1) 2023.10.08 vvvv gamma : The Stride Rendering Pipeline / VL5. (1) 2023.10.06 vvvv gamma : Type Conversion / VL4. (0) 2023.10.06 vvvv gamma : Nodes & Pins / VL3. (1) 2023.10.05