Skip to main content
Moved the simple aspect of setting crease to the new answer, and leaving this as legacy answer
Source Link
Markus von Broady
  • 42.4k
  • 3
  • 37
  • 107

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Remember to link the Sharp Edge object in the geonodes modifier, as well as an attribute name (any available name will work):

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Remember to link the Sharp Edge object in the geonodes modifier, as well as an attribute name (any available name will work):

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Remember to link the Sharp Edge object in the geonodes modifier, as well as an attribute name (any available name will work):

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

added 198 characters in body
Source Link
Markus von Broady
  • 42.4k
  • 3
  • 37
  • 107

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Finally, add Data Transfer modifierRemember to link the Main.stage.2Sharp Edge object; non-default settings marked yellowobject in the geonodes modifier, as well as an attribute name (any available name will work):

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Remember to link the Sharp Edge object in the geonodes modifier, as well as an attribute name (any available name will work):

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

added 1767 characters in body
Source Link
Markus von Broady
  • 42.4k
  • 3
  • 37
  • 107

Found a way for crease:

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute...attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't...doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

However it still doesn't completely solve the issue if you want to set edges sharp so that you can use it further in your workflow in a usual way. You (Me? I'm answering myself) could haveThis post is a simple object consistingthird in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a single sharp or normal edge and use instancing to position those edges, transferring data by positions, restoring positions and then usemerging by distance Data Transfer modifier to copy this(where information fromon split edges would be lost, as it... is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

Found a way for crease:

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute...

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't...

The specific situation described in my question could be solved entirely by geonoodles:

However it still doesn't completely solve the issue if you want to set edges sharp so that you can use it further in your workflow in a usual way. You (Me? I'm answering myself) could have a simple object consisting of a single sharp edge and use instancing to position those edges and then use Data Transfer modifier to copy this information from it...

Crease (but not sharp)

Defining the Crease output in the modifier stack to be a crease attribute sets the crease. However this doesn't work by defining Sharp as sharp or sharpness attribute…

Also, the crease attribute exists at the beginning, which can be seen in the spreadsheet. sharp doesn't…

The specific situation described in my question could be solved entirely by geonoodles:

Setting Edge sharpness

This post is a third in the series of:

How do I use an existing modifier to create a bridge between geometry nodes and a property the geonodes setups can't access?

  1. Assign vertex group in Geometry Nodes (v3.3)
  2. How to apply Geometry Nodes with UV maps?
  3. This technique.

This time rather than splitting edges, storing their positions, moving each near a sharp or normal edge, transferring data by positions, restoring positions and merging by distance (where information on split edges would be lost, as it is in the UV technique), I decided to transfer by topology:

  1. Take object named Main, duplicate it as Main.stage.2 (⎇ AltD is fine, Mesh data doesn't need to be duplicated) and disable Main visibility (at least for renders) as it's just a first stage that's not supposed to be visible anymore.

  2. Create a custom group Sharp Mapping, which checks runs through provided edges, and for each either creates a plain simple edge, or imports the sharp edge provided as an object wrapper:

  1. Obviously you need to create the abovementioned sharp edge wrapper: just create a new cube primitive, delete all edges but one, select the remaining edge, right click, Mark Sharp. Name the object Sharp Edge.

  2. Add a new geonodes modifier to Main object to store the edge sharpness information using the Sharp Mapping node. For example, if you want to set all "horizontal" edges sharp:

  1. Finally, add Data Transfer modifier to the Main.stage.2 object; non-default settings marked yellow:

added 508 characters in body
Source Link
Markus von Broady
  • 42.4k
  • 3
  • 37
  • 107
Loading
Source Link
Markus von Broady
  • 42.4k
  • 3
  • 37
  • 107
Loading