← Blender.Today
  • 6
  • Published 6 May 2020

Q&A SCRIPTING FOR ARTISTS | Blender Everyday

pablovazquez
6 May 2020

32 Comments

DB3D

Hello Sybren Thanks for your tutorials , they are simply amazing! I started coding thanks to you :-)

I got a quick question, is it possible to draw blender GUI inside a new empty editor ? For example, drawing blender operators and props inside a new window, like in the image below.

( by using native blender gui , and not by using custom gpu drawing or alternative python gui solution) So far i only found tricks consisting of overriding drawing classes.

I understand that blender have a non-overlap policy, but sometimes creating our own "real" pop-up windows can be extremely useful. A bit of flexibility in this area may help a lot of python developers.

Bests {attachment Annotation_2020-05-06_162521jpg}

4
filedescriptor

Thank you Sybren for this series! My question: Will there be a "Scripting for addon developers" series? To dive deeper into the blender python api, opengl drawing and so on :D have a nice day!

3
pfbourassa

* @spaceshipwars * YES! This is what I want to see. Thank you Sybren!

1
arturo.leone

Hello Pablo and Dr.Sybren as usual thanks for the incredible work you're doing here. Q for the Dr.: could you explain/show the proper way to link external python libraries into a blender addon?

3
GL-Graffixx

Hi you awsome guys thanks for everything.

@ Dr. Sybren can you make a tutorial to script a addon like the cloudrig from Rain. In the most of my projects i need some scripts like this. I use mainly the BlenRig5 for my charas. And for this i wonne have custom sliders and colorpicker to chance something realy quickly.

I am realy new in scripting and have no ideas how i can add sliders or checkboxes^^

3
momotron2000

you were faster, @Pablo Vasquez!

I have no questions @Sybren, thank you for your tutorials, they help a lot!

3
indigowarrior9

Hello Sybren and Pablo Thanks guys for organizing the wonderful event and the reference to this community

IMAGING THIS SCENARIO: A young child (age 10-12) who just got started with Blender modelling alone. She/he is just gaining their first experience , learning the "Blender basics" .. since.. that is how all Blenderheads got started once.

Can you give to this young - inexperienced - child a ROADMAP of BASIC/ NECESSARY SKILLS she/he needs to acquire/learn, in order to become a very successful "Python Scripter" inside the current Blender environment.

For example: A STEP-BY-STEP OVERVIEW HOW TO GET STARTED from zero: 1 - Computer algorithm basics? 2 - Python language Basic / Advanced tutorials? 3 - The internal Python Architecture inside Blender? 4 - How does Python hook into Blender? (the api section) 5 - Some blanc framework scripts to started / tinker?

B - AN OVERVIEW OF THE BEST (online /offline) PYTHON:

  • Books / communities / websites
  • Development environments
  • Code examples (related to Blender)

Sort of a "Blender Python API boot-camp survival package" Aimed at absolute beginners with scripting / add on development

C - SUGGESTION: Can this "getting started with blender and Python" overview be permanently added inside the global Blender community such as a separate webpage / section on the:

I'm looking forward to your suggestions, hints,tips and tricks.

2
At-Mind

* @indigowarrior9 * Hi Have you checked b3d101.org it contains tutorials for children and youngsters. It even does some python coding although that was written for blender 2.79.

1
indigowarrior9

* @Jeroen Bakker * Thanks Jeroen for pointing me to these resources.

indigowarrior9

* @indigowarrior9 * Thanks guys for sharing your the Python scripting starter tips.

wiSHFul97

Hi Dr.Sybren and Pablo, Thank you for your great Tutorials!

1- Where do I store my addon data (if it is huge)? In custom properties? Or can I store it in an external file? I mean the data that I want to preserve like the locations of specific vertices ...

2- I can only use UIList for collection properties? Can I use it for regular python lists? I ask it because I want to have nested lists in my addon, and working with python lists is easier for implementing some algorithms.

3- I don't know if I should ask it here but: If I want to make a node interface for my addon is it like regular addon UI layout or is it different? like node interface in Animation Nodes?

2
jerzy.gorski.art

Hello guys, how many settlers are going to be produced?

1
plm.mptech

Sybren, Could you describe your development environment?

1
leo.hehlen

no question for Sibren, but thank you so much for these amazing tutorials. I started learning python few weeks ago and it was really fun to practice a bit with blender. I had no idea it was that "simple". Cheers guys !

1
SpectralVectors

Hello, and thank you!

Is it possible to have WorkSpaceTool call an operator immediately on clicking it?

I have the functionality working in a Panel, I click on it and the operator executes immediately, but if I use WorkSpaceTool (which is much prettier) I have to click to activate the tool, then click again in the viewport to use it. Can I make it one step execute on clicking the Tool?

Thanks again, your tutorials were very helpful!

EDIT: I used bpy.ops.wm.tool_set_by_id(name = "builtin.move") at the end of the operator so that things don't go crazy

1
SpectralVectors

* @Rob * and much love to the Pablos of Blender!

andreas.aust

Hey Pablo and Dr Sybren! thanks for the great SFA course. Only three weeks ago I didn't expect to release my first addon soon.

Question1: Is it possible to reorder new operator in the "object context menu"? Or place it in the submenu of "Set Origin"?


