Website powered by

GeoNode Toothbrush by Oral-E

So long ago, I asked on my Twitter page for suggestions on what should I model next. They came with a lot a great ideas, some of them ambitious and some other more humble, like this one (thanks Abi for the proposal btw).
"A toothbrush" was the only instruction. I could have chosen a simply plain toothbrush but that would have been boring and I wanted to practice hard surface. So I looked for some reference and picked some complex shapes.
Started modeling and made the high poly mesh, did the retopology and baked them (could have rendered the high poly directly, but "highpoly to lowpoly" was another discipline I wanted to practice).
And then, the project was frozen for more than a year.
But now, with the arrival of Geometry Nodes to Blender, it's the perfect moment to resume the project and use this powerful tool to make the toothbrush bristles, avoiding to use particles systems, which would be far more difficult and problematic.

The main focus of this portfolio entry are the GeoNodes, and more specifically, the use of image textures in the procedural geometric operations instead of vertex weights, proximities, and other methods

---
I have tried to present it as if it were a TV commercial, adding a slight touch of humour with the fake brand replica.
I hope you like it as much as I enjoyed bringing this to life!

I distributed points in all the toothbrush's surface, and then used a image texture I painted before as mask for deleting all the points I'm not interested in. (could have used it as Point Distribute density multiplier, but was less efficient)

I distributed points in all the toothbrush's surface, and then used a image texture I painted before as mask for deleting all the points I'm not interested in. (could have used it as Point Distribute density multiplier, but was less efficient)

Since the bristles grow from the face they're genereated in and adopt it's shape, I managed to use the proximity to an auxiliar mesh (a plane in this case), along with a RGB Curves to define the shape in which the bristles are trimmed.

Since the bristles grow from the face they're genereated in and adopt it's shape, I managed to use the proximity to an auxiliar mesh (a plane in this case), along with a RGB Curves to define the shape in which the bristles are trimmed.

In order to the bristles to not appear so straight, I used a Noise Texture along with a Set Position to add the slight curly look.

In order to the bristles to not appear so straight, I used a Noise Texture along with a Set Position to add the slight curly look.

Painted another texture (this time directly in Blender) to determinate where the bristles are going to be colored. This is an incredibly interactive and easy method to paint particles.

Painted another texture (this time directly in Blender) to determinate where the bristles are going to be colored. This is an incredibly interactive and easy method to paint particles.

The complete node setup

The complete node setup

Highpoly to lowpoly comparison (the applied material have the baked normal map from the highpoly)

Highpoly to lowpoly comparison (the applied material have the baked normal map from the highpoly)

This is how with the use of the subdivision modifier and a clever use of creases I made a highly efficient and manageable highpoly mesh.

This is how with the use of the subdivision modifier and a clever use of creases I made a highly efficient and manageable highpoly mesh.