Programming/Houdini - TWA 29

[Houdini] Joy of VEX (Day 8)

1. Outputs 2. Reviews 1) noise preview - 여러 노이즈를 테스트 해봄: Turbulent Noise, Unified Noise 등등 2) Noise - sin과 noise는 둘 다 특정한 형태가 있고 이는 offset으로 옮긴다해도 그 형태를 계속 유지해 보여줌. - frequency: 전체 노말의 폭을 줄임. offset: 실제 파형의 위치를 옮겨줌. 나머지부분은 계속 반복되어 형성됨 3) Curlnoise - 다른 종류의 noise 함수 형태 4) Random vs Noise - 비슷하게 보인다 하더라도 Random은 별개의 값이 각자 다른 값을 가져서 전체적인 흐름을 보이지 않지만, Noise의 경우 커다란 흐름 안에서 랜덤값을 제한해 고유한 흐름을 보여줌. 5) No..

[Houdini] Joy of VEX (Day 7)

1. Outputs 2. Reviews 1) Get Attribute - 이미 앞에서 다 했던 내용이지만 복습하는 겸 수업 들을 때 열심히 따라해봤다. 2) Visualization - 후디니 Scene View에서 잘 보이도록 시각화 해줄 수 있다. 씬에서 + 버튼 눌러서 마커란 걸 만들고, - 속성을 아래에 만든다. 이러면 우리가 만든 값이 포인트에 생성이 되어 화면상에서 잘 보이게 한다. 3) Attribute Randomize - 속성을 랜덤하게 설정시켜주는 노드. - 딱 설정하면 Cd 값이 기본적으로 들어가 있는데, 색을 랜덤하게 넣어준다. Cd 대신 P같은 기본 속성값이나 아예 새 속성값을 입력해 생성 후 랜덤화한다. 아래에서 dimensions을 변경해주면 1차원 벡터인지(float), 3차..

[Houdini] Joy of VEX (Day 6)

1. Outputs 2. Reviews - 같은 코드를 사용했을 때, points의 경우, - primitives의 경우 - points의 경우 조금 더 부드러우나, primitive의 경우 각 primitive마다 색이 반영되어 픽셀아트 같은 느낌을 보인다. - 무슨 속성이 있는지 보려면 vop을 열어 확인해보면 된다. - 또한 wrangle을 쓸 때 primitive인 경우 @N로 넣을 순 없고 읽는 것만(가져오는 것만) 된다. 3. Exercises 1) Set normals per prims - prim_normal이란 함수를 쓸 수 있는 것 같다. -> 아님. 저건 그냥 return값임 2) Set a @d attribute on prims in one wrangle, and use it to ..

[Houdini] Joy of VEX (Day 5)

1. Outputs 2. Reviews 1) Modulo - Modulo (%)는 float 소수일 경우에도 나머지를 낼 수 있다. - %를 이용해서 sawtooth 모양을 만들 수 있다. div 값을 조절해서 크기를 바꿀 수 있다 2) Abs (Absolute Value) - 절댓값을 쓴 결과는 length() 함수를 썼을 때랑 동일하게 출력됨. 3) 올림 & 내림 & 반올림 - 내림: floor() - 올림: ceil() - 반올림: rint() ※ 자바나 C++의 경우 round()란 함수를 사용함 - trunc(): 소수점을 제거함. 양수만 보면 floor()와 동일하게 보이나 음수의 경우 다름. ex) floor(-2.43) = -3 (내림이므로) trunc(-2.43) = -2 (소수점을 제거..

[Houdini] Joy of VEX (Day 4)

1. Outputs 2. Reviews - 수학 식으로 직접 만들 수 없는 함수 그래프를 chramp 란 함수로 그릴 수 있음. - 각 점의 종류를 다르게 선택해 다양한 모양의 그래프를 만들 수 있음. 또한 그래프 우측상단의 톱니바퀴를 눌러 전체적인 모양과 느낌 샘플을 사용할 수도 있음. - 해당 샘플 모양은 다양하게 있다. - 다만 후디니 버전 19 부터는 chramp가 좀 바뀌었다고 한다. 저 chramp는 [0, 1] 범위까지만 커버하는데, 이전 버전에서는 1 이후의 값을 [0,1] 사이의 값으로 반복시켰지만 19 버전부터는 그냥 0으로 변하지 않는다. 따라서 강의대로 하려면 추가적으로 한 줄을 더 써줘야 한다. - "d = d - floor(d); 가 추가되었다. x값 1 이후의 값을 반복시키기 ..

[Houdini] Joy of VEX (Day 3)

1. Outputs 2. Reviews - Normal에 관한 내용들. 노말의 변화를 형태의 변화로 메쉬에 적용시키려면 @P += @N로 적용해야 한다. 이 부분 length와 @d, @P로 설명하셨던 부분들을 요약하면 1. 그냥 수학 그래프처럼 이해하면 된다 2. 그냥 @P.y = @P.x; 로 했을 때는 x값이 그대로 들어가 음수까지 반영되는거지만, @P.y = length(@P)일 경우 길이값이므로 무조건 양수만 들어가 V자형 그래프가 만들어진다. (y축대칭) 3. Exercises 1) Try and incorporate clamp into the above setup, see if you can make it do something interesting. - 뭘 더 하라는데 뭘 해야할지 몰라서 ..

