Fir Branch (Procedural)

by Lucas Knepper in Modifier Setups


In the file shipped with this product, you’ll find a curve object with the relevant geometry node tree already setup in the modifiers. You can use that existing branch as a base to make your own or create variations or use the same modifier on completely new objects. The geometry nodes setup must always be used on a curve object or it will not work. Once applied, you can edit the curves – move their handles and change their respective radii (by pressing alt+s or using the item>transform panel on the right side of the 3D-view) – and see the branch and it’s needles respond instantaneously. The needles always point in a set direction along the length of the branch, so you may need to swap start and end handles of a spline segment to get the needles pointing in the right direction. To create branching, I recommend sticking unconnected splines into one another.

Now to the settings you’re presented with in the geometry nodes modifier:

  • pine_needles needs to contain a collection containing the models of the needles that will be instanced across the branch.
  • Scale changes the overall scale of the features of the branch.
  • needle_density changes the density of needle growth. Higher values result in more needles.
  • dense_growth_cutoff is a value to define at what curve radius the branch shall stop densely growing needles and transition to sparser growth (as can be seen on the stem and thicker branches of a christmas tree).
  • sparse_growth_density defines at what percentage of the full density that sparse growth shall occur.
  • needle_size changes the length and thickness of the instanced needles.
  • randomize_needle_size determines the amount of variation in the size of the needles.
  • needle_spread gives the angle (in radians), at which the needles grow to the stem.
  • needle_tilt determines how much the needles droop.
  • needle_tilt_spread influences the spread of the droop angle.
  • randomize_needle_rotation will give needles individual, random changes to their rotation and direction on top of the determinations made in the preceding parameters.
  • Seed serves as seed to all randomly determined values in the node tree.

In many cases playing around with a parameter yourself can be more helpful to understanding it’s influence than the explanations given above.

Sales 30+
Customer Ratings 2
Average Rating
Dev Fund Contributor
Published over 1 year ago
Blender Version 3.4, 3.5, 3.6, 4.0
License Royalty Free
Have questions before purchasing?

Contact the Creator with your questions right now.

Login to Message