본문 바로가기

Houdini Basic

(16)
후디니 단축키 1. 메인 메뉴 Alt + [ : 좌, 우 메뉴 분할 Alt + ] : 위, 아래 메뉴 분할 2. 뷰포트 S 클릭 후 1 : Object 선택 2 : Points 선택 3 : Edges 선택 4 : Primitives선택 해제 후 (esc) 1 : Perspective View 2 : Top View 3 : Front View 4 : Right View 5 : UV View w : 와이어프레임 뷰 토글 d : 디스플레이 옵션 h : 현재 시점을 오브젝트 전체의 중앙으로 이동 g : 현재 시점을 선택된 오브젝트 중앙으로 이동 b : 뷰포트 분할 3. 네트워크 뷰 p : 파라미터 창 c : 컬러팔레트 h : 현재 시점을 전체 노드의 중심으로 이동 g : 현재 시점을 선택한 노드로 이동 l : 중앙으로 노드 정렬
[15일차] 램프만들기 (2) 타겟 설정하기 2D에서의 작업 구분을 위해 // 내용을 써주는 게 좋음 target의 x값 가져올때, P.x 이렇게 했던 것 처럼 target.x 라고 해주면 됨 3D에서의 작업 강의를 보기 전에 Dir, NormDir, LenDir에 대한 힌트를 얻고 코드를 입력해봤는데 제대로 작동하는 것 처럼 보였다. Dir = NormDir*LenDir 노말라이즈된 NormDir는 방향벡터(크기 1인), 거리에 해당하는 LenDir는 크기 NormDir은 벡터의 크기가 아닌 방향만을 사용하고싶을 때 사용하면 된다고 이해하면 되는걸까? *내가 했던 것과 다른 점 1. 나는 LenDir이 거리라고 적혀있어 Distance 함수를 활용했는데 선생님은 length 함수를 사용했다. 똑같음! 2. else에 해당하는 내용을..
[14일차] 램프 만들기 (1) 포인트 만드는 법 1) add 노드로 두 점을 만들고, attribute wrangle 로 정가운데 점 만들기 두번째 input으로 들어온 neck 정보는 attribute wrangle에 인식되지 않으므로 point 함수로 불러오기 v@AA = point(1,"P",0); base 포인트와 neck 포인트의 정 가운데 점(middle) 생성하기 @P = (@P + @AA)/2; 두 벡터의 값을 더해 2로 나눠주면 정 가운데에 점이 만들어진다. 2) Attribute Wrangle 만으로 두 점 가운데 a:b 지점 만들기 a:b비율의 중간 지점의 값 = (ay+bx)/(a+b) addpoint(몇번 인풋에 대하여, 위치벡터) addpoint(0,{0,2,0}) : (0,2,0) 위치에 점 생성 run o..
[13일차] 후디니에서의 수학 & if 조건문 후디니 입문자가 돌파해야하는 수학적 내용들 1. 벡터의 연산 & 특징 2. normalize & scale 연산방법보다는 결과와 특징에 집중해서 공부하기! if 조건문 if (조건) {명령;} integer K 어트리뷰트가 있고, 포지션 x의 값이 0보다 크면 K가 1로 출력 string K 어트리뷰트가 있고, 포지션 x의 값이 0보다 크면 K가 YES로 출력 조건이 성립하지 않아도 K라는 어트리뷰트는 생성되도록 함 else는 if 조건문이 있고 나서 사용할 수 있음 string K 어트리뷰트가 있고, 포지션 x의 값이 0보다 크면 K가 YES로 출력, 그렇지 않다면 NO로 출력 grid의 columns 값을 늘려 포인트의 개수를 늘려줘서 색의 경계가 뚜렷해지도록 만들어주기 @Cd는 벡터의 값을 가지고 ..
[12일차] 시계 애니메이션 with Wrangle&VOP Attribute Wrangle 시간 입력 초침 분침 시침 시작시간 IS, IM, IH frame, 초침, 분침, 시침 관계 시침이 한 바퀴 돌 때 몇 시간? DH 1시간에 몇분? HM 1분의 몇 초? MS 1초에 몇 frame? SF frame에 따른 시간 정의 우리가 정의한 1초는 몇 프레임? FPS 현재 frame은 몇 초? TIME 현재 frame에 몇 번 초침이 움직였을까? CONNT TIME - COUNT (float 초 - int 초) DECI 관계에 따른 frame 당 움직일 각도 1frame 당 초침이 움직일 각도 S 1frame 당 분침이 움직일 각도 M 1frame 당 시침이 움직일 각도 H 시작각도 초침 SS 분침 SM 시침 SH 움직인 각도 초침 AS 분침 AM 시침 AH 결과 각..
[11일차] VEX와 VOP (2) VOP VOP 노드의 용도는 크게 값, 연산 두 가지로 나눠짐 왼쪽은 float 4.1 + int 2 = float 6.1, 오른쪽은 int 2 + float 4.1 = int 6 float 0.01*int 3*( float 2.5 + int 2 )*int 3*( float 2.5 + int 2 ) - 먼저 작업을 위해 attribute을 불러오기 bind를 꺼내고 Name에 P, Type을 3 Floats(vector)으로 변경 - position attribute을 다룰 수 있도록 세팅해둔 것, add의 P 값을 변경하려고 함 constant : 상수 Type을 지정해주고 사용하기 이름을 바꿔줄 필요까지는 없음 @P.y를 표현하기 위해서 vector to float , float to vector 사..
[10일차] VEX와 VOP (1) VEX 언어 기본 지식 1. VEX 정보의 형태 2. 내장 기능 & 사용자 정의 기능 3. DATA-TYPE 정보의 종류 int (integer) 정수 float 실수 vector(float, float, float) vector 크기와 방향을 가지고 있는 개념을 수학적으로 표현한 것 array 배열 같은 Datatype의 변수를 일렬로 늘어놓은 집게 데이터 유형 matrix 행렬 array에 vector가 쓰이면 matrix와 정보가 동일해짐 string 글의 형태로 data를 저장 4. Dot Operators A(2,4,1) 여기서 4는 A.y K.zy = 1 K.wz = 6 5. 연산작용 int는 int끼리, float은 float끼리, vector는 vector끼리 계산이 되도록 유도해 주는 게..
[9일차] 시계 애니메이션 (3) 똑딱거리는 시계 만들기 새로운 파라미터를 만들어준다. ch(INTERVAL)은 R_SF이고, 나중에 이름을 바꿔준 것 ch(FRAME)을 ch(COUNT)*ch(R_SF)로 변경해줌 기존에는 $F으로 한프레임마다 값이 변경되었는데, 초수*24를 해줘서 24의 배수(1초)마다 값이 바뀌도록 만들어 준 것 원래는 각도에 (1,2,3,4 ··· 23)이 곱해지면서 23프레임까지도 계속 움직이는데, 초수*24는 각도에 23프레임까지는 0, 24프레임부터 47프레임까지는 1, 48프레임부터 71프레임까지는 2 가 곱해지게 됨 함수 더하기 초침에 반동 주기 F_S = S_S + S x (COUNT x INTERVAL) + Value(반동) 1. 선을 만들고 Carve로 Point0가 DECI값에 따라 움직이게 만든..