[Houdini] Joy of VEX (Day 2)

1. Outputs - 아래에서 추가한 캡쳐본들을 확인 2. Reviews 1) Length() - 이전 강의볼 때 헷갈렸던 부분인데, 그때 이해를 완벽히 했더니 이번엔 잘 이해했다. length() 안에 그리드 안 각 점의 벡터 길이를 구하고 이를 색깔 속성에 sin()함수를 이용해 넣었다. sin은 반복되는 함수이므로, 반복되어 값이 나오고, 위처럼 뜬다. -> 반복되는 결과가 필요할 때 sin 또는 cos를 사용하면 좋겠다. - chf를 이용해 스케일 채널을 만들어 결과를 냈다. 2) distance() - length() 가 벡터 하나의 길이를 구하는 거라면, distance()는 두 벡터 사이의 길이를 구한다. - distance를 이용해 거리를 재는 기준을 변경해서 원점을 바꿔 출력할 수 있다..

[Houdini] Open The Houdini 8-2

1. Outputs 2. Reviews 1) 사용한 식 - 선분 위 비율 값 - x, y 두 점에서 a:b란 비율을 가진 중간의 점은 위의 식을 가지고 계산할 수 있다. - 위의 식을 이용하여 벡터로 된 값들에 대한 식을 도출하였다. 2) Points VS Detail (Only once) - wrangle을 쓸 때, 그냥 points와 detail (only once) 란 선택지가 있다. 그냥 points는 모든 점에 대해 계산하는 것이므로 모든 점에 대해 새로운 점들이 생겨 총 10개의 점이 생성된다. 반면 Detail only once 같은 경우에는 딱 점 하나만 추가된다. - 그 어떠한 점도 없는 wrangle 노드라고 생각해보자. points의 경우 addpoint(0, V) 란 함수를 써도 그..

[Houdini] Open The Houdini 7-1, 8-1

1. Outputs 2. Reviews - 후디니 입문자가 돌파해야하는 수학적 내용들 1. 벡터의 연산과 특징 2. Normalize & Scale -> 선형대수학을 공부했어서 다 알고 있는 내용이었다! 그래도 알려주신다니 복습하는 기분으로 다시 공부해야겠다. - 수학적 문제 해결 능력↑: 스스로 답을 찾아가는 과정이 중요함. 바로 답지를 보는게 아닌 직접 해결해보면서 공부해야 함. 1) 첫 번째 예제 해결 - 코드를 좀 이상하게 쓰긴 했는데 0.2를 @P.x에 곱한 이유는 입력받는 num이 -1~1 범위이기 때문이다. 범위를 -5~5로 바꾸면 굳이 0.2를 곱할 필요 없다. - 근데 진짜 어떻게 하다가 푼거라서, 혹시 이거가 되나 싶어서 해본건데 내가 풀어놓고도 제대로 코드를 이해하지 못해서 질문을 드..

[Houdini] Open The Houdini 6-3

1. Outputs 2. Reviews - 사용한 변수 초침 분침 시침 시작 시각 입력 IS IM IH F/초/분/시 관계 SF MS HM DH 초침 분침 시침 시작 각도 SS SM SH 움직인 각도 AS AM AH 결과 각도 FS FM FH 프레임 당 각도 식 S 프레임 당 초침의 각도 (360 / MS) / SF M 프레임 당 분침의 각도 S / HM H 프레임 당 시침의 각도 M / DH 프레임에 따른 시간 정의 식 FPS Frame Per Second TIME 현재 프레임은 몇 도? @Frame / FPS COUNT 현재 프레임에 몇 번 초침이 움직임?(int) floor(TIME) DECI 그 소수점 차 TIME - COUNT 시작 각도 식 SS 초침 시작 각도 IS * (360 / MS) SM..