Programming/Houdini - TWA 29

[Houdini] Joy of VEX (Day 16)

1. Outputs 2. Reviews 1) @up 1 - @up은 해당 오브젝트의 위쪽 방향을 가리킨다. - 따라서 이렇게 쓰게 되면 @up의 변화에 따라 저 RubberToy는 회전하게 된다. 여기서 @N = {0, 0, 1} 등으로 노말을 바꾸게 되면 노말의 방향 때문에 저 오브젝트가 바라보고 있는 방향이 변한다. 2) @up 2 - 첫번째 wrangle에선 색상을 정한다. - 위처럼 두번째 wrangle을 쓰게 되면 시간에 따라 sin, cos함수로 변하게 되며 빙글빙글 회전하고 움직인다. 해당 삼각함수는 @up 속성에 넣어주었다. 3. Exercises 1)

[Houdini] Joy of VEX (Day 15)

1. Outputs 2. Reviews 1) Copy to Points - copy to Points 노드를 딱 만들게 되면 세부 정보가 뜬다. 저기서 *는 모든 속성을 다 의미하고, 속성 옆에 ^ 표시는 그 속성을 제외하고 복사한다는 의미다. 저기서 중요한 부분은 "Transform Using Target Point Orientations"을 의미하는데, 저걸 끄면 속성만 복사하되 복사한 속성은 적용시키지 않는다는 의미다. 2) 예제1 - 그리드에 박스를 copy to points해서 복붙한다. 이 때 시간을 추가하여 시간에 따른 움직임 변화를 보여준다. 여기서 사용한 pscale은 크기의 uniform scale을 말한다. scale은 vector3로 3개의 float을 받는다. 3) 예제2 - 이렇..

[Houdini] Joy of VEX (Day 14)

1. Outputs 2. Reviews 1) VEX로 점, 선, 면 제작1 int addpoint(핸들(0), 벡터 좌표) int addprim(핸들(0), 제작 타입, 점 인덱스, ...) ※ 점 인덱스는 필수는 아님 "polyline": 선 생성 "poly": 면 생성 (시계방향 순서가 앞면) int addvertex(핸들(0), primitive이름, point이름) 2) @P, @N 응용 - 각 점의 현재 위치에 노말을 더하되, 해당 노말에 반복 회차 * 길이를 곱해 점을 생성해주면 좌측처럼 생성된다. - 여기서 주의할 점은, 주석단 것처럼 만약 addpoint안에서 바로 반복문 변수를 쓰려면 set함수 안에서 사용해야 한다. 3) 털이 흔들리는 효과 1 - noise를 사용하여 털이 흔들리는 듯..

[Houdini] Joy of VEX (Day 13)

1. Outputs 2. Reviews 1) foreach - foreach의 문법은 foreach(반복할 변수; 배열) 이다. 2) 색 중첩 with foreach - foreach문을 사용하였으므로 원래 코드였던 pt = pts[0] 은 지워주었다. 3) 물결 중첩 with for loop - 원래 12-3에서 해볼 때 for loop의 범위를 num으로 두었다. 하지만 len(pts)가 맞는게 각 요소마다 개수가 다르므로 그냥 동일하게 num으로 두면 안된다. 따라서 len함수를 이용해 요소 개수를 받아 사용하였다. 3. Exercises 1)

[Houdini] Joy of VEX (Day 12-3)

1. Outputs 2. Reviews 1) nearpoints - nearpoints(인풋, 속성, 반경, 개수); (※ 개수의 경우 필수는 아님) 2) Arrays - 배열을 선언 시 몇 개의 요소를 지녔다고 굳이 언급하지 않아도 됨 (C++랑 헷갈 ㄴㄴ) 속성일 때도 배열일때 그냥 [ ]로 쓰면 된다. - 배열 안의 요소를 언급할 때는 [ ] 안에 인덱스를 넣으면 된다. - 배열에 값을 더할 때는 array 함수를 이용하거나, append 함수를 이용하면 된다. (append함수는 수업 내용이 아님.) - 다차원 배열은 다차원 배열 언급하는 방법대로 하면 된다. - 배열 안에 몇 개의 요소가 있는지 확인할 때는 len()함수를 사용한다. 3) 색 중첩 - 결과물과 코드. 아래 잘린 부분은 그냥 인덱..

[Houdini] Joy of VEX (Day 12-2)