Question2: You use in your video example append and remove to register an operator in the menu.

def register():
    bpy.types.XXX.append(X)
def unregister():
     bpy.types.XXX.remove(X)

but "remove" doesn't seem to work (tested in 2.83 & 2.9) More and more copies are created. Same result with python template: addon_add_object.py

(ps. Blender Python API needs more examples) Thanks! Have a nice day!

1
terrenotodo

Hello, there is something I want to ask weeks ago. With everything nodes, will all the node editor spaces be unified, I mean shaders, particle systems, texture node editor, etc.? Is everything going to be configured in the same editor to be able to interconnect values, events, etc.? Thank you

1

Hello Pablo and Dr Sybren!

My questions: Could you explain in your next tutorials how to "store datas temporary" I don't know if it is the good term.. I'm not developper.

What I wan't to achieve: When I import fbx files, the layers I have in another software become some empties in blender, I would like to transform them in collections with the name of the empties.

Also: on this same file I would like to replace all the imported materials with ones of another blend file (material librarie) based on their names: if the name match: replace.

thanks !

1
pfbourassa

What is the best practice to include meshes in an add-on?

Sybren suggested making the add-on download the mesh from the internet. Is there a standard reference for how to do this?

1
mkossi

G'day Pablo, Dr Sybren

Thank you these streams.

Is there a way to modify the blender fbx gltf importers node setup for the materials.. they setup a basic principle shader with links to diffuse, normal images etc... but a lot of image files pack textures in one file eg. Difuse and transparency in the alpha in 1 file instead of seperate files. Or a normal map with a roughness used in the alpha channel.

Would like to change the existing shader node links with a script or modify the exisitng importer as changing many object materials becomes very time consuming.

1
shawnbecker4

I am currently trying to create a script to bake smoke simulation to vertex animations for use in games. Is it possible to achieve this with the current smoke simulator ?

1
shawnbecker4

Although a very large undertaking could you give any advice or guidance on how to approach adding new features to the compositor? I'm currently looking at trying to port some plugin features from the open source project Natron a "Nuke clone" to blender.

1
gilbertorodrigues

Hello Pablo and Sybren! Why does blender support redering webM video but does not support rendering webP images?

SpectralVectors

One more question, when creating a panel eg:

def draw(self, context):

layout = self.layout.column_flow(columns=1, align=False)

row = layout.row(align=False)

row.label(text="1")

row.split(factor=0.2)

row.label(text="1")

I can't seem to get row.split(factor=0.2) to make the first column smaller, what am I doing wrong?

sybren

* @Rob * row.split(factor=0.2) returns another UILayout with basically two areas: the 20% part and the rest. Use something like this:

the_split = row.split(factor=0.2)
the_split.label(text="1")
the_split.label(text="2")
2
ramyvizrt

dear sir when i try to install the blender to blender preference.nothing happend.i got this message : Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons' bpy.data.window_managers["WinMan"].addon_support = {'COMMUNITY'} bpy.data.window_managers["WinMan"].addon_support = {'OFFICIAL'} bpy.data.window_managers["WinMan"].addon_support = {'COMMUNITY'} bpy.data.window_managers["WinMan"].addon_support = {'TESTING'} Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons' Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons'

ramyvizrt

dear sir when i try to install the blender to blender preference.nothing happend.i got this message : Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons' bpy.data.window_managers["WinMan"].addon_support = {'COMMUNITY'} bpy.data.window_managers["WinMan"].addon_support = {'OFFICIAL'} bpy.data.window_managers["WinMan"].addon_support = {'COMMUNITY'} bpy.data.window_managers["WinMan"].addon_support = {'TESTING'} Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons' Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons'

ramyvizrt

dear sir when i try to install the blender to blender preference.nothing happend.i got this message : Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons' bpy.data.window_managers["WinMan"].addon_support = {'COMMUNITY'} bpy.data.window_managers["WinMan"].addon_support = {'OFFICIAL'} bpy.data.window_managers["WinMan"].addon_support = {'COMMUNITY'} bpy.data.window_managers["WinMan"].addon_support = {'TESTING'} Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons' Modules Installed () from 'C:\Users\ramym\OneDrive\Documents\BlenderGIS-master.zip' into 'C:\Users\ramym\AppData\Roaming\Blender Foundation\Blender\2.82\scripts\addons'

ndedakaduki

Hello Pablo and Sybren,

How would you get around creating a dynamic panel in the UI, such that the user can create a layer and it draws a new layer and also be able to delete the layer and it changes.

Also, is it possible to save lists in a blend file from an addon for future reference to the values stored in the list? How would you go about this?

Lastly, is it possible to create a unique tab in the Properties panel, so far I haven't been able to do so, if it isn't possible, will it be available in the near future?

Thank you for your time.

amoose136

Question for Pablo: you made some Blender UI mock-up stuff in HTML. Did you ever make a Blender style numeric input slider using web technologies?

bigsdmailbox

hello. I try to put 2 icons near the first/last frame on the time bar. I just can't find the code. It's for automaticly add 10 frames to the last keyframe and no have 250 frames (this part of the code I have). It's mainly for grease pencel.

for info: bpy.context.scene.frame_current = bpy.context.scene.frame_current +10 bpy.context.scene.frame_end = bpy.context.scene.frame_current +10