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.
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 have completed the City Lit course Introduction to Python, or have similar knowledge. You should be familiar with variables, conditionals (“if”) and loops (“for” or “while”). You do not need to be an expert programmer.
It also assumes you have never used Blender or another 3D modelling application before, and will introduce the appropriate concepts from scratch. Since we will be “sculpting with code”, you will not need drawing, sculpture or animation skills. If you already know Blender you will be able to do more with the techniques presented.
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?
No, but a USB stick is the most convenient way to take your work home with you for reference outside class.
When I've finished, what course can I do next?
You might want to take your Python skilss to a higher level by joining our intermediate Python course or try our Start 3D animation with Blender course.