Thuộc Tính (Attributes)

"Thuộc tính" là một thuật ngữ chung để miêu tả dữ liệu được lưu trữ trên mỗi phần tử trong khối dữ liệu hình học. Ví dụ, mọi điểm đỉnh có thể có một con số hoặc một vectơ liên quan. Các thuộc tính có thể được thay đổi bằng cách kết nối một giá trị với nút "Đầu Ra của Nhóm", song cũng có nhiều nút có thể thay đổi giá trị của các thuộc tính cụ thể.

Ghi chú

Các kiểu dữ liệu của thuộc tính và các phạm vi được chuyển đổi hoàn toàn nếu có thể, giống như các ổ cắm nút.

Thuộc Tính được Đặt Tên (Named Attributes)

Các thuộc tính được đặt tên được sinh tạo và sử dụng trong các lĩnh vực khác của Blender như tô bóng, vẽ và lập ánh xạ UV. Trong bảng bộ điều chỉnh (modifier panel) , chúng ta có thể đánh máy chữ điền tên của một thuộc tính bằng tên của nó bằng cách nhấp vào biểu tượng ở bên trái của nút giá trị. Dòng văn bản đánh máy chữ ấy được sử dụng để tìm kiếm và chọn các thuộc tính hiện có từ hình học đầu vào của bộ điều chỉnh.

../../_images/modeling_geometry-nodes_attribute-reference_search.png

Tìm Kiến Thuộc Tính.

Chức năng tìm kiếm thuộc tính cung cấp một phần nào ngữ cảnh về từng thuộc tính. Ở bên trái của trình đơn là nơi phạm vi thuộc tính được hiển thị, tiếp theo là tên thuộc tính. Ở bên phải của trình đơn là nơi kiểu dữ liệu thuộc tính được hiển thị.

Thuộc Tính Ẩn Danh (Anonymous Attributes)

../../_images/modeling_geometry-nodes_attribute-reference_attribute-field.png

Các kết quả đầu ra của "Pháp Tuyến" và "Xoay Chiều" là những ví dụ về các trường thuộc tính, tham chiếu đến một thuộc tính được lưu trữ trên một hình học.

Thuộc tính ẩn danh là một tập hợp dữ liệu chung được lưu trữ trên một hình học không có tên. Thông thường, các thuộc tính được hiển thị trong giao diện của Blender đều có tên. Song, trong các nút hình học, các thuộc tính có thể được truyền xung quanh dùng các ổ cắm nút, và trong những trường hợp này, đầu ra "Trường Thuộc Tính" được tạo ra, và được các nút sử dụng để tìm dữ liệu thuộc tính trong hình học đầu vào.

Các thuộc tính ẩn danh vẫn được lưu trữ trên hình học như các thuộc tính khác, và chúng thậm chí còn được tự động nội suy khi hình học đó thay đổi với các nút khác, ngoại trừ một số trường hợp. Vì vậy, nói chung, nếu liên kết nút vẫn có thể truy cập được, thì thuộc tính mà nó tham chiếu cũng sẽ truy cập được như vậy. Song, các thuộc tính ẩn danh không thể kết nối với một hình học hoàn toàn biệt lập vốn được tạo ra từ một nguồn khác. Để thuyên chuyển các thuộc tính giữa các hình học biệt lập thì chúng ta có thể sử dụng Nút Chỉ Số Mẫu Vật (Sample Index Node) hoặc các nút tương đồng, như Nút Mẫu Vật Gần Nhất Bề Mặt (Sample Nearest Surface Node) là nút có thể sử dụng được.

Các Kiểu Dữ Liệu Thuộc Tính (Attribute Data Types)

Kiểu dữ liệu của thuộc tính là thể loại dữ liệu được lưu trữ tại mỗi phần tử.

Boolean (Lôgic Bool)

Giá trị true hay false

Số Nguyên (Integer)

số nguyên 32-bit

8-Bit Integer (Số Nguyên)

Số nguyên với phạm vi nhỏ hơn từ -128 đến 127 mà thôi

Số Thực Dấu Phẩy Động (Float)

Giá trị số thực dấu phẩy động

Véctơ (Vector)

Véctơ 3D trong các giá trị dấu phẩy động

