Black friday / cyber monday Blendermarket sale

You might think of it as consumerism gone wild but who doesn't love a discount? And we didn't have a Blender Conference sale this year so check it out: BlenderMarket will have a sale during the Black Friday/Cyber Monday.

This means serious discounts on participating products and of course my add-ons are on sale too!

Check out BlenderMarket to see if that special product on your wish list now has an orange 'sale' label.

Planefit add-on: ported to 2.83

My PlaneFit add-on is now compatible with version 2.83.

The addon is available for download from my GitHub repository.
More info on the add-on in this previous article.

Ortho updated for Blender 2.83 LTS

 I have just made a version of Ortho available that is tested against Blender 2.83 LTS.

Ortho offers a collection of tools that allows you to move, rotate, scale, snap and align selections of a mesh relative to a user defined reference plane. Working relative to a reference plane can greatly simplify the positioning of mesh parts and can help clean up distorted meshes. Blender already offers several tools to transform and snap mesh parts but they work in the context of predefined coordinates, which is makes it difficult to position or align mesh parts in meshes that are transformed with respect to their local coordinates or in situations where orthogonal coordinates are not sufficient, for example when positioning a window inside a slanted roof.

Ortho offers a simple and interactive way to define a plane that fits a selection of vertices in a mesh and offers a set of tools that operate with respect to this reference plane. You can for example align and snap a selection to the reference plane or move this selection along its normal or its surface. Scaling is also an option, offering ways to rectify slightly distorted meshes even in situations where such a distorted plane is not aligned with any axis and scaling along individual normals with Alt-S gives strange results.


Ortho is available from my Blender Market store.

BlenderMarket Summer Sale 2020

Get it while it's hot: BlenderMarket will have a summer sale until August 7 August 9.
This means serious discounts on participating products and of course my add-ons are on sale too!

Check out BlenderMarket to see if that special product on your wish list now has an orange 'sale' label.

NewGrowth interactive tree modeling for Blender: new version

NewGrowth, the Blender add-on that lets you interactively paint 3d trees, got a number of nice new features:

Many drawing options can now be changed while drawing

No need to choose them before you start creating a tree.
This includes the branch segment length and the kill distance. This means you can now create bushier and more sparse sections in the same tree.

Tree finalization now sports a Curve option

This will generate a curve based trunk instead of a mesh based one. This results in a superior quality trunk and is faster as well, so this is now the default. The old methods are still there and because this is all parameterized this means you can convert trees created in older versions of NewGrowth to the new curve model and back if you want.

Twig generation

You now have the option to add twigs consisting of three leaves instead of just a single leaf, which will quickly enhance the density of your tree.

Minor tweaks and bug fixes

Too many to list them all here but you now have the option to add some root and branch flare and if yo draw in rendered view instead of solid view the interactive tree is no longer all black.

The fully illustrated manual has been updated as well to reflect all the changes and the add-on is now tested on Blender 2.83 LTS

IDMapper updated for Blender 2.83 LTS

I just finalized testing the IDMapper add-on and it's now ready for Blender 2.83 LTS.

IDMapper simplifies creation and editing of vertex color layers that can be used as ID-maps in texturing software like Substance Painter or Quixel.

It aims to reduce the time it takes to create an ID-map significantly, especially for complex hard surface models.

It uses powerful heuristics to create an ID-map from scratch and lets you interactively adjust the results. It offers options to use existing information, like uv-seams, but can also intelligently assign the same color to similar mesh parts.

There are no functional changes in this release but I did perform a small bug fix. However, if you don't encounter problems in your workflow, there is no pressing need to upgrade.

The new version is available on BlenderMarket.

WeightLifter updated for Blender 2.83 LTS

I just finalized testing of the venerable WeightLifter add-on and it's now ready for Blender 2.83 LTS.
There are no functional changes but I did catch some bugs while testing. However, if you don't encounter problems in your workflow, there is no pressing need to upgrade.

The new version is available on BlenderMarket.

Face area to vertex color add-on, can we improve wireframe renders?

CGMatter showed in a video how to create a wireframe shader that, unlike the cycles wireframe node,  does not look at the triangulated mesh but at the original faces.

The problem

His node setup works with an uv-layer that contains a default uv mapping (one that you can get with uv unwrap -->reset and then basically calculating the distance to the edge of the uv square.
This works but it is not quite the same as the cycles wire-frame node. As some commenters pointed out, the line thickness is a fraction of the uv square so will yield thicker lines for larger faces.

The solution?

We could correct this if we had the face area available, but this is not an attribute we can access directly using nodes.
So i came up with a small add-on that stores the face area in a vertex color layer, scaled to the largest face, so the largest face will get an rgb value of (1.0, 1.0, 1.0)
If we have such a vertex color available we can simply divide the width of the original wire-frame shader by the square root of this value (because the fraction of the uv coordinate actually scales with the length of a side). The result now looks more even for large and small quads.


For meshes with fairly regular quads this is acceptable, however, for less regular quads this calculation might give unwanted variation, especially for thicker lines (note the quads on the edges of Suzanne's ears):

For non-quads the solution doesn't work at all because some side will not align with the principal directions of the uv-map.
So I don't think this is a solution at all, but making a face area available as vertex colors might have its use in other scenarios so it is available for download.


The add-on can be downloaded from my GitHub repository. After installation it will be available in the Paint menu when in vertex paint mode. Simply select it and the active vertex color layer will be filled with grey values that represent the face area.
A .blend file with a node setup is available as well.

The wireframe node group contains an extra input that if set to a value slightly larger than zero will apply an additional perspective so that lines won't shrink with distance from the camera.

Blender procedural hexagon pattern

I needed a texture for a hexagonal pattern that was fully procedural. In the past I wrote one in Open Shading Language but I wanted one that utilized the GPU and worked for Eevee as well. So I implemented a node group that uses basic nodes only. An example is shown below.

The node group is straight forward to use and has options to change the scale and the width of the line. An usage example is shown in this noodle:


It is available for download from my GitHub repository. To append the node group so that you can use it in your material, simply select File -> Append ..., browse to the .blend file you downloaded and locate the Hex Nodegroup. After that you can use it in the Shader editor with Node -> Group -> Hex

Implementation details

The Hex nodegroup simply overlays three 60° rotated copies of a pattern of dashed stripes

Each dash is the side of a hexagon. The stripes are created with another node group shown below (click to enlarge)

It contains two almost identical frames: one to produce a set of vertical dashes and another one to create a simlar set but offset in the x and y direction. The dashes are generated each time from a wave texture in the x direction that is combined with a greater than node to produce narrow vertical lines. From this we subtract broader horizontal lines generated in the same fashion to create the gaps between the dashes.

Basket arch add-on updated to 2.83

A long time ago I wrote a small add-on to create a basket arch (a.k.a. three centered arch) in Blender.

There is now an updated version available in my GitHub repo that will run on Blender 2.83.

The user interface is slightly different (no more object layers) but the generated arch is the same.