Tổng quan Procedural Curves trong Blender 3.0
Nhà phát triển Hans Goudey đã chia sẻ kết quả của dự án geometry nodes curve và các mục tiêu trong tương lai gần cho Blender. Chúng ta cùng tìm hiểu dự án này đã đặt được những thành tích gì và chúng hữu dụng như thế nào đối với artists, designers nhé!
Việc thêm procedural curves trong Blender 3.0 được xem là trọng điểm đối với nhóm và cộng đồng geometry nodes trong vài tháng qua. Một trong những thay đổi lớn hơn cuối cùng cũng đã ra mắt như các hỗ trợ công cụ sửa đổi các nút hình học (geometry nodes modifier) trên các đối tượng đường cong (curve objects).
Tương tự như các curve objects, ba loại curve được hỗ trợ trong geometry nodes:
- Bezier với control points handles và handle types, mỗi loại có thể chỉnh sửa thành các attributes riêng biệt
- Poly với một loạt connected points đơn giản
- NURBS với một loại spline nâng cao với các điều khiển khác nhau.
Các Nodes mới của Procedural Curves trong Blender 3.0
Một trong những ý tưởng cơ bản của những thay đổi này là tạo nên sự sắc nét, rõ ràng hơn khi làm việc với data là curve hoặc mesh. Các phiên bản hiện tại của Blender không phân biệt rõ ràng giữa hai loại này, và nó ngầm hiểu curve cũng giống như mesh. Vì vậy, chúng ta có thể tận dụng tính linh hoạt của các nodes để làm cho quá trình render rõ và sắc cạnh hơn.
Tính linh hoạt này được hiểu rằng bất kỳ đối tượng nào được hỗ trợ geometry nodes đều có thể tạo ra kết quả là curve data, không chỉ là cho curve objects!
1. Curve to Mesh
Loại Node này là bản sao của “Curve Bevel” hiện có, ngoại trừ tính năng node có thể chấp nhận nhiều cấu hình input và tự động đánh dấu các sharp edges.
2. Curve Fill
Fill node tạo ra 2D mesh từ curves, lấp đầy các mặt ở bên trong. Ý tưởng này được đóng góp bởi Erik Abrahamsson, người xây dựng thư viện tam giác (triangulation library) do Howard Trickey xây chính xác từng boolean. Đây là bản sao của 2D curve fill hiện có trong 2.93, nhưng bản này ở 3.0 sẽ cho kết quả tốt hơn, dễ dự đoán hơn.
3. Curve Trim
Trim node làm cho các curve splines ngắn hơn, khi input thể hiện dưới dạng độ dài (length) hoặc hệ số (factor). Ý tưởng node này được đóng góp bởi Angus Stanton.
4. Curve to Points
Node này tạo ra một point cloud với các điểm cách đều nhau trên curve, giúp tạo ra dữ liệu cần thiết để thực hiện như rotation.
5. Curve Endpoints
Node này tạo ra một curve mới, lấy mẫu độ dài một cách nhất quán ngầy từ input. Tương tư như curve to points node, chỉ khác rằng đầu ra vẫn là một curve.
7. Curve Subdivide
Giống như resample curve node, node này tạo curve có độ phân giải cao hơn, nhưng vẫn giữ kiểu spline ban đầu và hoàn toàn không thay đổi hình dạng đối với Bezier curves. Mỗi segment có thể có số lần cắt riêng biệt.
6. Resample Curve
Giống như resample curve node, node này tạo curve có độ phân giải cao hơn, nhưng vẫn giữ kiểu spline ban đầu và hoàn toàn không thay đổi hình dạng đối với Bezier curves. Mỗi segment có thể có số lần cắt riêng biệt.
8. Mesh to Curve
Ở các phiên bản trước đây, Blender không có khả năng tạo curve từ mesh edges theo quy trình. Bây giờ thì điều này hoàn toàn có thể! Với selection input, bất kỳ cạnh nào của mesh đều có thể được biến thành curve và bất kỳ thuộc tính bổ sung nào (extra attributes) cũng sẽ được tự động chuyển.
9. Handle Type Nodes
Node này thay đổi quy trình handle types bên trái hoặc bên phải của các Bezier control points.
11. Curve Reverse
Loại này cũng được tạo bởi Johnny, đây là một node đơn giản dùng để chuyển hướng của curve, giống như trong edit mode.
10. Set Spline Type
Tính năng này được đóng góp bởi nhà phát triển Johnny Matthews, node này thay đổi từng loại spline giữa các loại Bezier, poly và NURBS được đề cập ở trên, giống như chỉnh sửa mode operator.
12. Curve Length
Một node đơn giản khác để tạo ra tổng chiều dài của curve. Tính năng này được tạo bởi Johnny và anh cũng đã chia sẻ trên kênh YouTube của riêng mình.
Primitives
Cũng giống như các mesh primitive nodes hiện có, ở phiên bản mới có thêm các curve primitive nodes, cũng được tạo bởi Johnny Matthews. Chúng cung cấp một cơ sở hữu ích và linh hoạt đáng ngạc nhiên cho cả 2D and 3D contexts. Nhiều nodes có các tùy chọn cho các phương thức input khác nhau, như tìm đường tròn đi qua ba điểm trong không gian.
Internals
Curve support trong geometry nodes đã tạo cơ hội để cải thiện đáng kể phần internal của curve code. Một phần lớn curve code có trong Blender 3.0 hiện nay có từ open source commit thuở đầu, tức 19 năm về trước! Mặc dù đây không phải là vấn đề quá to tát, nhưng các phương pháp phát triển phần mềm chuẩn đã thay đổi rất nhiều trong thời gian gần đây và việc này thường gây nhầm lẫn và khó khăn trong khi làm việc. Curve data hiện có trong Blender 3.0 cũng không hỗ trợ lưu trữ các thuộc tính chung, trong khi điều này lại cần thiết cho các geometry nodes.
Với mục đích thay thế hầu hết code hiện có, đội ngũ phát triển đã tạo một triển khai mới cho Procedural Curves, được thiết kế để hiệu quả hơn, làm việc dễ dàng hơn và được ghi chép đúng cách hơn. Hành động này thực sự mang lại giá trị. Bởi với một nền tảng được cải thiện, các nhà phát triển có thể đạt được tiến bộ nhanh hơn nhiều so với họ mong đợi!
Kết luận
Bản thân tác giả đã quan tâm đến procedural curves kể từ khi anh bắt đầu làm việc trên Blender cách đây hai năm, vì vậy anh rất vui khi tham gia vào một lĩnh vực cụ thể như vậy và khiến nó phát triển trong vòng 5 tháng.
Blender hiện nay đã được các nhà phát triển tạo thêm nhiều tính năng mới để phục vụ cho nhiều nhu cầu đa dạng của người sử dụng trong đó có Procedural Curves. Bên cạnh đó, để tạo ra một tác phẩm render tốt và phát huy những thứ vốn có của Blender, chắc chắn không thể thiếu những chiếc máy tinh cấu hình cao.
iRender là công ty công nghệ điện toán đám mây (Cloud computing) – Render farm Việt Nam tiên trong & duy nhất cung cấp các dịch vụ kết xuất đồ họa trên nền tảng điện toán đám mây (Cloud Rendering) với nền tảng hệ thống được đầu tư bài bản và mạnh mẽ nhất với 20.000 Cores hỗ trợ song song sức mạnh điện toán của CPUs và GPUs.
iRender có đội ngũ nhân viên nhiệt tình luôn sẵn sàng hỗ trợ bạn 24/7. Bất cứ khi nào bạn gặp sự cố khi sử dụng máy chủ của chúng tôi hoặc thậm chí với phần mềm của bạn, chúng tôi – iRender Support Team luôn sẵn sàng trợ giúp bạn giải quyết vấn đề của mình. Chúng tôi cung cấp hỗ trợ chưa từng có phù hợp với nhu cầu và mục tiêu cụ thể của bạn.
Với tất cả những ưu điểm vượt trội kể trên, chắc hẳn bạn đã tìm được cho mình sự lựa chọn hoàn hảo cho iRender . Chúng tôi tin rằng chất lượng hỗ trợ mà chúng tôi cung cấp cũng quan trọng như công nghệ mà chúng tôi cung cấp. Chúng tôi cung cấp hỗ trợ chưa từng có phù hợp với nhu cầu và mục tiêu cụ thể của bạn. ƯU ĐÃI ĐẶC BIỆT cho tháng 10 này: Tặng cho tất cả người dùng mới đăng ký. Hãy cùng kiểm tra nào!
iRender – Happy iRender
Nguồn và ảnh:code.blender.org