Véctơ 2D (2D Vector)

Véctơ 2D với các giá trị số thực dấu phẩy động

Màu Sắc (Color)

Màu RGBA với các giá trị số thực dấu phẩy động 32-bit

Màu Byte (Byte Color)

Màu RGBA với các giá trị nguyên dương 8 bit

Danh sách trên theo thứ tự từ ít nhất đến "phức tạp" nhất (Một số nguyên có thể chứa nhiều dữ liệu hơn một giá trị boolean, vì vậy nó phức tạp hơn). Khi nối các hình học biệt lập lại với nhau thì kiểu dữ liệu phức tạp hơn sẽ được ưu tiên khi các tên trùng khớp nhau. Chức năng này đặc biệt quan trọng khi kết hợp hình học với các thuộc tính được đặt tên với Nút Hội Nhập Hình Học (Join Geometry Node)

Các Phạm Vi Thuộc Tính (Attribute Domains)

Phạm vi của thuộc tính ám chỉ đến thể loại phần tử hình học mà thuộc tính đó tương ứng. Biết phạm vi của một thuộc tính là điều rất quan trọng vì nó xác định phương pháp nó có thể được nội suy và sử dụng trong các nút và tô bóng. Bạn có thể sử dụng Trình Biên Soạn Bảng Tính (Spreadsheet Editor) để xác định phạm vi của các thuộc tính.

  • "Điểm Chấm" liên hệ đến các đơn địa điểm trong không gian với một vị trí:

    • Điểm đỉnh của khung lưới

    • Các điểm của một đám mây điểm

    • Xương điều khiển

  • Các thuộc tính phạm vi "cạnh" được liên hệ với các cạnh của khung lưới.

  • Các thuộc tính phạm vi "Bề Mặt" được liên hệ với các bề mặt của khung lưới.

  • Các thuộc tính phạm vi "Góc của Bề Mặt" được liên hệ với các góc của các bề mặt của khung lưới. Một ví dụ là thuộc tính ánh xạ UV.

  • Các thuộc tính phạm vi "Spline" được liên hệ với một nhóm các điểm điều khiển đường cong được kết nối.

  • Các thuộc tính phạm vi "Thực Thể" tồn tại trên các Thực Thể (Instances) trong một hình học. Chúng có thể được sử dụng để lưu trữ các giá trị khác nhau trên các bản sao của dữ liệu hình học. Các thuộc tính phạm vi thực thể chỉ được hỗ trợ trong các nút hình học mà thôi.

Các thuộc tính được nội suy tự động tới các phạm vi khác. Ví dụ, khi nút Nút Vị Trí (Position Node) được kết nối với đầu vào lựa chọn của nút Nút Đặt Nguyên Vật Liệu (Set Material Node), các giá trị được nội suy từ phạm vi "Điểm Chấm"đến phạm vi "Bề Mặt". Thông thường thì các chuyển đổi phạm vi sử dụng các giá trị trung bình đơn giản, song các thuộc tính kiểu dữ liệu "Boolean" có các quy tắc đặc biệt để nội suy:

Nội Suy Phạm Vi Boolean (Boolean Domain Interpolation)

Từ

Tới

Chuyển Đổi (Conversion)

Điểm/Chấm (Point)

Edge (Cạnh)

Một cạnh được chọn nếu cả hai điểm đỉnh của nó đã được chọn.

Điểm/Chấm (Point)

Face (Bề Mặt)

Một bề mặt được chọn nếu toàn bộ các điểm đỉnh của nó cũng đã được chọn.

Điểm/Chấm (Point)

Góc Cạnh (Corner)

Giá trị của mỗi góc chỉ đơn giản là một bản sao của giá trị tại điểm đỉnh của nó.

Điểm/Chấm (Point)

Spline

Một spline được chọn nếu toàn bộ các điểm điều khiển của nó đã được chọn.

Edge (Cạnh)

Điểm/Chấm (Point)

Một điểm đỉnh được chọn nếu bất kỳ cạnh kết nối nào đã được chọn rồi.

Edge (Cạnh)

Face (Bề Mặt)

Một bề mặt được chọn nếu toàn bộ các cạnh của nó được chọn

Edge (Cạnh)

Góc Cạnh (Corner)

