수학 공식을 분해하여 Houdini에서 적용시키니 정말 이해가 잘 가고 좋다~!! 


 => length 


 => normalize


 => dot

 => dot


 => arccosine






'Houdini > Houdini etc' 카테고리의 다른 글

Very Good Site  (0) 2015.08.24
Houdini Special characters  (0) 2014.04.21
뷰창에서 보이는 View Option 들 제거하는 Hscript  (0) 2013.02.21
RenderMan Shader Compiles  (0) 2013.01.08
Houdini User가 갖춰야 할...  (0) 2012.12.02
Posted by scii
:




jrand 함수의 예제 파일:

myCustom_jrand_exam.hipnc


jrand 함수의 소스 코드:

Houdini_Jeon_jrand.txt


밑의 캡쳐 사진에서 보면 Houdini의 rand() 함수는 숫자가 중복된다. 

숫자가 중복되지 않도록 하기 위해 고민을 하다가, 그냥 Houdini 내의 함수로 만들었다.  Houdini의 내장 함수를 만들 때, 문법 상 안되는 것들이 상당히 많아서 골머리를 썩었지만 다른 방식으로 해결되어서 참 좋다.

jrand 함수를 만들었는데 사용법은 이렇다.

jrand(최소범위, 최대범위, 생성할 난수 개수) 이렇게 3개의 인자를 받고 그에 맞는 난수를 생성해 준다. 중복되지 않는 숫자들로만!!


그리고, 시스템 시간으로 seed값을 주어서 jrand를 적용한 노드의 작은 변화가 생겨도 난수가 바뀌도록 하였다. 그 외의 노드에서 변경 안됨. 



Posted by scii
:



맨 처음에는 viewoptrm `run("viewoptls")` 이렇게만 적용하였다.

그런데 문제가 실수로 한번만 툭 눌러도 view option들이 싸그리 지워지는 것이다. 

그래서 별 것 아니지만, 메시지를 띄어서 사용자가 선택할 수 있게하였고, 그 결과 값을 if문을 통해서 선택적으로 명령이 실행되게끔 코딩하였다. 



'Houdini > Houdini etc' 카테고리의 다른 글

Houdini Special characters  (0) 2014.04.21
dot product, arccosine, length, normalize 분해하기  (0) 2013.06.21
RenderMan Shader Compiles  (0) 2013.01.08
Houdini User가 갖춰야 할...  (0) 2012.12.02
Cross Product  (0) 2012.11.27
Posted by scii
:



노드 구성의 대략적인 설명을 하자면, 일단 v와 N을 통하여 진행방향을 계산해둔다.

그다음,  chop의 lag 노드를 이용해서 잔상같은 포지션을 얻은 후 이 포지션과 원래 포지션을 빼서 노말에 넣는다.

최종적으로 노말과 내적계산한것을 곱한 후 원래 포지션에 더하는 노드 구성이다.


1프레임 후의 v을 얻기위한 노드 구성들이다. 이것으로 인해 진행방향을 알 수 있다.


v와 N의 내적을 구한 값을 속성으로 만들고 있다. 


chop 내부의 모습이다. geometry 노드로 sop의 transform 데이터를 가져온 후 lag 노드를 붙여주었다. 


포지션들 빼주어서 노말을 만들고 있다.


노말의 길이만큼 공이 늘어지게 만들고 있다.


vopsop 내부의 이 구성은 point sop과 속도 비교를 위해서 만든 것이다. inline 노드를 통해서 구성하였다.


'Houdini > CHOPs' 카테고리의 다른 글

CHOPs 의 slope 노드를 이용  (0) 2013.01.27
12.08.20 MON  (0) 2012.08.23
12.08.16 THU  (0) 2012.08.17
12.08.13 MON  (0) 2012.08.14
12.08.09 THU  (0) 2012.08.12
Posted by scii
:



1. 라인으로 포인트를 생성한다. 이것은 pop에서 쓰일 소스가 된다.


2. 이것은 굳이 안해도되지만, 약간의 velocity를 줌으로써 파티클을 앞으로 조금 나가게 할 수 있다. 흐르는 물처럼 보이기 위함.


3. z축으로 바꾸고, 파티클에 이미지를 입힐려고 하기때문에 포인트 텍스쳐로 바꾼다. 그리고 옵셋에 애니메이션을 줌으로써 파티클이 내려감에 따라 이미지도 흐르게끔 해주고 있다.


4. 포인트 노드로 이미지의 컬러와 알파를 입히고 있다. 

여기서쓰인 tex 익스프레션은 텍스쳐를 가져와서 입히는 익스프레션이다. tex(경로, u, v, 칼라)

여기서 쓰인 것: tex(경로\aa.jpg, $MAPU, $MAPV, D_CR) 


5. 알파를 지워주고 있다. 현재 이 이미지에는 알파 정보가 없어서 적용이 안되고있지만, 알파 정보가 있다면 지워줄 것이다.




'Houdini > SOP' 카테고리의 다른 글

Cross Product (벡터의 외적)  (0) 2013.09.01
지수(exp) 함수와 로그(log) 함수의 그래프  (0) 2013.06.23
노말 방향으로 폭파  (0) 2013.01.25
12.07.12 THU  (0) 2012.07.23
12.07.09 MON  (0) 2012.07.22
Posted by scii
:





1. 노이즈를 발생시킨 것을 클램프노드를 통해 0~1로 만들어 준 후 그 vector 길이를 length 노드를 통해 애트리뷰트를 만들어 주었다. 

그 후, 노이즈 벡터길이와 원래 노말을 곱하여 노말을 오버라이딩하였다.



2. 노말길이가 0.2 미만인것들을 지워주었다.


'Houdini > SOP' 카테고리의 다른 글

지수(exp) 함수와 로그(log) 함수의 그래프  (0) 2013.06.23
분수에 같은 파티클에 이미지 입히기  (0) 2013.01.25
12.07.12 THU  (0) 2012.07.23
12.07.09 MON  (0) 2012.07.22
12.07.05_THU  (0) 2012.07.18
Posted by scii
:
피터퀸즈 형님의 강의를 보고 한번 vex로 작성해보았다. 
매번 느끼지만 노드보단 오히려 코드로 보는것이 이해가 더 빨리 가는듯.

vfl 파일과 otl 파일

illuminance.vfl

illuminance.otl



val1 = 1-val1; 부분은, 

외곽에만 라이트가 맺히도록... 맺히도록? 으로 해야 맞나!? 암튼.. 반전시키는 것!

pow(sqrt(vel1), edginess); 부분은,

변수 edginess의 값이 커질수록 val1에 들어가는 값이 점점 작아지도록 하기위함이다.


Output Image







'Houdini > VEX shader' 카테고리의 다른 글

...  (0) 2013.01.10
RSL의 함수와 Houdini의 함수 대응관계  (0) 2013.01.10
Ambient, Lambert, Specular Shader  (0) 2013.01.09
RSL 을 vfl로...  (0) 2012.12.15
RSL을 vex로 바꾸어서 shader 만들기  (0) 2012.12.13
Posted by scii
:

$HOME의 Houdini 디렉토리의 houdini.env 셋팅.

# 외부 편집기로 gedit를 쓸 수 있다.

# Houdini를 실행시킬때마다 경로가 적힌 디렉토리의 otl들을  자동적으로 인식해서 들고온다.




Posted by scii
: