In addition to common panels (N/T/Properties) and their sub-panels, to display the user interface elements while developing Blender add-ons you can also use pop-up panels appearing on the screen when a user presses a certain key combination or perform any action. The simplest example of such panels is the panel that appears when the f6 key is pressed immediately after adding an object (shift+a) to the scene.
Blender API provides developers the ability to create such panels for their add-ons. Let’s consider the creating of a pop-up panel as an example of the “Message box” window.
Creating thin long objects like pipes and wires is the often task in the interior, scientific of fantastic scenes. One of the easiest and most convenient ways to create such objects is using curves.
The main curves advantage is the easiest control and editing: any time you can change the shape of the curve, move its points, add new and delete unnecessary ones. You do not have to work with a lot of mesh points, but only with several points of the curve, which is much more convenient. Preprocessing for rendering scene with curves is also performed faster than with meshes.
One of the amazing Blender features is that the graphical user interface GUI is not absolutely necessary for its work. You can install Blender on an operating system without a graphical shell and successfully render your scenes. Such types of a Blender installations are usually required to organize various render farms.
For example, consider Blender installation on the server Linux Debian operating system.
All Cycles nodes are supported, including script and nested groups.
Also added the ability to save scripts/texts from the Text Editor.
To make a release, it was left to clean up a bit the server (site) side – increase the previews size, add tags and node names editing, make a separate list for saved texts. And also test the add-on with complex materials.
This add-on is the first, which I planned to do at least somehow commercially justified. Is it really possible to write a commercial add-on for Blender? In any case, it is necessary to have at least some support for the add-on, because it is not local and without any justification, it makes no sense to keep the web server for it. The first idea of commercialization was about the monthly subscription. I was going to do it after finally finish the addon development (full support of all kinds of nodes and solvation of the most of emerging issues). Only after the completion of all this work I was going to open the add-on for users.
The reason of the early access was the discussion in Blender’s VK group. It was suggested that add-on with a commercial basis is not needed with the presence of Blender Cloud or VX Matlib add-on. Users will not pay for anything that can be obtained another way for free.
So the first, and most important, question – are users need such add-on? In the subscripted version or only for free? Or maybe most of the existing solutions are enough?
Storing data in a remote database has become common practice in the development of software products. Blender is no exception. Writing scripts and add-ons, the developer may need to access the database to retrieve from it or write to it the necessary information. MySQL today is one of the most common and widely available databases and is well suited for working with Blender.
The interaction between Blender and MySQL database through the Blender Python API is not difficult, but it needs some preparation before stating:
Sometimes it is necessary to create a render of an object with shadows on a transparent background. This occurs when you need to realistically embed a 3D into the photo or when creating an image to use it as a sprite in a computer game.
There is no special shader in Blender, like “Shadow catcher” in 3D Studio Max, which remains transparent display shadows. However, it is possible to achieve the desired result.
Let’s consider how we can get a shadow render on a transparent background using Blender:
Sometimes when creating an animation it is necessary to perform some actions according to the timeline or, the same, to the current animation frame number. Binding animation to timeline frames in Blender is possible using the built-in Python API.
As an example, let’s make a simple animation which turns one of the letters of any text from lowercase to uppercase in series.
If the checkbox is on – temporary render results saved in OpenEXR Multilayer format including all layers and passes for future use. Only finished image compiles automatically, different passes need to compile manually.
Sometimes it is necessary to add a single modifier to each part of some complex object. The easiest way is to cycle part by part through all the object and add the desired modifier to each its part manually. But if the object consists of many parts, it will take a lot of time.
There are some ways to greatly facilitate this work:
For an effective portfolio demonstration, there is a good practice to show together with the color render the clay render to emphasize scene volume, lighting, models topology, as well as, in the case of photo-realistic rendering, showing scene “3D-essence”. The overlaying of these two renders in the same image could be an even more spectacular trick.
Compositing nodes for final image combining connected to a separate output Compositing node and removed each time partition render starts. That allows to re-render image without manual editing compositing nodes.