Houdini VEX 메모
HIP 파일
데이터 유형
int a = 2;
float b = 2.1;
vector c = (2.1, 2.1, 2.1);
vector2 c2 = (2.1, 2.1);
string d = "two";
matrix3 m3 = { {1,1,1}, {2,2,2}, {3,3,3} };
matrix m4 = { {1,1,1,1}, {2,2,2,2}, {3,3,3,3}, {4,4,4,4} };
배열
int a[] = {1, 2, 3};
float b[] = {1.1, 2.1, 3.1};
vector c[] = {{1.0, 1.0, 1.0}, {2.0, 2.0, 2.0}};
vector2 c2[] = {{1.0, 1.0}, {2.0, 2.0}};
string d[] = {"one", "two", "three"};
속성 유형 지정
i@a = 2;
f@b = 2.1;
v@c = (2.1, 2.1, 2.1);
u@c2 = (2.0, 2.0);
s@d = "two";
3@m3 = { {1,1,1,}, {2,2,2}, {3,3,3} };
4@m4 = { {1,1,1,1}, {2,2,2,2}, {3,3,3,3}, {4,4,4,4} };
빈도가 높은 함수
ch() 채널의 값
float colorRed = ch("red");
float colorGreen = ch("green");
float colorBlue = ch("blue");
v@Cd = set( colorRed, colorGreen, colorBlue );
chv() vector 채널의 값
vector translate= chv("translate");
chramp() 램프의 값
float 또는 vector의 값을 출력한다
입력값은 0~1에 넣어야 한다
float red = chramp("red",@P.y);
@Cd = set(red, 0, 0);
0 이하 또는 1 이상의 값을 입력하면 반복한 값이 출력된다
컬러 램프 (vector)의 값을 출력하고 싶을 때는 vector를 지정
vector color = vector(chramp("color",@P.y));
@Cd = color;
fit() 범위 지정하여 다른 범위로 랩핑
@P.y = fit(@P.y, -0.35, 0.35, 0, 1);
fit01()
rand() 0~1의 난수
float나 vector의 형태에 맞추어 출력해 준다
@Cd = set(rand(i@primnum), 0, 0);
@Cd = rand(i@primnum);
relbbox() 바운딩 박스(0~1)의 상대 위치
@Cd = relbbox(0, @P);
getbbox_size() 바운딩 박스의 사이즈
vector v = getbbox_size(0);
printf("%f", v);
getbbox_center() 바운딩 박스의 중심
vector center = getbbox_center(0);
printf("%f", center);
addpoint() 포인트 추가
addpoint(0, set(0, 0, 0));
removepoint() 포인트 삭제
removepoint(0,i@ptnum);
removepoint() 포인트 참조
노드 경로를 지정하려면 op :를 경로에 붙입니다.
vector getPosition = point(0, "P", 0);
printf("input 0 %f \n",getPosition);
getPosition = point('op:/obj/func_point/transform1', "P", 0);
printf("input path %f \n",getPosition);
maketransform() 변환 매트릭스
파라미터가 특히 많기 때문에 어렵게 느끼지만, transform 노드와 함께 이동, 회전, 스케일을 넣는 것만
빨간색이 transform이고 녹색이 maketransform, 둘 다 같은 값
vector translate= chv("translate");
vector rotate = chv("rotate");
vector scale = chv("scale");
vector pivot = chv("pivot");
@P *= maketransform(0,0, translate, rotate, scale, pivot);
Reference
이 문제에 관하여(Houdini VEX 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DefaultVFX/items/463908a59024bb9974d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
int a = 2;
float b = 2.1;
vector c = (2.1, 2.1, 2.1);
vector2 c2 = (2.1, 2.1);
string d = "two";
matrix3 m3 = { {1,1,1}, {2,2,2}, {3,3,3} };
matrix m4 = { {1,1,1,1}, {2,2,2,2}, {3,3,3,3}, {4,4,4,4} };
int a[] = {1, 2, 3};
float b[] = {1.1, 2.1, 3.1};
vector c[] = {{1.0, 1.0, 1.0}, {2.0, 2.0, 2.0}};
vector2 c2[] = {{1.0, 1.0}, {2.0, 2.0}};
string d[] = {"one", "two", "three"};
속성 유형 지정
i@a = 2;
f@b = 2.1;
v@c = (2.1, 2.1, 2.1);
u@c2 = (2.0, 2.0);
s@d = "two";
3@m3 = { {1,1,1,}, {2,2,2}, {3,3,3} };
4@m4 = { {1,1,1,1}, {2,2,2,2}, {3,3,3,3}, {4,4,4,4} };
빈도가 높은 함수
ch() 채널의 값
float colorRed = ch("red");
float colorGreen = ch("green");
float colorBlue = ch("blue");
v@Cd = set( colorRed, colorGreen, colorBlue );
chv() vector 채널의 값
vector translate= chv("translate");
chramp() 램프의 값
float 또는 vector의 값을 출력한다
입력값은 0~1에 넣어야 한다
float red = chramp("red",@P.y);
@Cd = set(red, 0, 0);
0 이하 또는 1 이상의 값을 입력하면 반복한 값이 출력된다
컬러 램프 (vector)의 값을 출력하고 싶을 때는 vector를 지정
vector color = vector(chramp("color",@P.y));
@Cd = color;
fit() 범위 지정하여 다른 범위로 랩핑
@P.y = fit(@P.y, -0.35, 0.35, 0, 1);
fit01()
rand() 0~1의 난수
float나 vector의 형태에 맞추어 출력해 준다
@Cd = set(rand(i@primnum), 0, 0);
@Cd = rand(i@primnum);
relbbox() 바운딩 박스(0~1)의 상대 위치
@Cd = relbbox(0, @P);
getbbox_size() 바운딩 박스의 사이즈
vector v = getbbox_size(0);
printf("%f", v);
getbbox_center() 바운딩 박스의 중심
vector center = getbbox_center(0);
printf("%f", center);
addpoint() 포인트 추가
addpoint(0, set(0, 0, 0));
removepoint() 포인트 삭제
removepoint(0,i@ptnum);
removepoint() 포인트 참조
노드 경로를 지정하려면 op :를 경로에 붙입니다.
vector getPosition = point(0, "P", 0);
printf("input 0 %f \n",getPosition);
getPosition = point('op:/obj/func_point/transform1', "P", 0);
printf("input path %f \n",getPosition);
maketransform() 변환 매트릭스
파라미터가 특히 많기 때문에 어렵게 느끼지만, transform 노드와 함께 이동, 회전, 스케일을 넣는 것만
빨간색이 transform이고 녹색이 maketransform, 둘 다 같은 값
vector translate= chv("translate");
vector rotate = chv("rotate");
vector scale = chv("scale");
vector pivot = chv("pivot");
@P *= maketransform(0,0, translate, rotate, scale, pivot);
Reference
이 문제에 관하여(Houdini VEX 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DefaultVFX/items/463908a59024bb9974d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
i@a = 2;
f@b = 2.1;
v@c = (2.1, 2.1, 2.1);
u@c2 = (2.0, 2.0);
s@d = "two";
3@m3 = { {1,1,1,}, {2,2,2}, {3,3,3} };
4@m4 = { {1,1,1,1}, {2,2,2,2}, {3,3,3,3}, {4,4,4,4} };
ch() 채널의 값
float colorRed = ch("red");
float colorGreen = ch("green");
float colorBlue = ch("blue");
v@Cd = set( colorRed, colorGreen, colorBlue );
chv() vector 채널의 값
vector translate= chv("translate");
chramp() 램프의 값
float 또는 vector의 값을 출력한다
입력값은 0~1에 넣어야 한다
float red = chramp("red",@P.y);
@Cd = set(red, 0, 0);
0 이하 또는 1 이상의 값을 입력하면 반복한 값이 출력된다
컬러 램프 (vector)의 값을 출력하고 싶을 때는 vector를 지정
vector color = vector(chramp("color",@P.y));
@Cd = color;
fit() 범위 지정하여 다른 범위로 랩핑
@P.y = fit(@P.y, -0.35, 0.35, 0, 1);
fit01()
rand() 0~1의 난수
float나 vector의 형태에 맞추어 출력해 준다
@Cd = set(rand(i@primnum), 0, 0);
@Cd = rand(i@primnum);
relbbox() 바운딩 박스(0~1)의 상대 위치
@Cd = relbbox(0, @P);
getbbox_size() 바운딩 박스의 사이즈
vector v = getbbox_size(0);
printf("%f", v);
getbbox_center() 바운딩 박스의 중심
vector center = getbbox_center(0);
printf("%f", center);
addpoint() 포인트 추가
addpoint(0, set(0, 0, 0));
removepoint() 포인트 삭제
removepoint(0,i@ptnum);
removepoint() 포인트 참조
노드 경로를 지정하려면 op :를 경로에 붙입니다.
vector getPosition = point(0, "P", 0);
printf("input 0 %f \n",getPosition);
getPosition = point('op:/obj/func_point/transform1', "P", 0);
printf("input path %f \n",getPosition);
maketransform() 변환 매트릭스
파라미터가 특히 많기 때문에 어렵게 느끼지만, transform 노드와 함께 이동, 회전, 스케일을 넣는 것만
빨간색이 transform이고 녹색이 maketransform, 둘 다 같은 값
vector translate= chv("translate");
vector rotate = chv("rotate");
vector scale = chv("scale");
vector pivot = chv("pivot");
@P *= maketransform(0,0, translate, rotate, scale, pivot);
Reference
이 문제에 관하여(Houdini VEX 메모), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/DefaultVFX/items/463908a59024bb9974d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)