Polybridge

The Ultimate Houdini node reference

Visit the Node Bible

To learn more, please log in or sign up for free to explore the Node Bible.
Write your awesome label here.

Polybridge

Write your awesome label here.
The Polybridge node is designed to bridge geometry together in a variety of ways.
Drag to resize

Summary:

The best way to use this node is interactively through the viewport.  To do this, try utilizing the c an v hotkeys while navigating through the pie-menus.  The node also features two inputs:  One for the incoming geometry and the other for "spine geometry."  This geometry can be used to guide the shape of the bridged mesh as it traverses one end to the other.

Houdini also seems to like it best when you select the first edge loop of your mesh, then activate this tool, then select the edge you'd like to bridge to (in that exact order).  At the moment, it will not automatically understand that you want to bridge between two selected edges if they are both highlighted at the same time.

Tip:  The hotkey for selecting an edge loop is Shift + a + middle click

Drag to resize

General Parameters:

Divisions:

--  This will add divisions along the newly bridged geometry.

Spine Shape:

--  Straight = The polybridge will create a straight line between the source and destination edges.
--  Curved =  The polybridge will try to create a curved bridge between the source and destination edges.  There are many options to control the shape of this curve through other settings on this node.
--  Curve From Second Input = This will attempt to take the shape of a curve connected to this node’s second input.

Default Pairing Shift:

--  When the polybridge goes to bridge the polygons, it will start by trying to pair one edge of the source with one edge of the destination group.  Once this "pairing" occurs, it will then continue connecting edges based on the direction specified by the edge's winding order (more info on what the "winding order" is below).  In practice, as you change this, it will try to shift the initial edge that gets paired and it's useful for un-tangling bad polybridge operations.



Footings:


Group:

--  The Polybridge node requires a group for the source and the destination.  This group is responsible for selecting the geometry that's part of the polybridge operation.  For more info on groups, please visit the Group Node Bible entry.

Divide Into:
--  Connected Components = By default, if you have a bunch of edges that are connected, the polybridge node will see this as one "component."  So, when it goes to bridge, it will treat those connected edges as one thing.

--  Individual Edges =  Unlike connected components, the polybridge will not treat the connected edges as one thing.  Each edge is it's own candidate for bridging.  In practice, this will create a unique bridge for each edge.

Split Group:

-- According to the docs, "If you want to define multiple source loops with edges/faces that happen to be adjacent, they will just look like one thing to the node. You choose a point/edge Split group that divides adjacent faces/edges into separate groups.
(If you are bridging edges, you split with a point group. If you are bridging faces, you split with an edge group.)"  In practice, I find that it's not very common to use this parameter.  It's probably best to just create multiple polybridge nodes to keep yourself organized.

Reverse Winding:

--  The winding of the polygon describes how it is drawn.  This winding order can be used by the poly bridge node to determine how it should pair the edges from the source group to the destination group.  In practice, if you find that your extrusion is twisted incorrectly, then it often helps to toggle this on or off.

Depart:

--  This option is only available when "Curved" or "Curve from Second Input" is selected.  This parameter will determine the initial direction that the curve is heading towards.  By default, you have "Auto using" ... which is what you'll want for the majority of situations.  The other option you may want to consider is "opposite" which will go in the opposite direction of whatever you specify next...

-- Loop Normal = The curve will start heading in the direction that's specified by the curve normal

--  Explicit Direction =  The curve will start heading in a direction that you specify.  See below for what it looks like when you have the Loop Normal vs. Explicit direction:
vs. Explicit Direction:
The magnitude and stiffness can then be used to further adjust the shape of the curve that you're looking for.  The best way to use those parameters is by adjusting them to what you like.


Spine:

Divisions:

Source Divisions:

-- According to the docs, “Adds extra rows to the start of the bridge with the exact same topology as the source edges. This may be useful if the bridge has triangles and you don’t want them to touch the source edges.”

Destination Divisions:

-- According to the docs, “Adds extra rows to the end of the bridge with the exact same topology as the destination edges. This may be useful if the bridge has triangles and you don’t want them to touch the destination edges.”

Spacing:

-- Uniform = The divisions are spaced evenly
-- Curvature Sensitive = The polybevel will try to add more divisions in the areas where the curvature is high and fewer in the areas that are straight.

External Spine:

