floorboard add-on: Blender 2.80 compatible version available

A new version of the floorboards add-on that is compatible woth Blender 2.80 is available on GitHub. (this is a single python file: select File->Save As... from your browser and save it somewhere as planks.py. Then in Blender, select File->User preferences->Add-ons->install from file... (don't forget to remove an earlier version if you have one).

It is a pretty minimal port, i.e. I only made the necessary changes to make it run on 2.80 but to be honest, the add-on shows its age. The coding isn't very elegant and there are still a number of known issues. Nevertheless, it's a start, so enjoy!

PS. there are quite a few articles on this blog that talk about this add-on, check here for a list.

Colorramppicker add-on updated to Blender 2.80

Made a small update to the colorramppicker add-on. It is now compatible to Blender 2.80
Read more on its use or watch the video in the original article.


You can download the add-on from GitHub. (click right on the Raw button and save the python file anywhere you like and then in Blender select Edit->preferences, Add-ons, Install from file... Don't forget to remove the old one first and don't forget to enable the add-on after installing it.)

New version of WeightLifter for Blender 2.80

A new version of WeightLifter (20190728) has been released on BlenderMarket.

I has some bug-fixes to keep it compatible to the latest release candidate but more importantly it sports an updated manual and a new feature to combine baked weight maps into one. This feature is useful if you use the maps as density maps in a particle instance and want to prevent frame-to-frame jittering for example. It is illustrated in this video

Exporting a model as a standalone html with webgl

Is is simple enough to export a model or even a complete scene from blender with
File -> Export -> glTF 2.0

This would give you a .glb or .gltf file but you would still need to create an html file with a bit of javascript in order to display it on your webpage.

The problem

Commercial solutions exist, like Verge3d and Blend4Web, but only Blend4Web offers a free community edition. The latter comes with a rather strange claim with regard to your models considering the code is GPL: you should open source them as well or maybe not if you do not use the whole framework but it is up to them to decide. Both issues are unacceptable to me: I am happy to share code, but not necessarily any models, and someone else having a say over anything I produce, whether code or models, is not even up for discussion.

The solution

So what to do? Create my own add-on of course  

Legal nonsense

The add-on I present here has an MIT license and if you use it to present your models on a website, you are under no obligation to open source those models. (You cannot prevent people from downloading the gltf version of your model, after all that is what their browser needs to display it, but you can certainly assert your copyright on your model and forbid them from doing anything else apart from viewing it and you certainly don't need to provide your .blend files anymore than Blender requires that: a model is not a derived work from this add-on. If you still uncertain, get legal advice because luckily I am not a lawyer). The add-on contains the three.js library which also has a MIT license and a draco decoder which has an Apache license.

Code availability

Enough license talk, where's the add-on?

The add-on is called webgl-one-click (which is a bit presumptuous, I know, you'll probably need four clicks or so) and can be found in my GitHub repository.
The add-on can be downloaded as a .zip file (right click / save as this link) that can be installed in the usual manner. The individual source files can be found in their own folder but you probably only need that if you want to make changes to the code.


I have uploaded an example on my site. Textures etc are quite big so it might take a while to load, the background typically shows up fast but the model will take some time as it is current a few tens of MB.

When/if I find the time this weekend I might draw up a quick tutorial, but it is easy enough to use: after installing the addon it is available from the File -> export menu. It basically highjacks the existing gltf exporter (so you are not limited to a single object). Point it to a directory and it exports your model, creates a html file with the same name and copies a bunch of javascript. You should then simple copy the whole dir to your webserver. (Opening the file locally in your browser probably wont work as most browsers consider this unsafe; you could run a local http server of course from this directory e.g. python3 -m http.server)

Voronoi crackle in Blender 2.80 rc 1

Yeah, voronoi crackle made it Blender 2.80!
It has taken some time, but now there is nothing that prevents us from creating dragon scales ;-) And yes, it works with Eevee as well. (not the micro-displacement however, that's a whole other story)
Crackle along with many other options is now available in the updated Voronoi Texture node:

Snap and transform add-on ported to 2.80

A new version of my small Add and Transform add-on is now available from my GitHub repository.

Note that this is a new file, not just a new revision. Don't forget to remove any old version first before installing the new one.

The functionality is the same: the add-on provides options to move the origin of an object to the lowest point of the mesh (optionally moving it to lie below the center of mass) and (in edit mode) to move the origin to a selected vertex. More details in the original article.

You can download the add-on via this link (right click and select save-as ... ).

Upgrading Blender add-ons from 2.79 to 2.80, part 4

glLineStipple and co are gone, must be replaced by shaders

This popped when working with the bgl module. There is a good shader based alternative however with an example in the docs.

Groups are now collections

which means references to bpy.data.group must be replaced by bpy.data.collection

Setting active object is different

You assign an object to bpy.context.view_layer.objects.active.
In many circumstances the view_layer is now the ultimate arbiter of what we see. This allows for organizing the visibility of objects in a scene but it also offers the link to the active object.

You must use ob.select_set(<bool>) instead of ob.select = <bool>

This is a breaking change change that could have been avoided: if it was necessary to move from a simple assignment to executing some code when the select status changes it would have been possible to use a property instead. Now it is just an annoying change in my opinion

The name of module may not contain a point either

See item on dash being not allowed in an earlier article

INFO_MT_mesh_add menu is now called VIEW3D_MT_mesh_add

Which makes sense because it is part of the VIEW3D area.

use_subsurf_uv no longer available on a subsurf modifier

Too bad, but I guess this wasn used very often anf the new quality settings of the modifier might well server the purpose even better.

no bl_category in Panels

So you cannot decide where your Panel will be located in the Toolbar.

That's what I thought earlier and it is true but only if your region type is TOOLS (visible with Ctrl-T) but you can still have a category if your region type is UI (visible with Ctrl-N)