What is the course about?
Did you know that a few lines of Python code can conjure 3D objects into existence and manipulate them into whatever shapes you desire?
Blender is a popular, powerful and free 3D modelling application that is used to create models for games, animation, 3D printing, product design, CGI and simulations. It is capable of producing photo-realistic images and highly detailed meshes.
It is also fully scriptable, so it’s possible to avoid or augment the main user interface by writing Python code. This can enable anything from automating repetitive tasks to creating complex and beautiful forms that would be very difficult to produce by hand.
This course includes a very basic introduction to some aspects of Blender from a programmer’s perspective, with a focus on building 3D models. We will not get deep into animation or physics, which are the subject of other City Lit courses (we may do a little animation if time permits).
The course includes some mathematical ideas, since these allow our code to produce 3D objects rapidly and precisely. These will be introduced from scratch and you will never be asked to do any calculations or solve problems – that’s what the computer is for! There are other City Lit courses that address these topics in detail; we will treat them as simple tools that help us get things done in 3D space.
The code we write will be relatively short and simple, since we will be leveraging the power of Blender to our advantage, but you should have done a little Python programming before. We will rapidly review the elements of the Python language we need and will cover all the techniques needed for mathematical manipulations as they come up in class.
This is a live online course. For more information please see our guide to online learning.
We will contact you with joining instructions before your course starts.
What will we cover?
• Basic orientation for Blender newcomers
• How Python and Blender talk to each other and how to set up your environment
• Creating and manipulating Blender objects, building up complex forms by duplicating simple components many times
• Working with meshes and their component parts; understanding the topology of a 3D object and creating geometric forms from it
• Generative techniques -- for example, L-systems -- that can create many objects that vary but all share a common “family resemblance”
• A small toolkit of useful mathematical tricks (e.g. vectors, matrices and trigonometry).
What will I achieve?
By the end of this course you should be able to...
• Use the basic modelling features of Blender
• Use Python to create, duplicate and position objects precisely
• Build a mesh from scratch with code and understand how its parts fit together
• Recognise and use geometric concepts such as vectors and trigonometry as they apply to 3D work
• Use a generative algorithm to rapidly create complex, organic forms with an element of randomness.
What level is the course and do I need any particular skills?
This course assumes you are familiar with the basics Python -- our Introduction to Python is ideal preparation. You do not need to have used Blender before or be familiar with concepts from 3D modelling; relevant material in that area will be introduced during the course.
How will I be taught, and will there be any work outside the class?
We will use a mixture of presentation and hands-on experimentation in class.
Are there any other costs? Is there anything I need to bring?
There are no additional costs for this course.
When I've finished, what course can I do next?
You might want to take your Python skills to a higher level by joining our intermediate Python course or try our Start 3D animation with Blender course. Or you might want to explore creative coding with Processing.