Joy of Vex

Joy of Vex [Day08]

후디니하는 돌 2023. 2. 9. 16:02

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으로 값이 입력되어서 위치값이 변경되게 됨)

3D
4D

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에 적용하면 결과가 이상해진다.

포지션 자체가 변하면서 결과가 달라지는 것 같긴한데 변수로 만들고 넣어주는 것과의 정확한 차이점이 뭘까?