Creating a surface or particle node using VOPs/VEX

VOPs/VEX를 사용해 새로운 surface와 particle 노드 타입들을 생성할 수 있다. 이 노드들은 그들의 내부 VOP 네트워크 또는 VEX 프로그램의 값을 구해 입력되는 geometry/particle의 point attribute들을 변경한다.

사용자들은 어떻게 노드가 VOP 네트워크 또는 textual VEX 소스 코드를 사용해 입력되는 geometry를 변경하는지 정의할 수 있다.

 

Define the node’s behavior with a VOP network

  1. Network editor에서 VEX Builder Networks 레벨로 간다 ( 경로에 있는 obj를 우클릭하고 Other network ▶ vex를 선택한다).
  2. SOP Type 네트워크를 생성한다.
  3. SOP Type 노드의 Parameter editor에서, SOP type name을 Tab 메뉴에서 나타날 이름으로 설정한다.
  4. Network editor에서 SOP Type 노드를 더블 클릭해 노드 안쪽으로 들어가고 VOP 네트워크를 생성한다.

 

Define the node’s behavior with textual VEX code

  1. File ▶ New Operator Type을 선택한다.
  2. 새로운 노드 타입의 이름과 label을 설정한다. VEX type에 대한 Operator style을 설정한다. Geometry Operator에 대한 Network Type을 설정한다.
  3. Accept를 클릭한다.
  4. 새로운 디지털 에셋의 Code 탭을 사용해 VEX 정의를 편집한다. sop의 return 타입을 가진 함수는 Houdini가 geometry를 변형하도록 실행하는 “main” 함수이다.

 

How to wire/write the VOPs/VEX

  • VOP 노드들에 있는 Parameter expression들은 각 point 별로 계산되지 않는다. point 데이터를 변형하려면 VOPs을 사용해야만 한다.
  • Partameter VOP nodes 노드들 (혹은 VEX로 된 function parameter)을 사용해  노드에 대한 사용자 인터페이스를 만들 수 있다.
  • 입력된 geometry가 파라미터와 같은 이름의 attribute를 가지고 있다면, 파라미터 값은 attribute에 의해 오버라이드 될 것이다. (이 것은 “내부” 파라미터 이름과 관계된 것이지, 유저가 읽을 수 있는 파라미터 label은 해당하지 않는다).
  • point attributes에 접근하려면 :
    • VOP에서 Global variables VOP 노드를 생성해 일반적인 point attributes에 접근하고 (VOP SOP 노드의 첫번째 인풋에서) 그 것을 다른 VOP 노드들로 연결한다. 다른 attribute들은 같은 이름과 타입을 가진 파라미터를 사용하던가 (그러면 attribute에 의해 오버라이드 될 것이다) 또는 Import Attribute VOP을 사용한다.
    • VEX에서 전역 변수들은 일반적인 P와 같은 point attribute (첫 번째 인풋에서부터)에서 사용할 수 있다. 다른 attribute들은 같은 이름과 타입을 가진 파라미터를 사용하거나 (그러면 attribute에 의해 오버라이드 될 것이다) /vex/functions/omport 함수를 사용할 수 있다.
  • 첫 번째 인풋의 geometry만이 네트워크/프로그램에 의해 변형될 수 있다. Import Attribute VOP 또는 vex의 /vex/functions/import 함수를 사용해 다른 인풋들로부터 정보에 접근할 수 있다.
  • geometry에 attribute를 추가하려면…
    VOP에서는 Parameter 노드를 사용해 ExportAlways 또는 When input is connected로 설정한다.
    VEX에서는 파라미터가 export로 마크되는 함수를 사용하거나 (예, export float a = 0;), 또는 /vex/functions/addattribute 함수를 사용한다 (특히 컴파일을 할 때 이름을 알 수 없는 attribute를 추가/변경하는 것은 사용자 인터페이스에 의해 제어 된다).
  • VEX 코드에서 sop 또는 pop의 return 타입을 가진 함수는 Houdini가 호출할 “main” 함수이다. 사용자는 이 main 함수와 함께 다른 “heler” 함수들을 필요하다면 정의 할 수 있다.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s