Một góc được chọn nếu hai cạnh liền kề của nó được chọn.

Face (Bề Mặt)

Điểm/Chấm (Point)

Một điểm đỉnh được chọn nếu bất kỳ bề mặt nào kết nối được chọn.

Face (Bề Mặt)

Edge (Cạnh)

Một cạnh được chọn nếu bất kỳ bề mặt kết nối nào đã được chọn.

Face (Bề Mặt)

Góc Cạnh (Corner)

Giá trị của mỗi góc chỉ đơn giản là một bản sao của giá trị ở bề mặt của nó.

Góc Cạnh (Corner)

Điểm/Chấm (Point)

Một điểm đỉnh được chọn nếu toàn bộ các góc bề mặt kết nối đã được chọn và nó không phải là một điểm đỉnh rời rạc.

Góc Cạnh (Corner)

Edge (Cạnh)

Một cạnh được chọn nếu toàn bộ các góc trên các bề mặt liền kề đã được chọn.

Góc Cạnh (Corner)

Face (Bề Mặt)

Một bề mặt được chọn nếu toàn bộ các góc của nó đã được chọn.

Spline

Điểm/Chấm (Point)

Giá trị của mỗi điểm chỉ đơn giản là một bản sao của giá trị tương ứng của spline.

Thuộc Tính Gắn Sẵn (Built-In Attributes)

Các thuộc tính gắn sẵn luôn luôn tồn tại và không thể bị xóa đi. Chúng ta không thể thay đổi phạm vi và kiểu dữ liệu của chúng được.

Tên (Name)

Thể Loại (Type)

Phạm vi (Domain)

Ghi Chú (Notes)

"position"

Véctơ

Điểm/Chấm

Built-in attribute describing vertex or point locations, in the local space of a geometry. Any node that changes the location of points will adjust this attribute, like the Transform and Set Position nodes.

"radius"

"Float"

Điểm/Chấm

Một thuộc tính gắn sẵn trên đám mây điểm được sử dụng để đặt kích thước cho các điểm trong cổng nhìn. Cái này cũng được gắn sẵn trên các đường cong, nơi nó điều khiển kích thước của mỗi điểm điều khiển đường cong khi được chuyển đổi thành khung lưới hoặc cho các hoạt động khác.

"id"

Số Nguyên

Điểm/Chấm

Được sinh tạo bởi Phân Bố các Điểm trên Bề Mặt (Distribute Points on Faces) để cung cấp sự ổn định khi hình dạng của khung lưới đầu vào thay đổi và được sử dụng trên các thực thể để sinh tạo nhòe mờ chuyển động. Giá trị được mong đợi là lớn, không có thứ tự. Thuộc tính này được sử dụng bởi các nút sinh tạo ngẫu, chẳng hạn như Nút Giá Trị Ngẫu Nhiên (Random Value Node). Không giống như các thuộc tính gắn sẵn khác, thuộc tính này không bắt buộc và có thể xóa đi được.

"material_index"

Số Nguyên

Bề Mặt

Được sử dụng để chỉ định khe nguyên vật liệu cho mọi bề mặt trong khung lưới.

"crease"

"Float"

Cạnh

Thuộc tính Cạnh được sử dụng bởi bộ điều chỉnh Bề Mặt Phân Hóa. Các giá trị được giới hạn trong phạm vi 0 và 1.

"shade_smooth"

"Boolean"

Bề Mặt

Thuộc tính xác định xem một bề mặt có nên bật tô bóng mịn màng trong cổng nhìn hay kết xuất.

"resolution"

Số Nguyên

Spline

Xác định số điểm được tính toán giữa hai điểm điều khiển của một spline. Chỉ có NURBS và các splines Bézier mới có thuộc tính này, đối với spline đa phân đoạn, giá trị luôn luôn là một.

"cyclic"

"Boolean"

Spline

Xác định xem spline có một phân đoạn kết nối các điểm điều khiển đầu tiên và cuối cùng của nó hay không.

"handle_left"

Véctơ

Điểm/Chấm

Miêu tả vị trí tay cầm bên trái của điểm điều khiển đường cong, ở bên điểm bắt đầu của đường cong. Chỉ tồn tại khi đường cong chứa đường cong Bézier.

