Các Ngôn Ngữ Có Bên Trong Houdini Và Tính Năng

Expression

Là các đoạn mã rất tác dụng khi dùng trên các tham số theo kênh (channel parameter) ngay trên giao diện của các operator có trong Houdini, nhằm mục đích để hiệu chỉnh. Lấy ví dụ $F sẽ trả về số của frame hiện tại, hoặc một số tham số như $T sẽ trả về thời gian hiện tại, tính bằng giây (chạy theo frame trên giây – ví dụ frame thứ 48 của timeline 24fps là giây thứ 2).

Cách sử dụng: https://www.sidefx.com/docs/houdini/ref/expression_cookbook.html
Các tập hàm: https://www.sidefx.com/docs/houdini/expressions/index.html

https://youtu.be/rMePUMPgCTQ

HScript

Đây là ngôn ngữ kịch bản Houdini, là các đoạn mã dùng để sử dụng tác động từ cấp hệ điều hành, có thể truy cập Houdini thông qua các tập mã lệnh này, ngay cả tạo ra một node mới trong file hip hiện có, xóa một node, thay đổi thông tin bất kỳ có trong file hip hiện có mà chỉ cần thông qua các tập mã lệnh. Phổ biến nhất là dùng HScript trong cú pháp render.

Ví dụ đây là dòng lệnh tại màn hình command line của Houdini (C shell) – start cái này thông qua thư mục Side FX, có công cụ Command Line riêng đã thiết lập môi trường Houdini.

hscript <tên file HIP>
render -V -a <tên node trong render output ROP, vd: mantra1>
-V mỗi lần render xong 1 tác vụ sẽ in ra một dòng thông tin
-a sẽ in ra các dòng thông tin theo kiểu “Alfred style progress” – tức 1%, 2%, 3%

https://www.sidefx.com/docs/houdini/commands/_guide.html
Bản thân HScript có thể được mở rộng thông qua các dòng mã C++ như để tạo plugin, liên kết cả với Python
https://www.sidefx.com/docs/hdk/_h_d_k__h_script.html

https://youtu.be/VeJrovx2a1k?list=PLSET4TyKEfn9TLeA9wunf_-yEbhg-Rctf

Python scripting

Đây là chức năng mới của Houdini hiện đại vài năm gần đây, cũng là xu hướng của tất cả các DCC (digital content creation – phần mềm 3D), tác vụ cũng tương tự như HScript, có thể giao dịch với hệ điều hành, có thể truy cập vào file HIP thay đổi chỉnh sửa thông qua các dòng lệnh, tạo ra giao diện bên trong Houdini. Các tập lệnh Python script sẽ được thực thi qua một API có tên là HOM (Houdini Object Model).

Python script có thể được soạn thảo ngay trên channel parameter, tuy nhiên sẽ chậm hơn Expression tiêu chuẩn khi xử lý.

Tìm hiểu thêm về HOM
https://www.sidefx.com/docs/houdini/hom/index.html

Ghi Python vào các parameter của operator: https://www.sidefx.com/docs/houdini/hom/expressions.html

Xem video cách tạo ra tool bằng Python

https://youtu.be/nS4FSMEas-I

Playlist video hướng dẫn cơ bản Python trong Houdini
https://www.youtube.com/playlist?list=PL5V9qxkY_RnJstgKRPN8cCErK4oYB8Fax

VEX

Ngôn ngữ ngay bên trong Houdini, mạnh mẽ và nhanh nhất, được soạn thảo thông qua các operator trực tiếp tên là Wrangle, đây là một trong các node operator cách mạng của Houdini kể từ khi trình làng. Tốc độ VEX khi biên dịch và xử lý là ngay tức thì bên trong các chuỗi hành vi của Houdini, nhanh hơn hẳn so với Python và HScript, có thể nói nhanh hơn cả công cụ C/C++.

Có thể tạo ra đoạn mã VEX bằng hai cách:

  1. Viết đoạn mã VEX thuần chữ như kiểu viết ngôn ngữ Python, viết các Expression, tạo ra lệnh HScript
  2. Tạo ra đoạn mã VEX thông qua giao diện node trực quan (sẽ khá giống với BluePrint của Unreal Engine, nếu bạn đã biết UE4)

Lấy ví dụ để thực hiện thao tác trực quan, cần phải tính tích của hai số:
x * y = Tích
Ta sẽ tạo ra hai node có giá trị x và y, sau đó lấy node Multiply (nhân) và nối đầu vào input của node Multiply với đầu ra (output) của hai node giá trị x và y. Cách này gọi là VOP. Houdini đặt tên này là Vector OPerator.

Ngay bên trong một node VOP chính là ngôn ngữ VEX.

Nếu bạn muốn mau chóng có thể rành mạch VEX thông thạo ngay thì hãy đến với CGWiki, phần JOY Of Vex sẽ giúp bạn nâng cao ngay trong 21 ngày, nếu bạn vượt qua được hết chắc chắn khả năng cao thủ Houdini là trong tầm tay. Link: http://www.tokeru.com/cgwiki/index.php?title=JoyOfVex

Bạn có thể cùng học thực hành JOY of Vex cùng với Mix Traning.

https://youtu.be/Do_aeJpZcvs?list=PL0fCQcmH9FnNqE7xR84Wkuy-dQuk0QqwB

Post Author: Vu Pham