Films Training Blog
Pipeline and Tools Characters
Pipeline and Tools Characters
search Login Join
favorite

Development Fund

Support Blender Core Development with a monthly contribution.

theaters

Blender Studio

The creators who share. Access production content and knowledge from the Open Movies.

code

Blender Developer Blog

Latest news and updates on Blender development.

people

Get Involved

Join the community and help with design, development, docs and more.

bar_chart

Open Data

A platform to collect and display the Blender Benchmark results.

menu_book

Blender Docs

Documentation on Blender's features, tools and API.

Blender Conference

The yearly event that brings together the Blender community in one place.

download

Get Blender

Download the latest Blender version, or try the beta!

Films
Training
Blog
Pipeline and Tools
Characters
Search
Login
Join

Course

Scripting for Artists
feed Course Overview
feed Blender Versions
Videos keyboard_arrow_down
  1. 01

    Introduction & copy-pasting

    Free
  2. 02

    Names & Objects

  3. 03

    Stuff on Lists

  4. 04

    Data Types

  5. 05

    Collections: Mass-Rename of Objects

  6. 06

    Blender Collections

    Free
  7. 07

    For vs. While

    Free
  8. 08

    Your Own Operator

    Free
  9. 09

    From Script to Add-on

    Free
  10. 10

    User Interfaces

    Free
  11. 11

    Custom Properties

    Free
  12. 12

    Asset Linking

    Free
  13. 13

    Roast my Add-on

    Free
  14. 14

    The Roast of Nature Clicker

    Free
  15. 15

    Modal Operators

    Free
  16. 16

    Readability & Understandability

Tech keyboard_arrow_down
  1. 01

    Updating F-Curves

  2. 02

    Render 10,000 OBJ files

  3. 03

    Mass-Rename Bones & Vertex Groups

  4. 04

    Rendering from 'all' angles

Course

Scripting for Artists
feed Blender Versions
Videos keyboard_arrow_down
  1. 01

    Introduction & copy-pasting

    Free
  2. 02

    Names & Objects

  3. 03

    Stuff on Lists

  4. 04

    Data Types

  5. 05

    Collections: Mass-Rename of Objects

  6. 06

    Blender Collections

    Free
  7. 07

    For vs. While

    Free
  8. 08

    Your Own Operator

    Free
  9. 09

    From Script to Add-on

    Free
  10. 10

    User Interfaces

    Free
  11. 11

    Custom Properties

    Free
  12. 12

    Asset Linking

    Free
  13. 13

    Roast my Add-on

    Free
  14. 14

    The Roast of Nature Clicker

    Free
  15. 15

    Modal Operators

    Free
  16. 16

    Readability & Understandability

Tech keyboard_arrow_down
  1. 01

    Updating F-Curves

  2. 02

    Render 10,000 OBJ files

  3. 03

    Mass-Rename Bones & Vertex Groups

  4. 04

    Rendering from 'all' angles

Scripting for Artists

Blender Versions

flag Report Problem

This training series spans several years, and thus were aimed at different versions of Blender. As it's not possible time-wise to re-record the videos, this page is here to help you out and bring the code to be compatible with a modern release of Blender (2.93 at moment of writing).

Below there are sections for the different versions of Blender used in Scripting for Artists.

Blender 2.78

Videos 1-4 were made in 2017 with Blender 2.78.

  • The object creation operators now use the radius parameter instead of size, so for example bpy.ops.mesh.primitive_uv_sphere_add(size=0.1, location=(1, 1, 1)) changes to bpy.ops.mesh.primitive_uv_sphere_add(radius=0.1, location=(1, 1, 1)).

  • Since Blender 2.90, Operator Search (F3) only searches through operators that are contained in a menu. To see all operators in Blender, enable Developer Extra's in the Interface preferences.

  • Auto-completion in the Python console now uses Tab rather than Control-Space.

  • Hiding objects has changed, as objects can now have different visibility states in different view layers. Instead of setting ob.hide = True, you have to call ob.hide_set(True) (docs). Instead of getting ob.hide, you can call either ob.hide_get() (docs) or ob.visible_get() (docs).

  • Selecting objects has changed just like hiding them. Instead of setting ob.select = True, you have to call ob.select_set(True) (docs). Instead of getting ob.select, call ob.select_get() (docs).

  • Matrix multiplication has changed. In Tech 4: Rendering from 'all' angles we use vcoord = placement_ob.matrix_world * vert.co to perform a matrix multiplication. In modern Blenders this should use the @ operator, so it becomes vcoord = placement_ob.matrix_world @ vert.co.

Blender 2.79

The Tech videos were made in 2017 with Blender 2.79. The same notes as above for Blender 2.78 apply.

Blender 2.83

Videos 5-15 were made in 2020 with Blender 2.83.

  • Since Blender 2.90, Operator Search (F3) only searches through operators that are contained in a menu. To see all operators in Blender, enable Developer Extra's in the Interface preferences.

Blender 3.0

Video 16 was made in 2021 with Blender 3.0 alpha. It doesn't focus on writing any particular code, so there are no upgrade instructions here.

Blender Studio

The Creators Who Share.

Facebook Logo Twitter Logo YouTube Logo
  • Films
  • Blog
  • Training
Pipeline and Tools
  • Cloud Rig
  • Blender Kitsu
  • Contact Sheet Add-on
  • Blender Purge
  • Blender Cloud Services
Characters
  • Einar
  • Security Bot
  • Huginn
  • Pack Bot
Studio
  • Terms & Conditions
  • Privacy Policy
  • Contact
  • Remixing Music
  • Blender.org
Loading...