TOP에서 Geomtry Instance 제어

2498 단어 TouchDesigner
작년의 어드벤트 캘린더로 쓴 TouchDesigner로 GPGPU Particle System을 만드는 Vol.2 응용편 의 갱신판이 됩니다.

이전에는 TouchDesigner에서 GPGPU Particle System을 만들려면 약간의 GLSL을 작성해야했습니다.
그러나 현재의 TouchDesigner에서는 Geometry COMP가 직접 TOP을 캡처할 수 있게 되었기 때문에, GLSL 없이 GPGPU Particle System을 조립할 수 있습니다. Constant, Phong, PBR 등의 쉐이딩도 자유롭게 바꿀 수 있습니다. 편리.

샘플 코드는 여기 입니다.
그리고는 설명.

Particle의 방향을 진행 방향으로 향하고 싶다



이렇게 하려면 Speed(진행 방향의 벡터)를 계산해 둡니다.
Speed를 Geometry COMP의 Rotate to Vector의 항에 넣어 버리면 진행 방향을 향하게 할 수 있습니다.
그래서 Accel, Speed, Position을 개별적으로 가지는 Engine을 만들어 둡시다.



또한, 일반적으로 벡터의 계산에는 임의의 벡터 이외에 초기의 벡터가 필요합니다만, TouchDesigner의 경우는 (x, y, z)=(0,0, 1)의 Z 방향으로 자는 단위 벡터의 같아요.
방향성이 있는 객체를 이용하는 경우는 주의해 주세요.



Particle을 1알 단위로 리셋하고 싶다



작년에는 GLSL을 쓰고 있었습니다만, 실은 이것도 논코딩으로 갈 수 있습니다. Matte TOP을 사용합니다.
리셋하고 싶은 Particle이 참조하는 픽셀만 화이트, 혹은 블랙이 들어가는 2치화 된 TOP를 Matte TOP에 먹이게 하는 것으로 「Feedback TOP의 값을 계속 이용할 것인가, 아니면 리셋트할까」를 개별적으로 지정할 수 있습니다 .



Particle을 정기적으로 재설정하고 싶습니다.



여기는 거의 작년과 같습니다. GLSL이 Matte TOP으로 바뀐 정도.
랜덤으로 나이가 있어 일정치 이상이 되면 리셋트리거를 토하고 죽어 0부터 카운트를 다시 한번, 루프하는 TOP의 시스템을 짜냅니다.


초기 파티클은 작고 싶고 죽으면 색을 어둡게하고 싶습니다



Particle의 수명 TOP에 Lookup TOP을 맞추고 RAMP TOP을 사용하여 색상과 스케일을 제어할 수 있습니다.



이상!
진짜는 1Liner인 GLSL TOP를 사용해 여러가지 하는 녀석을 쓰고 싶었다···.

좋은 웹페이지 즐겨찾기