This section requires that you input a “spine” into the second input. This spine can represent the shape of the bridged polygons and may require a lot of testing to get the exact effect that you’re looking for. In general, I would suggest going through the various “positioning” options to find the mode you’re looking for. These different modes can be best understood by visually experimenting with the viewport handles, location of the curve, and so-on. The easiest mode is going to be the default of “as-is” so if you’re unsure what to do, then I would rely on that setting.

U Range:

-- This allows you to trim off part of the control curve based on its u (start) and v (end) locations.

Positioning:

-- As mentioned above, it is best to visually experiment with these settings to set the mode you’re looking for.

Reverse Direction:

-- This will invert the shape of your curve

Axial Rotation:

-- This will rotate your input curve.

Source + Destination Blend:

-- These parameters help you smoothly blend between the start/end locations of the bridge and the curve profile. If you find that you’d like to gradually transition to the shape of the curve, then these settings will help you do so.


Sample Points:

Generate Spine Sample Points:

-- This setting will create points that are centered inside the extruded mesh. These points are great because it gives you information about the generated spine shape such as the tangent, normal, and binormal attributes which help in describing the direction of the extrusion. To see these points, set a blast after the polybridge and isolate the “bridgespinepts” group.


Bridge:

Bridge Mesh:

Generate Bridge Mesh:

-- You don’t need to create a mesh when bridging. This may be useful is you’re just trying to generate Spine Sample Points.

Mesh Group:

-- This will group the bridged polygons according to what you specify here.

Attach to Input Geometry at Source + Destination:

-- If you turn this off, then it will detach from the source or destination.

Clip Start + End:

-- This will allow you to remove the mesh from the start or end

Miter Joints:

-- This parameter is designed to improve the pinching that occurs at sharp angles. In general, I would suggest keeping this on, however, you can get a slightly different result by turning it off.

Normals:

Add Vertex Normals:

-- This is essentially the same as adding a “normal” node to the new bridged mesh. For more info on Normals, please visit the Normal Node Bible Entry.

Cusp All Source + Destination Boundary Edges:

-- This will ensure that the normals will not smooth in the areas which connect to the start or end of the bridged mesh.

Texture Coordinates:

Generate Unwrapped Texture Coordinates:

-- This will provide default uvs for the bridged mesh. Keep in mind that these uvs aren’t great, and its probably better to output a group from the poly extrude and the labs autouv node set to “UV AutoSeam”

Style:

-- Proportional = There is no documentation for this parameter, however, it appears that the UVS are placed into a rectangular uv island.
-- Rectangular = Again, no documentation here, and it appears to look exactly the same as proportional.
-- Unit Square = The uvs are fit into an evenly packed square.
Scaling:
-- Match Incident UV Scale = the uv island will try to match the scale of the edges which the bridged polys originated from.
-- Fit unit square = This will stretch the UV island to fill the entire uv square
-- Match 3D Scale = This will attempt to scale the uvs based on their world-space scale
Input Geometry:
-- These settings enable you to toggle on/off the input geo, source primitives, or destination primitives.

Thickness:

-- If you’d like to change the thickness of the extruded mesh, then you can do so here. The thickness is controlled by a ramp, and it also gives you the option of exporting an attribute which keeps track of the thickness scale along the mesh.


Pairing:

Twist:

Full-Turn Twists:

-- This will allow you to twist the extruded polygons by a certain number of twists.

Local Twist Attribute:

-- The attribute keeps track of how many times the mesh has been twisted along the bridged polygons. You can re-name this attribute by typing something besides “twist” if you’d like.

Local Twist Ramp:

-- According to the docs, “Controls the twist of the bridge along its length. The horizontal axis represents the length of the bridge. Values of 0.5 represent no twist. Values less than 0.5 twist in one direction, values greater than 0.5 twist in the other direction.” So, going down from 0.5 will twist in one direction, and going above 0.5 will twist in the other direction.

Interpolation:

-- According to the docs, “A technical parameter of the node’s internal algorithm. ‘Rotating frame’ tends to be better for twisting bridges, but in practice there’s no good basis for choosing one or the other. You can try both and see if they make a difference for your bridge.”

Implicit Pairing:

-- According to the docs, “A technical parameter of the node’s internal algorithm. Controls how the node pairs up points other than the initial pair and any explicit pairs. Changing this will often have no effect on the bridge.” ¯\_ (ツ)_/¯
-- Use Relative Edge Lengths = “Pairings are done by matching each point to the opposite sides closest point in terms of proportional distances along the boundary loop from the explicit or default pairs.”
-- Use Edge Counts = “Pairings are done by matching the points based on the number of edges between them and the explicit or default pairs on the two loops.”


Drag to resize