본문 바로가기

Joy of Vex

(22)
Joy of Vex [Day12-2] 효과 중첩시키기 add로 점 세개 만들어주고 attribute wrangle로 각각의 점들에 색을 입혀주고 저번시간에 했던 걸 기반으로 코드 작성 차이점이 있다면 radius로 색이 퍼져나가는 반경을 설정해준 것 nearpoint로 각각의 포인트넘버를 불러왔을 때는 이렇게 경계선이 생긴다. 가장 가까운 점에 대해서만 계산을 함 중첩을 위해서는 nearpoint를 사용하는 게 아니라 이런 식으로 점을 하나씩 불러와서 효과를 더해줘야 한다. 이를 더 효율적으로 식을 써보면 A,B,C 라고 나눈 부분을 이렇게 표현해줘도 결과는 똑같음 pos = 을 할 때마다 포지션 값은 새로 정의가 됨 (업데이트되는 내용이 아님) 나머지도 마찬가지 하지만 FX는 FX = 으로 쓰인 게 아니라 FX += 으로 쓰임 위에서 정의..
Joy of Vex [Day12-1] nearpoint 적용해보기 첫번째 어트리븃에서 니어포인트 결과값인 pt라는 어트리븃을 만들어준다. 모든 점들에 대해 가장가까운 포인트넘버를 반환해줌 scatter로 점 세개를 뿌려주었기 때문에 @pt는0,1,2 중에 하나의 값을 가짐 blast로 pt의 숫자별로 각 점들을 분리해주는데, 그룹에 @pt == 0 이런 식으로 어트리븃에 쓰는 것처럼 써주면 된다. 두번째 어트리븃의 내용을 이렇게 적어주면 우측의 결과가 나온다. 이 모든 과정은 이렇게 하나의 어트리븃으로 표현해줄 수 있다. 파형 만들기 *@Time을 뺄 때는 floor 적용하기 전에 거리 값에서 빼줘야함! fxA = fxA - floor(fxA); 4.7-4= 0.7, -5.8-6=0.2 trunc를 넣으면 어떻게 되는지 궁금해서 해봤는데, ..
Joy of Vex [Day11] if 조건문 bbox의 y값은 몸의 중앙부에서 0.5의 값을 가지므로 0.5보다 작은 발부터 중앙부까지의 색이 {0,1,0} 값을 가지게 됨 @N과 {0,1,0}은 모두 크기 1을 가지게 되므로 dot의 결과는 cosθ가 된다. 노말 방향이 위를 바라볼수록 각도가 0도에 가까워지면서 값이 1에 가까워진다. 색상으로는 흰색이 됨 d의 값이 0.3보다 크다는 것은 cos 60º = 0.5 이고 cos 90º = 0 의 값을 가지므로 그 사이 값보다 크다는 것 위쪽을 향하는 면들의 색상이 흰색이 된다. 0.3보다 값이 커지면 흰색 영역이 작아지고 값이 작아지면 영역이 커진다. (빛을 받는 부분의 영역이 커지고 줄어든다고 생각하면 됨) 위의 식은 float d = dot(@N,{0,1,0}); if (d>chf..
Joy of Vex [Day10] 코드를 쓰는 다양한 방법들 위 두의 식은 같다. (@P.y 의 값은 0임) sin(@P.x)를 변수 fx로 나타낼 수도 있다. 위의 두 식도 같다. 우측의 식은 한 줄 단위로 효과를 껐다 켰다 할 수 있음 fit함수로 noise의 값이 0에서 1인 것을 -0.5에서 -0.5로 변경해줌 where 변수를 만들어 칼라값에 넣어주면 0에서 1의 값이 컬러에 반영된다. FX += fxA *where 을 해주면 sin 그래프를 이렇게 부분적으로 적용되게 만들 수 있다. 1. fx 변수 선언 2. fx의 특징 만들어 주기 3. 어디에 어떻게 적용될지 4. FX에 효과를 추가 5. 결과 보기 +추가로 시도해본 내용 relpointbbox로도 동일한결과를 만들어낼 수 있다. relpointbbox rel : relat..
Joy of Vex [Day09] input과 run over 에 대한 이해 점 두개를 생성하고 위와 같은 코드를 입력했을때, 첫번째 input / run over : points 일 때 addpoint할 때마다 점이 두개(점 하나당 점 한개)씩 더 생겨서 총 점의 개수는 6개 첫번째 input / run over : detail 일 때는 점 두개가 더 생겨나서 총 점의 개수는 4개이다. 첫번째 input으로 넣었을 때는 선의 정보도 살아있다. 두번째 input / run over : points 는 현재 점이 없기 때문에? 점이 생성이 안된다. 총 점의 개수 0개 두번째 input / run over : detail 이면 점이 두 개가 생성된다. 총 점의 개수 2개 normalize 원점으로부터의 위치벡터를 동일한 방향으로의 크기 1짜..
Joy of Vex [Day08] noise random은 값이 주어질 때마다 새로운 랜덤한 결과를 돌려줌 noise는 이미 준비가 되어 있는 패턴에 대응된 값을 찾아줌 노이즈는 임의의 값을 얻어내지만 끊어짐이 없음 vop에서 노이즈 signature : 1D Noise, Cd의 rgb값이 동일해서 흑백으로 나타남, 3D Noise는 컬러로 offset: 노이즈의 위치를 옮기기 (흐름의 위치를 바꿔줌) frequency: 노이즈의 폭 조절, 숫자를 높일수록 폭이 좁아짐(자글자글해짐) amplitude: 진폭, 노이즈의 대비 조절(숫자를 높일수록 대비가 높아짐) vex에서 노이즈 스케일 값이 커지면 간격이 줄어듬 offset을 더해주면 노이즈의 위치가 옮겨지도록 할 수 있음 @Time을 더해주면 x,y,z 값이 모두 움직이면서 일렁일렁하게..
Exercise 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, 두번째 인풋..
Joy of Vex [Day07] point function point ( 1, "P", 2 ) 두번째 input의 포인트 넘버 2번의 포지션값(@P) 박스의 5번 점은 {1,1,0}이라 노란색으로 나타남 최종적으로 checkinfo라는 어트리뷰트는 TWA라는 입력값을 나타냄 visualizer attribute에 원하는 어트리뷰트를 넣어주면 씬뷰에서 그 어트리뷰트를 시각화해줌 attribute randomize로 num이라는 어트리븃 생성 global scale이 1이고, dimension이 1일 때 0 과 1 사이의 랜덤한 float값이 num이라는 하나의 어트리븃으로 생성됨 소수점을 없애기 위해서 attribwrangle을 활용해 100을 곱해주고 floor로 소수점을 없애줌 @ptnum으로 포인트넘버를 가져오면 정보가 그대로 가져..