1. Outputs 2. Reviews 1) 색 중첩 - 반복되게 하는 거 설명 하시기 전 해본 코드. 마지막에 좀 어거지로 쓴 거같긴 한데 되긴 되었다. - 반복문 설명하시기 전이라 정말 반복되게 쓰셨는데, 진짜 반복문만 알면 다 더 쉽게 쓸 수 있는 것들이었다. 2) 물결 중첩 (grid) - 반복문의 원리를 설명해주시려고 아직 반복문을 쓰지 않고 코드 반복만 하셨던 내용이었다. 덕분에 물결 만드는 알고리즘은 확실히 익혔다 헤헤 - 나머지는 다 완벽히 알겠는데, 아직 저 fit부분을 필요할 때 딱 못떠올렸다. 그 부분만 더 복습해서 봐야겠다.

[Houdini] Joy of VEX (Day 12-1)

1. Outputs 2. Reviews 1) 선으로 익히는 물결 효과 알고리즘 1 - 좌측 우측 동일한 결과를 내나, 오른쪽이 nearpoint 함수를 사용하여 더 간단히 효과를 낼 수 있다. - 코드를 분석해보면, 먼저 nearpoint로 근처 점을 구하고, 다음 줄에서 2번째 인풋으로 받은 점의 위치를 vector 변수(getpos)에 저장한다. 이후 distance 변수를 이용하여 각 점과 getpos의 거리를 구한 후 distance 변수에 넣고 y 값에 적용한다. 2) 선으로 익히는 물결 효과 알고리즘 2 - 위와 동일한 방법을 이용하나 fx, fxA 변수를 이용해 더 직관적으로 사용하였다. 위 5줄은 비슷하고, 가운데 코드가 중요한데, 한 줄 한 줄 설명하자면, fxA = d -@Time; f..

[Houdini] Joy of VEX (Day 11)

1. Outputs 2. Reviews 1) Example1 - if문과 dot product(내적)을 사용함. dot엔 각 점의 노말과 {0, 1, 0}의 벡터를 내적하여, 이 결과값을 if문으로 비교, 색 구역을 지정함. ※ 중요: dot product는 빛을 받는 부분을 정할 때 사용함(⭐⭐⭐) - 이게 원리임. cos함수 그래프의 형상과, dot product를 사용한 결과 (cos값)을 생각해보면 이해할 수 있음. 2) Testing for Equality - CGWiki님의 글을 보면 알 수 있듯이 완전한 0이 아닌 0의 근사값과 0을 비교했을 때 값이 다르다고 컴퓨터는 판별함. 따라서 아래처럼 0.00001 같은 매우 작은값보다 차이가 작다라고 써 줘야 논리적 오류 없이 코드가 실행된다. 3..

[Houdini] Joy of VEX (Day 10)

1. Outputs 2. Reviews 1) relpointbbox - relpointbbox: relative point bounding box 즉, 0~1사이의 값으로 표현 - 오른쪽은 기본 transform의 bounding box. 토미를 회전시키면 저 형태 그대로 생기는게 아닌 가장 높은 값들을 따져 왼쪽 형태로 바운딩 박스가 생김. - 여기서 relpointbbox는 각 축에서 가장 작은 순서->큰 순서대로 0~1 사이의 값을 반환함. - 이렇게 @rel을 선언해주고, relpointbbox는 각 점의 rel값을 반환해 rel에 넣어줌. 2) Example1 of TWA - 그리드를 relpointbbox와 chramp를 이용해 구역을 지정하여 노이즈 정도를 바꿀 수 있다. 3) Example..

[Houdini] Joy of VEX (Day 9)

1. Outputs 2. Reviews 1) vector normalize (vector A) - 노말화한 값 = 크기 1 벡터 2) dot product: float dot (vector A, vector B) ➡ 각도 - 두 벡터의 크기를 구함 (내적) - cross와 비교해봤을 때, cross는 해당 인풋의 순서가 바뀌면 값도 바뀌지만 dot product는 바뀌어도 값이 동일함 - 또한 이 내적에서 두 벡터를 노말화하고 내적값을 안다면, cos ceta 각도를 알 수 있게 됨. - 이렇게 적으면 Value는 내적값이며, 이 내적값을 acos (코사인의 역함수)에 넣으면 각도를 구할 수 있다. 이때, 코사인그래프를 고려해봤을때, 빛의 영향을 받는 각도는 오직 [0, 90], [270, 360] 의 ..