Joy of Vex

Joy of Vex [Day10]

후디니하는 돌 2023. 2. 14. 18:51

코드를 쓰는 다양한 방법들

위 두의 식은 같다. (@P.y 의 값은 0임) 

선이 아니라 박스면 위의 두 식은 다른 결과가 나온다.

sin(@P.x)를 변수 fx로 나타낼 수도 있다.

위의 두 식도 같다.

우측의 식은 한 줄 단위로 효과를 껐다 켰다 할 수 있음

fit함수로 noise의 값이 0에서 1인 것을 -0.5에서 -0.5로 변경해줌

위의 어트리븃에 0부터 1까지의 숫자 rel 어트리븃을 만들어주기

where 변수를 만들어 칼라값에 넣어주면

0에서 1의 값이 컬러에 반영된다. 

 

FX += fxA *where 을 해주면

sin 그래프를 이렇게 부분적으로 적용되게 만들 수 있다.

1. fx 변수 선언

2. fx의 특징 만들어 주기

3. 어디에 어떻게 적용될지

4. FX에 효과를 추가

5. 결과 보기

 

+추가로 시도해본 내용

relpointbbox로도 동일한결과를 만들어낼 수 있다.

 

 

relpointbbox

rel : relative 상대적인, 임의의 수를  0부터 1사이의 값으로 나타낸 것

bbox : bounding box 오브젝트의 가장 큰 x,y,z 값을 기준으로 생기는 박스

토미의 좌측 아래가 x,y,z가 가장 작은 지점 (0,0,0) 우측 위는 (1,1,1) 이 됨

relpointbbox(0,@P); 첫번째 인풋, 모든 포인트에 대해서 계산(0

 

그리드에 적용해보기

왼쪽은 노이즈가 0과1 사이에서 생겨 위치값이 우측 위로 올라간 상태

오른쪽은 이를 보정해준 상태 - x,y,z 값을 각각 fit 으로 조정해주기

noise 바깥에 곱해준 값 0.2는 fxB를 정의할 때 넣어주기

노이즈를 높이 y 값에만 적용하고 

relpointbbox로 값을 적용시키고 안적용시키고를 할 수 있음

rX 만 곱했을 땐 양 옆이 노이즈가 적용이 덜 되고, rZ까지 곱하면 앞쪽 뒤쪽도 노이즈가 적용이 덜 되면서

가운데 부분 위주로 값이 적용된 결과가 나온다. (chramp의 그래프에 따라)

 

fxB에도 relpointbbox 적용해주기

더 자잘한 노이즈 생김

 

토미에 적용해보기

효과가 곱해질 때는 따로 줄로 쓰는 것보다

FX += @N *chf("scale") *rY; 이런 식으로 하나의 식으로 쓰는게 좋음

 

 

+추가로 시도해본 내용

왜 rel의 y값을 사용하면 위의 결과가 나오는지가 명확하게 이해가 되지 않아서 다시 생각해보았다.

그냥 rel을 적용시키면 왼쪽과 같은 결과가 나온다. relpointbbox가 적용된 변수 rel은 벡터 값이므로 포인트에 x,y,z 값이 모두 곱해지면서 전체가 다 커져 보이는 결과가 나온다.

우측은 chramp를 따로 적용시키지 않고 그냥 rel.y를 적용시켰을 때의 결과다.

rel.y의 값은 아래로 갈수록 0에 가깝게, 위로 갈수록 1에 가까운 값을 가지므로 위로 갈수록 더 뚱뚱해지는 결과가 나온다.

 

각각 rel.x, rel.z를 적용했을 때의 결과