Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline modeling, rigging, animation, simulation, rendering, compositing and motion tracking, even video editing and game creation. Advanced users employ Blender’s API for Python scripting to customize the application and write specialized tools; often these are included in Blender’s future releases. Blender is well suited to individuals and small studios who benefit from its unified pipeline and responsive development process.
Features
Modeling
Forensic facial reconstruction of a mummy by Cícero Moraes
Primitives
Blender has support for a variety of geometric primitives, including polygon meshes, fast subdivision surface modeling, Bezier curves, NURBS surfaces, metaballs, icospheres, text, and an n-gon modeling system called B-mesh.
Modifiers
Modifiers apply non-destructive effects.
Sculpting
Blender has multi-res digital sculpting, which includes the dynamic topology, maps baking, remeshing, re-symmetrize, and decimation.
Simulation
Cloth simulation
Blender can be used to simulate smoke, rain, dust, cloth, fluids, hair and rigid bodies.
Physics fluid simulation
The fluid simulator can be used for simulating liquids, like water hitting a cup.[69] It uses the Lattice Boltzmann methods to simulate the fluids and allows for lots of adjusting of the amount of particles and the resolution.
The particle physics fluid simulation creates particles that follow the Smoothed-particle hydrodynamics method.[70] Simulation tools for soft body dynamics including mesh collision detection, LBM fluid dynamics, smoke simulation, Bullet rigid body dynamics, and an ocean generator with waves. A particle system that includes support for particle-based hair. Real-time control during physics simulation and rendering.
In Blender 2.82 a new fluid sim system called mantaflow was added, replacing the old system.
Animation
Keyframed animation tools including inverse kinematics, armature (skeletal), hook, curve and lattice-based deformations, shape animations, non-linear animation, constraints, and vertex weighting.
Grease Pencil
Blender’s Grease Pencil tools allow for 2D animation within a full 3D pipeline.
Rendering
Rendering of a house
Internal render engine with scanline rendering, indirect lighting, and ambient occlusion that can export in a wide variety of formats; A path tracer render engine called Cycles, which can take advantage of the GPU for rendering. Cycles supports the Open Shading Language since Blender 2.65.[72]
EEVEE is a new physically based real-time renderer. It works both as a renderer for final frames, and as the engine driving Blender’s realtime viewport for creating assets. Blender Internal was removed in 2.8.
Texture and shading
Blender allows procedural and node-based textures, as well as texture painting, projective painting, vertex painting, weight painting and dynamic painting.
Post-production
The Video Sequence Editor (VSE)
Blender has a node-based compositor within the rendering pipeline accelerated with OpenCL.
Blender also includes a non-linear video editor called the Video Sequence Editor (VSE), with support for effects like Gaussian blur, color grading, fade and wipe transitions, and other video transformations. However, there is no multi-core support for rendering video with the VSE.
Plugins/addons and scripts
Blender supports Python scripting for the creation of custom tools, prototyping, game logic, importing/exporting from other formats and task automation. This allows for integration with a number of external render engines through plugins/addons.
Deprecated features
The Blender Game Engine was a built-in real-time graphics and logic engine with features such including collision detection, a dynamics engine, and programmable logic. It also allowed the creation of stand-alone, real-time applications ranging from architectural visualization to video games. In April 2018 it was removed from the upcoming Blender 2.8 release series, having long lagged behind other game engines such as the open-source Godot, and Unity.[24] In the 2.8 announcement, the Blender team specifically mentioned the Godot engine as a suitable replacement for migrating Blender Game Engine users.[25]
Blender Internal, a biased rasterization engine / scanline renderer used in the previous versions of Blender was also removed for the 2.80 release, in favor of the new “EEVEE” renderer, a realtime PBR renderer.[73]
File format
Blender features an internal file system that can pack multiple scenes into a single file (called a “.blend” file).
- Most of Blender’s “.blend” files are forward, backward, and cross-platform compatible with other versions of Blender, with the following exceptions:
- Loading animations stored in post-2.5 files in Blender pre-2.5. This is due to the reworked animation subsystem introduced in Blender 2.5 being inherently incompatible with older versions.
- Loading meshes stored in post 2.63. This is due to the introduction of BMesh, a more versatile mesh format.
- Blender 2.8 “.blend” files are no longer fully backward compatible, causing errors when opened in previous versions.
- All scenes, objects, materials, textures, sounds, images, post-production effects for an entire animation can be stored in a single “.blend” file. Data loaded from external sources, such as images and sounds, can also be stored externally and referenced through either an absolute or relative pathname. Likewise, “.blend” files themselves can also be used as libraries of Blender assets.
- Interface configurations are retained in the “.blend” files.
A wide variety of import/export scripts that extend Blender capabilities (accessing the object data via an internal API) make it possible to interoperate with other 3D tools.
Blender organizes data as various kinds of “data blocks”, such as Objects, Meshes, Lamps, Scenes, Materials, Images and so on. An object in Blender consists of multiple data blocks – for example, what the user would describe as a polygon mesh consists of at least an Object and a Mesh data block, and usually also a Material and many more, linked together. This allows various data blocks to refer to each other. There may be, for example, multiple Objects that refer to the same Mesh and making subsequent editing of the shared mesh result in shape changes in all Objects using this Mesh. Objects, meshes, materials, textures etc. can also be linked to from other .blend files, which is what allows the use of .blend files as reusable resource libraries.
Import and export
The software supports a variety of 3D file formats for import and export, among them Alembic, 3D Studio (3DS), Filmbox (FBX), Autodesk (DXF), SVG, STL (for 3D printing), UDIM, USD, VRML, WebM, X3D and Obj.