Joy of Vex [Day08]
noise
random은 값이 주어질 때마다 새로운 랜덤한 결과를 돌려줌
noise는 이미 준비가 되어 있는 패턴에 대응된 값을 찾아줌
노이즈는 임의의 값을 얻어내지만 끊어짐이 없음
vop에서 노이즈
signature : 1D Noise, Cd의 rgb값이 동일해서 흑백으로 나타남, 3D Noise는 컬러로
offset: 노이즈의 위치를 옮기기 (흐름의 위치를 바꿔줌)
frequency: 노이즈의 폭 조절, 숫자를 높일수록 폭이 좁아짐(자글자글해짐)
amplitude: 진폭, 노이즈의 대비 조절(숫자를 높일수록 대비가 높아짐)
vex에서 노이즈
스케일 값이 커지면 간격이 줄어듬
offset을 더해주면 노이즈의 위치가 옮겨지도록 할 수 있음
@Time을 더해주면 x,y,z 값이 모두 움직이면서 일렁일렁하게 보임
+set(@Time,0,0) 이렇게 해주면 x축 방향으로 위치가 변경되는것처럼 보이게 됨
sin 함수처럼 noise도 자기만의 고유한 패턴이 있음
curlnoise
scale을 float값이 아니라 vector로 해서 x,y,z 스케일을 각각 조절해줄 수 있음
offset의 x 값이 커지면 우측으로 이동되는 게 아니라 당겨지게 됨
(원래 주어진 값보다 일찍 어떤 값에 도달)
이렇게 식을 적으면 빨간색 노이즈를 만들 수 있음
@Cd 의 기본 겂은 (1,1,1) 이기 때문에 0으로
attribute wrangle 에서는 하나씩 값을 더해고 곱하면서 조절해줘야하지만
attribute vop에서는 값들을 조절할 수 있도록 이미 파라미터가 만들어져 있음
노이즈에서 Dimension의 활용
time 의 값이 곱해지지 않았을 때는 1D, time의 값이 곱해지면 2D (offset으로 값이 입력되어서 위치값이 변경되게 됨)
floattovector4를 사용해서 time의 값도 넣어줌 (aanoise의글자색이 노란색이됨)
노이즈로 변수 K 만들어서 활용하기
두번째 vop에서 노이즈를 색상값으로 만들어주고 세번째 vex에서 컬러값의 y 값 (g값) 을 K라는 어트리븃으로 만들어줌
attribute delete의 point attribute에 Cd 값을 넣어 컬러값은 지워주고 K 변수만 남겨둠
(이 과정을 생략해도 결과는 똑같아보이긴 함)
bind로 K의 값을 불러와서 다시 노이즈를 적용시키면 노이즈가 반복되는 것과같은 형태가 만들어짐
노이즈로 형태 왜곡시키기
오브젝트 자체를 찌글거리게 하고싶으면 add 노드를 사용해서 꼭 더해줘야함!
exercise
boxnoise를 만드는 것 까진 했는데 cgwiki에 올라와있는 것처럼 조절하는 건 못했다..
가운데 부분이 다른 사각형보다 큰데, 이는 trunc 대신 floor를 넣어주면 같은 사이즈로 만들어줄 수 있다.
@P를 변수 pos로 만들면 제대로 결과가 나오는데
@P = trunc(@P)라고 바로 @P에 적용하면 결과가 이상해진다.
포지션 자체가 변하면서 결과가 달라지는 것 같긴한데 변수로 만들고 넣어주는 것과의 정확한 차이점이 뭘까?