1. 연결될 두 점 만들기
박스 두 개를 생성(A,B)
A는 scatter로 만들어 점을 흩뿌려주고, B는 attribwrangle의 두번째 인풋에 넣어 minpos를 사용해서
A의 포인트들에서 가장 가까운 B에서의 위치값을 구해주었다.
//여기서 바로 addpoint를 해주어 B 위의 점을 만들어서 확인해봄
2. 선 연결하기
저번 시간에 선을 연결할 때는 포인트를 하나씩 다 불러와서 addpoint를 해줬는데, 그렇게 하기에는 포인트의 개수가 너무 많아 여기서부터 막혔다..
강의에서 foreach point를 사용해서 이를 해결한다.
SOP FOR-EACH LOOP — 독학.NET (dokak.net)
attribwrangle 만들어서 점을 하나만 불러와줌 (run over: detail, 두번째 인풋)
해당 점과 널에서 가져온 스캐터의 점을 merge로 묶어주고 add로 선 만들어주기
3. 선이 어떤 길이 이상일 경우 사라지도록 만들기
attribute 만들어 포인트 불러오고 distance로 길이 구하는 것 까진 했는데, 선이 사라지게 하는 거에서 또 막혔다.
점을 지우는 function : removepoint
removepoint(0,1) 현재 지오메트리에서 1번 포인트를 지워줘
removepoint로 0,1 포인트 다 지워주기
포인트는 그냥 두고 선만 없앨 순 없을까?
4. 선의 색 바꿔주기
시작과 끝은 하얗게, 그 중간은 노랗게 변경해주기
여기서부터는 강의를 보지 않고 하긴 어렵겠다는 판단에 그냥 강의를 봤다.
resample로 0과 1의 포인트넘버로 연결된 선을 나눠줌
segments를 20으로 변경해주면 0부터 20까지 포인트넘버를 가지는 선이 만들어진다.
채널램프를 활용하기 위해 0부터 20까지의 숫자를 0부터 1까지로 바꿔주기 위해서
포인트넘버 / 총 포인트 개수를 해주는데 가장 마지막이 20/21이 되니까 더 깔끔하게 1을 만들어주기 위해서
포인트 넘버 / 총 포인트 개수 -1 을 해주기
f@K = float(@ptnum) / (@numpt-1);
강의에서는 어트리븃을 하나 더 만들어서 float K = @K;
float power = chramp( "power",K ); 라고 적어준다.
@Cd = chramp("color",@K); 로 채널램프 만들어서 기본 그래프로 확인해보면
@Cd = @K
K가 0에서 1로 점점 커지고, 이게 @Cd와 같으므로 결과적으로
검은색에서 흰색으로 그라디언트 되는 결과가 나옴
그래프를 이렇게 만들어주면 K가 0.2일때 컬러값이 1이 되고
선의 가운데 부분은 하얗고 양 끝은 검은색이 되는 결과가 만들어진다.
가운데 부분은 하얗게, 양 끝을 노랗게 하려면
지금은 set(power,power,power)인 상태
검은색을 노란색으로 바꿔줘야하니까 검은색 (0,0,0) 값을 (1,1,0)으로 바꿔주면 된다.
@Cd = set(power+1,power+1,power);
강의에서는 노란색 (1,1,0)으로 놓고 power를 더해주는 식으로 설명
power *=chf("powermult"); 로 흰색 부분을 더 많이 만들어줌
*@Cd = {power, power,power}는 적용이 안된다.
5. 선에 노이즈 값 넣어주기
foreach 아래 부분에 attributevop을 적용시켜준다.
add로 anti-aliased noise를 추가해주는데 이렇게 하면
전체 선에 노이즈가 적용되어 시작점과 끝점이 달라지게 된다.
(강의에서는 aaflownoise를 적용)
양 끝에는 노이즈가 적용되지 않게 하려면??
앞에서만들었던 변수 K를 활용, chramp 적용
새로운 float 어트리븃 NK를 만들어주고
NK를 bind로 불러와서 multiply 시켜줘서 양 끝 부분은 노이즈가 적용되지 않도록 만들어주기
좀더 자연스러운 전기의 흐름처럼 보이도록
이런 식으로 연결시켜주기
6. 박스가 아니라 결과를 많은 점들로 바꿔주기
sphere 만들고 add로 점만 남겨두고, pointjitter로 점을 흩뿌려주기
attribute vop 연결시켜서 점을 더 넓게 흩뿌려주고 모션 주기
time을 flow에 연결해주는데 너무 빠르기 때문에 multiply로 1보다 낮은 수를 곱해주기
노이즈가 하나만 있으면 패턴이 보이기 때문에 하나 더 연결시켜주기
우측에도 복사해주는데 노이즈의 offset만 바꿔도 다른 움직임처럼 보임
minpos는 면이 필요하기 때문에 레퍼런스에 점만 넣으면 제대로 결과가 보이지 않게 됨
copy to points로 스피어로 바꿔주기
결과로 보이게 할때 다시 add로 면을 없애서 보면 됨
결과
너무 어려웠지만 강의를 들으면서 이때까지 배운 것들을 활용해보면서 자연스럽게 복습이 되었다.
블로그에 정리해둔 내용도 다시 보고 실습도 해보니까 확실히 이론으로만 알고 있을 때보다 더 이해가 되는 느낌이다.
선생님의 최종 결과물을 보면 그냥 점이 아니라 점에서 꼬리가 생성되는 것처럼 이동할 때 길어지는데 그건 어떻게 했을까 궁금하다..!
'Joy of Vex' 카테고리의 다른 글
Joy of Vex [Day09] (0) | 2023.02.13 |
---|---|
Joy of Vex [Day08] (0) | 2023.02.09 |
Joy of Vex [Day07] (0) | 2023.02.07 |
Joy of Vex [Day06] (0) | 2023.02.06 |
Joy of Vex [Day05] (1) | 2023.02.03 |