"handle_right"

Véctơ

Điểm/Chấm

Miêu tả vị trí tay cầm bên phải của điểm điều khiển đường cong, ở bên kết thúc đường cong. Chỉ tồn tại khi đường cong chứa đường cong Bézier.

Quy Ước Đặt Tên (Naming Conventions)

Các thuộc tính này không tồn tại theo mặc định, song được sử dụng ngầm bởi các phần nhất định của Blender. Kiểu dữ liệu của các thuộc tính này có thể được thay đổi, giống như bất kỳ thuộc tính nào ngoài các thuộc tính gắn sẵn. Song, Blender các có thể kỳ vọng là thuộc tính có một kiểu nhất định.

Tên (Name)

Thể Loại (Type)

Ghi Chú (Notes)

"velocity"

Véctơ

Được sử dụng để tạo hiệu ứng nhòe mờ chuyển động khi kết xuất hoạt họa.

Các Thuộc Tính Tùy Chỉnh (Custom Attributes)

Các nhóm điểm đỉnh, ánh xạ UV và Thuộc Tính Màu là những cái có sẵn dưới dạng các thuộc tính trong các nút hình học. Chúng được tham chiếu bằng tên của chúng. Nên tránh sự sử dụng tên trùng lặp trong khi đặt tên (ví dụ, nhóm điểm đỉnh và ánh xạ UV trùng tên). Nếu có xung đột trong tên thì chỉ một trong các thuộc tính là có thể truy cập được trong các nút hình học mà thôi.

Các thuộc tính với bất kỳ tên nào khác cũng có thể được kiến tạo bởi các nút, khi tên được sử dụng lần đầu tiên.

Lưu ý rằng các nút hình học không phải lúc nào cũng tạo ra, ví dụ, các nhóm điểm đỉnh nếu một nút như Hội Nhập Hình Học (Join Geometry) được sử dụng chẳng hạn. Tương tự, nếu kiểu dữ liệu của thuộc tính nhóm điểm đỉnh bị thay đổi từ kiểu "Float" ban đầu, thì thuộc tính đó sẽ không còn là nhóm điểm đỉnh nữa.

Thao Tác Chuyển Đổi Thuộc Tính (Attribute Conversion Operator)

../../_images/modeling_geometry-nodes_attribute-reference_convert.png

Thao tác này được tìm thấy trong bảng "Thuộc Tính" của trình biên soạn tính chất, có thể thay đổi phạm vi hoặc kiểu dữ liệu của tính chất.

Do sự phát triển liên tục trong lĩnh vực thuộc tính, nhiều khu vực của Blender vẫn chưa thể hoạt động với các thuộc tính chung có tính tổng quát (được xác định bằng tên, được lưu trữ trên bất kỳ phạm vi nào với bất kỳ kiểu dữ liệu nào) được sử dụng bởi các nút hình học. Điều đó làm cho thao tác này trở thành một giải pháp cần thiết trong một số trường hợp khi các công cụ hiện có phải được sử dụng với dữ liệu được sinh tạo từ các nút hình học.

Chế Độ (Mode)
Phổ Thông (Generic)

Nội suy và chuyển đổi thuộc tính giữa các phạm vi và kiểu dữ liệu được miêu tả trên trang này.

UV Map (Ánh Xạ UV)

Tạo một UV Map (Ánh Xạ UV) , có thể biên soạn được trong trình biên soạn UV. Nếu không, chúng sẽ được đại diện bằng thuộc tính vectơ 2D trên phạm vi góc bề mặt.

Vertex Group (Nhóm Điểm Đỉnh)

Tạo một Nhóm Điểm Đỉnh (Vertex Group) từ thuộc tính, tương ứng với thuộc tính float trên phạm vi điểm.

Ghi chú

Thao tác này chỉ hoạt động trên dữ liệu đối tượng "gốc" mà thôi, không bao gồm kết quả của bộ điều chỉnh, vì vậy bất kỳ thuộc tính nào được cho thêm vào hoặc thay đổi bởi các nút hình học sẽ không gây ảnh hưởng. Để thay đổi kiểu của một thuộc tính được sinh tạo theo thủ tục, các bộ điều chỉnh phải được áp dụng.