Blender (software): Difference between revisions
Line 71: | Line 71: | ||
exec(compile(open(filepath).read(), filename, 'exec')) | exec(compile(open(filepath).read(), filename, 'exec')) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Compiling Blender== | |||
See [https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu], | |||
Note that Blender has a [https://github.com/blender/blender github mirror] which may be faster to clone. | |||
==Resources== | ==Resources== |
Revision as of 01:13, 7 June 2021
Blender is an open-source 3D modelling software.
It can be used for creating 3D models for games, creating 2D/3D animations, and even creating video games.
Getting Started
Installation
- Windows
Direct Download
From chocolatey:
choco install blender
- Ubuntu
Blender is available on the Snap store
sudo snap install blender --classic
Modelling
Animations
Scripting
Getting Started
Blender supports scripting as an alternative means of interaction.
Most things are available in the bpy
module.
See one of the following resources to get started:
Meshes
vertices = [(-1, -1, 0), (1, -1, 0),
(-1, 1, 0), (1, 1, 0)]
edges = [(0,1), (1,2), (2,3), (3,0)]
faces = [(0,1,2), (1,2,3)]
uvs = [(0, 0), (1, 0),
(0, 1), (1, 1)]
# Create a new mesh
new_mesh = bpy.data.meshes.new(mesh_name)
new_mesh.from_pydata(vertices, edges, faces)
new_mesh.update()
# Add UVs
uv_layer = new_mesh.uv_layers.new()
for face in new_mesh.polygons:
for vert_idx, loop_idx in zip(face.vertices, face.loop_indices):
uv_layer.data[loop_idx].uv = uvs[vert_idx]
Materials
# Create a new material
my_material = bpy.data.materials.new("My New Material")
my_material.use_nodes = True
# Add material to an object
my_object.data.materials.append(my_material)
Saving scripts outside
See using external ide and run external scripts.
By default, everything is stored in the .blend
file including your custom scripts.
If you want to store your scripts outside or use another IDE, you will need to have the script inside Blender call the script outside:
import bpy
filepath = bpy.path.abspath("//myscript.py")
exec(compile(open(filepath).read(), filename, 'exec'))
Compiling Blender
See https://wiki.blender.org/wiki/Building_Blender/Linux/Ubuntu,
Note that Blender has a github mirror which may be faster to clone.
Resources
- Blender 2.8 Beginner Tutorial by Blender Guru
- This is an updated version of the famous donut tutorial
- See https://www.reddit.com/r/BlenderDoughnuts/
- Complete Blender Creator: Learn 3D Modelling for Beginners (Udemy, $20)