Set color tag for node group assets #8

Merged
Simon Thommes merged 1 commits from nickberckley/blender-assets:node-tags into main 2024-07-02 14:53:29 +02:00
Contributor

Color tags were added for node groups in 4.2 and it makes sense to add them to existing assets we bundle with Blender.
But there needs to be logic behind setting a tag, which is important not just for our assets, but also for people who make their own, because built-in assets act as example.

Screenshot 2024-06-27 191121.png

Geometry tag:

Nodes with geometry tag take geometry as main input and output it with some transformation done to them. It can be as simple as reordering points, but usually impact of those nodes are very easy to see visually.

  • Smooth by Angle
  • Shrinkwrap Hair Curves
  • Smooth Hair Curves
  • Straighten Hair Curves
  • Roll Hair Curves
  • Rotate Hair Curves
  • Interpolate Hair Curves
  • Trim Hair Curves
  • Generate Hair Curves
  • Hair Curves Noise
  • Attach Hair Curves to Surface
  • Displace Hair Curves
  • Blend Hair Curves
  • Duplicate Hair Curves
  • Clump Hair Curves
  • Braid Hair Curves
  • Curl Hair Curves
  • Frizz Hair Curves
  • Set Hair Curve Profile
  • Restore Curve Segment Length
  • Redistribute Curve Points

Input tag:

Nodes with input tag simply provide fields, constants, or etc. which can't be used own their own, and instead are used for accessing parts of geometry, attributes and others. Built-in nodes like Spline Length, Normal, Curve Tangent are also using those tag, so makes sense following nodes do too:

  • Curve Tip
  • Curve Segment
  • Hair Attachment Info
  • Curve Info
  • Curve Root

Additionally, I set two nodes with different color tags. First one is shape_range which I set as Converter, which is not an asset, but is imported in project files, and is simple math node, similar to almost all other converter nodes.

And other is Create Guide Index Map, which I set as Attribute tag.

Even though this node also takes in geometry and outputs it, actual purpose of node is capturing attributes and storing named attribute guide_curve_index. And I define nodes under attribute tag like this: Node assets with main purpose of capturing, storing, restoring, or removing named or generic attributes.


If we can agree on definitions for tags it would be good to document them in Human Interface Guidelines.

Color tags were added for node groups in 4.2 and it makes sense to add them to existing assets we bundle with Blender. But there needs to be logic behind setting a tag, which is important not just for our assets, but also for people who make their own, because built-in assets act as example. ![Screenshot 2024-06-27 191121.png](/attachments/ec55eabd-c842-4cc5-9f40-ef5440ae1172) Geometry tag: --- Nodes with geometry tag take geometry as main input and output it with some transformation done to them. It can be as simple as reordering points, but usually impact of those nodes are very easy to see visually. - Smooth by Angle - Shrinkwrap Hair Curves - Smooth Hair Curves - Straighten Hair Curves - Roll Hair Curves - Rotate Hair Curves - Interpolate Hair Curves - Trim Hair Curves - Generate Hair Curves - Hair Curves Noise - Attach Hair Curves to Surface - Displace Hair Curves - Blend Hair Curves - Duplicate Hair Curves - Clump Hair Curves - Braid Hair Curves - Curl Hair Curves - Frizz Hair Curves - Set Hair Curve Profile - Restore Curve Segment Length - Redistribute Curve Points Input tag: --- Nodes with input tag simply provide fields, constants, or etc. which can't be used own their own, and instead are used for accessing parts of geometry, attributes and others. Built-in nodes like Spline Length, Normal, Curve Tangent are also using those tag, so makes sense following nodes do too: - Curve Tip - Curve Segment - Hair Attachment Info - Curve Info - Curve Root --- Additionally, I set two nodes with different color tags. First one is shape_range which I set as Converter, which is not an asset, but is imported in project files, and is simple math node, similar to almost all other converter nodes. And other is Create Guide Index Map, which I set as Attribute tag. Even though this node also takes in geometry and outputs it, actual purpose of node is capturing attributes and storing named attribute `guide_curve_index`. And I define nodes under attribute tag like this: Node assets with main purpose of capturing, storing, restoring, or removing named or generic attributes. --- If we can agree on definitions for tags it would be good to document them in Human Interface Guidelines.
Nika Kutsniashvili added 1 commit 2024-06-27 17:27:05 +02:00
Hans Goudey requested review from Simon Thommes 2024-06-27 17:30:35 +02:00
Simon Thommes requested changes 2024-06-27 17:38:02 +02:00
Dismissed
Simon Thommes left a comment
Member

The way that it works right now, changes in this repo should be done initially in the Working directory and then pushed using the python script into the Publish directory, rather than doing the changes directly in the publish. At least that's how I set this up initially for the hair assets. This workflow can be revised in the future, but for now it would be good to stick to it and not let these files get out of sync.

The way that it works right now, changes in this repo should be done initially in the `Working` directory and then pushed using the python script into the `Publish` directory, rather than doing the changes directly in the publish. At least that's how I set this up initially for the hair assets. This workflow can be revised in the future, but for now it would be good to stick to it and not let these files get out of sync.
Member

The categories you assigned make sense to me though, I don't have any remarks on that aspect 👍

The categories you assigned make sense to me though, I don't have any remarks on that aspect 👍
Nika Kutsniashvili force-pushed node-tags from d382b65757 to 6f22e5af7d 2024-06-27 18:23:27 +02:00 Compare
Author
Contributor

@SimonThommes had to force push but I believe everything should be correct. There was no publish file in smooth_by_angle blend file, so I appended one, changed the destination and saved it for future use.

@SimonThommes had to force push but I believe everything should be correct. There was no publish file in smooth_by_angle blend file, so I appended one, changed the destination and saved it for future use.
Simon Thommes approved these changes 2024-07-01 17:01:07 +02:00
Simon Thommes left a comment
Member

Looked at the files, looks good to me 👍

Looked at the files, looks good to me 👍
Simon Thommes merged commit f1b164cc54 into main 2024-07-02 14:53:29 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-assets#8
No description provided.