-
vvvv gamma 노드 리뷰 : How to generate a random walk (Wanderer 예제)Graphics/VVVV gamma 2023. 10. 19. 21:46
오브젝트를 랜덤하게 움직일 수 있는 Wanderer 노드 예제에 대해 정리해보았다.
Wanderer 노드를 선택한 상태로 F1을 누르면 예제를 열 수 있다.
(예제가 없는 노드들도 많다.)
패치는 이렇게 구성되어있다.
결과 영상이다.
먼저, Wanderer 노드를 살펴보면 다양한 인풋들을 보인다.
Wanderder: (in) - Start(Vector2), Width(Vector2), Range Mode, Main Direction, Direction, Deviation, Speed, Smoothing, Reset, Walk(Boolean)
(out) - Position(Vector2)
=> Start: 시작점을 정한다.
Width: 오브젝트가 돌아다니는 범위를 설정한다.
Range Mode: 세가지 버전이 있다.
-Clmap:해당 범위의 모서리 부분으로만 돌아다닌다.
- Mirror: 범위의 안쪽으로 돌아다닌다.
Wrap: 범위 바깥으로 나가는 행동을 반복한다.
Main Direction과 Direction Deviation 부분은 예제에 써있는 설명을 보는 편이 정확할 것 같다.
직역하면 아래와 같다.
Main Direction Tendency: "기본 방향은 기본 방향 경향의 값이 0보다 큰 경우에만 고려됩니다."
(Direction으로 움직이는 강도를 의미하는 것 같다.)
Direction Deviation: "단계당 각도 편차입니다. 값이 0이면 직선 걷기로, 값 1이면 가장 불규칙한 걷기로 이어집니다."
Speed: 움직임 속도를 설정한다.
Smoothing: 움직임을 부드럽게 한다.
Reset to Start Position: 오브젝트가 처음 포지션으로 돌아간다.
Walk: True로 만들면 오브젝트가 움직이기 시작한다.
* 만약 Reset to Start Position을 해도 오브젝트가 구석에 끼어서 움직이지 않는다면,
아래 방법으로 아웃풋 창을 재실행한다.
Quard메뉴 - Restart 또는 F9 쿼드 메뉴에서 Restart를 선택하거나 F9을 누른다.
다음으로는 Wanderer 노드를 통해 오브젝트가 움직일 수 있는 범위를 사각형으로 그린 부분이다.
Rectangle(Join): (in) - Position(Vector2), Size(Vector2), Anchor
(out) - Rectangle(Top Left / Center / Size)
=> Position 을 기준으로 Size의 반값만큼 왼쪽으로 빼고 반값만큼 오른쪽으로 더해 사각형을 만든다.
(Position이 사각형의 정중앙 좌표가 되는 것.)
Wanderer의 Center 인풋과 Width 인풋이 각각 Rectangle의 Position과 Size와 연결되어 있다.
Rectangle(Join) 만으로는 사각형 레이러를 만들 수 없지만,
Rectangle(Bounds)와 연결해 최종적인 레이어를 만들 수 있다.
Rectangle(Bounds): (in) - Rectangle(Top Left / Center / Size), Paint, Enabled
(out) - Layer
=> 기본 구조는 유사하나 Paint를 통해 사각형 색상을 선택할 수 있다.
Paint에 Stroke를 이용해 선만 있는 사각형을 만들었다.
(fill을 이용하면 안이 채워진 사각형을 만들 수 있다.)
Wanderer의 아웃풋을 Circle에 적용하여 사각형 범위에서 움직일 원을 만들어 주었다.
Circle: (in) - Position(Vector2), Radius(Float32), Anchor, Paint, Enabled
(out) - Layer
마지막으로 화면에 맨 오른쪽에서 움직이는 하얀 원들에 대한 노드를 살펴볼 것이다.
RandomSpread 기능으로 다양한 위치에 같은 크기의 도형을 생성하도록 하고 개수는 다섯개(Count값)로 하였다.
For Each 안에 Wanderer(Spread 방식)와 Circle을 순차적으로 연결하여 통해 원들을 만들어주었다.
For Each 밖으로 Spread Layer를 Group(Spectral)에 모아준다.
마지막으로 Group노드에 사각형과 원 Layer들을 합쳐주고 Renderer를 연결해 화면에 띄워준다.
'Graphics > VVVV gamma' 카테고리의 다른 글
vvvv gamma 노드 리뷰 : How to Sample a path (SamplePath 예제) (0) 2023.10.25 vvvv gamma 패치 리뷰 : 오디오 데이터 받아오기 / Audio visualization 오디오 시각화 (2) (0) 2023.10.23 vvvv gamma 패치 리뷰 : 오디오 데이터 받아오기 / Audio visualization 오디오 시각화 (1) (2) 2023.10.16 vvvv gamma 노드 리뷰 : Reference Resample (ResampleBSpline 예제) (1) 2023.10.11 vvvv gamma : Controlling Patches / VL7. (1) 2023.10.08