[TouchDesigner Vol.4] 움직이는 다이어그램, Particles GPU
INTRO Particle은 어떻게 공간의 언어가 되는가

건축 설계는 정적인 물리적 실체를 만드는 과정이지만 그 공간의 가치는 흐름 속에서 결정됩니다. 대지를 가로지르는 바람, 사람들의 유동성, 혹은 공간을 채우는 조도의 변화들. 이러한 동적인 요소들을 어떻게 하면 다이어그램화 할 수 있을까요? 오늘은 터치디자이너의 가장 강력한 무기 중 하나인 Particles GPU를 활용해, 2차원의 데이터부터 3차원의 라이노 매싱까지 아우르는 흐름의 시각화를 단계별로 알아보겠습니다.
!이 아티클은 TouchDesigner Vol.1부터 Vol.4까지 순차적으로 보셔야지 만들면서 따라올 수 있는 수준입니다. 처음 오신 분들은 Vol.1부터 확인해주세요!
● STEP 1: 입자 설계 (Input & Coordinate Extraction)
파티클 시스템의 첫 번째 단계는 입자가 어디서 나올지 정의해주는 것 입니다. 하나의 이미지를 인식하기보다 이미지의 정보를 좌표로 해석하여 파티클의 발원지(Emitter)를 설계합니다.
1. 데이터 마스킹 (Threshold & Info)
Movie File In TOP: particle을 만들고 싶은 이미지를 불러옵니다 (null TOP은 나중에 위치 파악하기 위해 습관적으로 넣어주시는게 좋습니다!)

Threshold TOP: 입자가 생성될 특정 영역(선)을 걸러냅니다. 여기서 자유롭게 perimeter 조정을 해주셔도 좋습니다.

Info CHOP: 원본 이미지의 해상도 데이터를 가져와 전체 시스템의 비율(Aspect Ratio)을 자동으로 맞춰주는 역할을 합니다. Operator 칸에 null을 집어넣고, scope에 resx resy를 넣어 비율을 설정해줍니다

2. 좌표 지도 만들기 (The UV Map)
컴퓨터에게 입자를 뿌릴 정확한 위치 정보를 주는 과정입니다.
Ramp 1 & 2: 가로와 세로 방향의 그라데이션을 만듭니다. (중요: Pixel Format을 32-bit float로 설정해 정교한 좌표값을 확보하세요.)


Reorder TOP: 이 두 Ramp를 합쳐 빨강(R)은 가로 위치, 초록(G)은 세로 위치를 나타내는 UV 좌표 지도를 완성합니다. 여기에 앞서 만든 Threshold TOP을 알파(Alpha) 값으로 연결하면 선이 있는 곳에만 입자가 생성되는 소스 (source)가 완성됩니다.

pointTransform TOP: 이 노드는 Reorder에서 만든 좌표 데이터를 실제 3D 공간의 스케일로 변환하는 역할을 합니다. Scale parameter에서 본 이미지 사이즈 비율에 맞춰 숫자 넣으시면 됩니다.

3. 물리 엔진 가동 (Particles GPU & Camera)
Particles GPU: 드디어 입자가 날아다니는 시뮬레이터입니다. pointsTransform 데이터를 연결하세요.



Camera COMP: 입자를 바라보는 시점을 결정합니다. 건축 다이어그램의 각도에 맞춰 카메라 위치를 조절해 보세요.

이 과정을 거치면 비로소 도면의 선이 있는 곳에서만 점들이 찍히는 상태가 됩니다. 이 점들이 곧 파티클의 씨앗이 됩니다.

4. 원본과 파티클의 합성 (Compositing)
파티클만 렌더링하면 검은 바탕에 점들만 보이기 때문에 공간감이 떨어집니다. 이때 필요한 것이 원본 소스를 배경으로 깔아주는 작업입니다.
comp2 노드: Threshold TOP을 또 null1 TOP을 연결해줍니다.

Particles GPU에서 나온 결과물을 Comp2 TOP 노드에 연결합니다.
Operation 설정: 보통 Over나 Add, 혹은 Screen 방식을 사용합니다.


● STEP 2: 확장 — 라이노 매싱과의 직접 연동 (Rhino to SOP)
2D 를 넘어 우리가 설계한 3D 매싱 자체를 파티클의 소스로 바꾸는 단계입니다. 여기서부터 진짜 건축적 시뮬레이션의 깊이가 생깁니다.
1. 지오메트리 소환: 라이노에서 내보낸 매싱(.obj)을 File In SOP으로 부릅니다 (Drag and Drop도 가능합니다!)

2. 좌표 추출: SOP to CHOP 노드를 활용하여 모델링의 각 점이 가진 tx, ty, tz (위치 정보)를 실시간 수치 데이터로 변환합니다.

3. 좌표의 색상화: CHOP to TOP 노드를 사용하여 tx, ty, tz 값을 각각 이미지의 R(Red), G(Green), B(Blue) 채널로 치환합니다.

라이노의 OBJ 데이터를 픽셀 좌표(RGB)로 변환했다면, 이제는 그 수치들을 실제 눈에 보이는 입자로 치환할 차례입니다. 이 과정은 벽돌 하나를 수만 번 복제하여 거대한 건축물을 쌓아 올리는 과정이라고 생각하시면 됩니다.
3. 기본 단위의 설정: Box SOP 모든 시각화의 시작은 아주 작은 Box 하나에서 시작합니다.

화면 왼쪽의 box1은 인스턴싱(Instancing)될 최소 단위입니다. 이 박스의 크기를 아주 작게 설정함으로써, 우리는 건축물을 이루는 미세한 입자같은 질감을 연출할 수 있습니다.
4. Geo COMP Instancing 이제 geo1 노드를 불러와 박스 SOP와 obj 데이터를 결합합니다. 우측 파라미터 창에 나타난 설정이 바로 이 결합의 공식입니다. Instancing On 버튼을 켜는 순간, 하나의 box1을 수만 개로 실시간 복제하기 시작합니다. Translate OP: 위치 정보를 담당할 노드로 null17을 지정합니다.

다음 constant MAT 와 cam TOP, light TOP를 넣어 Render TOP를 사용해 렌더링 결과를 얻을 수 있습니다.




마지막으로 STEP 1과 STEP 2의 결과들을 COMP TOP을 사용해 오버레이 시키면 역동적인 다이어그램이 완성됩니다.


OUTRO: 다이어그램은 살아있다!
이제 여러분의 설계안은 고정된 선들의 집합이 아닙니다. 실시간으로 데이터에 반응하며 끊임없이 움직이는 하나의 살아있는 시스템입니다.
오늘 배운 Particles GPU를 통해 여러분 속에 숨겨진 예술성을 찾아보세요!
JUST DO IT. 이해보다 따라 한다는 마인드로 지금 바로 여러분의 라이노 파일을 터치디자이너로 소환해 보세요!

