Animation nodes : Hướng dẫn tạo hiệu ứng Plexus/Ubertracer trong Blender

Animation Nodes là gì?

  • Tác giả : JacquesLucke.
  • Animation nodes là hệ thống lập trình trực quan (visual scripting) dựa trên các node, được thiết kế cho mảng motion graphics. (điều này có nghĩa nó giữ sự logic của lập trình nhưng hiển thị kiểu node editor)
  • Animation nodes cho phép người dùng truy cập sâu vào các thuộc tính, chức năng của hầu hết các đối tượng trong Blender, từ Material, Object, Text, Sound, Sequence,… (ví dụ: tọa độ các đỉnh, độ dài cạnh, mặt của lưới… hay các hạt trong hệ thống particle…). Ngoài ra, nó còn cho phép trực tiếp tạo ra các đối tượng đó.

Download bản mới nhất
Download tài liệu nghiên cứu

Hướng dẫn cài addon, các bạn có thể dễ dàng tìm thấy trên mạng.

Hướng dẫn tạo hiệu ứng Plexus/Ubertracer:
Hướng dẫn demo minh họa dưới đây, sẽ giúp mọi người thấy được sức mạnh và cách làm việc của animation nodes.
Người dùng After Effect và C4d sẽ ít nhiều biết tới Plexus ($249.99) và UberTracer ($50.00). Đây là các plugin tạo ra hiệu ứng liên kết giữa các hạt.

Với Animation nodes, bạn hoàn toàn có thể tạo ra hiệu ứng tương tự. Điều quan trọng nằm ở ý tưởng, mình tóm tắt các bước thực hiện như sau:
(1) Tạo ra các hạt từ lưới 3d (sử dụng hệ thống hạt của blender - Particle System)
------sử dụng animation nodes----------
(2) Truy cập qua mỗi hạt, tìm các điểm gần nhất
(3) Tạo ra Curve Object từ các liên kết hạt.

(1) Tạo ra các hạt từ lưới 3d

Phần này không có gì đặc biệt, nhưng có các lưu ý nhỏ sau đây:

  • Number là số hạt được sinh ra, Start là thời gian (đơn vị là frame) mà đối tượng bắt đầu sinh ra hạt, End là thời gian nó “ngừng việc sinh nở”. Lifetime là thời gian sống của mỗi hạt. Dựa vào các thông số này, các bạn có thể kiểm soát được hệ thống hạt hình thành ntn (vd: nhân vật bước ra từ những chấm nhỏ, sau đó nhiều dần, và biến mất từ từ)
  • phần Emit Form, có 3 tùy chọn là vertexs, faces, volume. Tùy theo ý tưởng của bạn, các hạt sẽ được sinh ra tại các vị trí như đỉnh, mặt, hay thể tích của model.
  • Nếu không có ý định cho các hạt bay lung tung và chịu ảnh hưởng của trong lực, tốt nhất đặt tất cả thuộc tính về 0 trong Velocity, và chọn Physics là “No”.

kết quả:

(2) (3) Animation nodes
Sau khi cài addon, khi mở Node Editor, icon đầu tiên, ngay trước Compositing chính là animation nodes:
image

Đây là các node mình đã tạo, và sẽ giải thích ý nghĩa của chúng. Dựa vào tên node, các bạn có thể nhấn Ctrl + A để tìm kiếm vả khởi tạo hoặc dựa theo vị trí trong hướng dẫn ở dưới.

  • (node a) Particle System from Object
    vị trí: Add > Particle System > From Object
    Ở khung giá trị, chọn Object chứa hệ thống hạt.
  • (node b) Particles Data
    vị trí: Add > Particle System > Particles Data
    Đầu vào (input) là hệ thống hạt cần truy xuất, có 4 giá trị, ở đây mình chọn Alive, có nghĩa là lấy thông tin của những hạt “còn sống”. Đầu ra (output) là danh sách các đối tượng vector3d của mỗi hạt, có dạng V(-0.132, -1.946, 4.968)… (nói gọn là danh sách tọa độ :slight_smile: , mình cần ghi chi tiết như vậy, vì không phải input nào cũng nhận giá trị như vậy).
  • (node c) Find Close Points
    vị trí: Add > Mesh > Operators > Find Close Points
    Đầu vào Points, là danh sách các điểm cần tìm. Node này có nhiệm vụ lặp qua danh sách, trên mỗi 1 điểm trong dánh sách, nó sẽ tìm các điểm gần nhất, và trả về kết quả cuối cùng là danh sách Edges chứa các cạnh của các cặp gần nhất đó. Mỗi phần tử của mảng (danh sách) có dạng (0, 299). Như các bạn thấy, 2 giá trị đó không phải là tọa độ, mà là id của 2 đỉnh trong 1 mesh hoàn chỉnh.
    Mode bao gồm 2 giá trị, distance và Amount, tương ứng 2 phương pháp tìm điểm gần nhất, dựa trên khoảng cách (vd: các điểm có khoảng cách nhỏ hơn 3 với điểm đang xét) và dựa trên số lượng (vd: 3 điểm gần nhất với điểm đang xét).
  • (node d) Splines from Edges
    vị trí: Add > Spline> Create from Edges
    Đầu vào Vertices, là danh sách tọa độ các đỉnh (được nối từ danh sách tọa độ của particles). Đầu vào Edge Indices, chính là danh sách các cặp id. Node này có nhiệm vụ nối 2 điểm trong danh sách id dựa trên danh sách tọa độ được cung cấp, trả về danh sách các PolySpline.
  • (node e) Curve Object Output
    vị trí: Add > Spline> Object Output
    Đầu vào Target cho phép bạn chọn Object mà mình muốn đặt các spline lên đó, có thể nhấn và dấu (+) để tạo một đối tượng hoàn toàn mới. Đầu vào Splines nhận danh sách các PolySpline.

Màu mè 1 tí cho sinh động :slight_smile:

Kết quả:

kết quả sau render:

4 Likes

Không biết cái này có làm được mấy con ma xanh xanh như trong hình này không ạ?
e8002b1f309b279fbdd28510b07ba9e860792af5_1_353x500