You are previewing Mastering Blender.
O'Reilly logo
Mastering Blender

Book Description

Blender, the free alternative for professional-quality 3D animation is a complex program to learn, but once users become familiar with its power, they begin to seek more from it.  This book is the first of its kind to explore the more advanced features of Blender so that you can get the most out of the software. You’ll take your Blender skills to a whole new level with the featured in-depth coverage of intricate uses for Blender’s modeling, texturing, animation, and visual effects tools in a professional environment.

Table of Contents

  1. Copyright
  2. Dear Reader,
  3. Acknowledgments
  4. About the Author
  5. Introduction
    1. Who Should Read This Book
      1. What You Will Learn from This Book
      2. How to Use This Book
      3. A Word about Software Versions
    2. The Mastering Series
    3. How This Book Is Organized
    4. What's on the CD
    5. How to Contact the Author
  6. I. Mastering Blender 3D
    1. 1. Controlling Your Environment
      1. 1.1. Getting Your Way with Blender
        1. 1.1.1. User Preferences
          1. 1.1.1.1. View & Controls
          2. 1.1.1.2. Edit Methods
          3. 1.1.1.3. Language & Font
          4. 1.1.1.4. Themes
          5. 1.1.1.5. Auto Save
          6. 1.1.1.6. System & OpenGL
          7. 1.1.1.7. File Paths
        2. 1.1.2. Other Options
      2. 1.2. Improving Your Workflow
        1. 1.2.1. View Hot Keys and Properties
        2. 1.2.2. Grouping and Selection
          1. 1.2.2.1. Box, Circle, and Lasso Selection
          2. 1.2.2.2. Edit Mode Selection
            1. 1.2.2.2.1. Selecting Edges, Loops, and Rings
            2. 1.2.2.2.2. Selecting Similar Elements
        3. 1.2.3. Object Manipulation
      3. 1.3. Keeping Up with the Blender Interface
        1. 1.3.1. The Coming Changes
        2. 1.3.2. The 2.5 Event Recode
        3. 1.3.3. The Evolution of the Interface
          1. 1.3.3.1. Strengths
          2. 1.3.3.2. Weaknesses
          3. 1.3.3.3. Goals and Suggestions
          4. 1.3.3.4. What to Expect
      4. 1.4. The Bottom Line
    2. 2. Sculpting and Retopo Workflow
      1. 2.1. Sculpting with Blender
        1. 2.1.1. Multiresolution Modeling
          1. 2.1.1.1. Hardware Requirements
          2. 2.1.1.2. Sculpting Tools
        2. 2.1.2. Sculpting a Baby's Head
          1. 2.1.2.1. Preparing to Sculpt
          2. 2.1.2.2. The Sculpting Process
            1. 2.1.2.2.1. Roughing Out the Shapes
            2. 2.1.2.2.2. Incremental Refinement
            3. 2.1.2.2.3. Using the Grease Pencil Tool for Reference Sketching
            4. 2.1.2.2.4. Adding Eyeballs
            5. 2.1.2.2.5. Refining the Nose, Mouth, and Eyes
            6. 2.1.2.2.6. Modeling Ears
            7. 2.1.2.2.7. Forging Out on Your Own
      2. 2.2. Using the Retopo Tool
      3. 2.3. Normal Map Baking
      4. 2.4. The Bottom Line
    3. 3. Creating Realistic Images with UV Textures and Node-Based Materials
      1. 3.1. Creating UV Textures with Blender and GIMP
        1. 3.1.1. Textures and Texture Mapping
        2. 3.1.2. UV Mapping
        3. 3.1.3. Texturing a Locomotive Smokestack
      2. 3.2. Smoothing the Seams with Texture Baking
      3. 3.3. Achieving Realism with Material Nodes
      4. 3.4. The Bottom Line
    4. 4. Video Compositing with Nodes
      1. 4.1. Pulling a Green Screen Matte with Nodes
        1. 4.1.1. Working with Green Screen Video
        2. 4.1.2. Working with Composite Nodes
      2. 4.2. Garbage Matting
        1. 4.2.1. Animating the Garbage Matte
        2. 4.2.2. Using Render Layers and Nodes
        3. 4.2.3. Garbage Matting the Figure
        4. 4.2.4. Working with Node Groups
        5. 4.2.5. Using Alpha Overlays and Premultiplication
      3. 4.3. Spill Correction and Cleaning Up
        1. 4.3.1. Tweaking Color Channels
        2. 4.3.2. Finishing Off the Matte
        3. 4.3.3. Muting Nodes
        4. 4.3.4. Learning More about Compositing
      4. 4.4. The Bottom Line
    5. 5. Working with the Video Sequence Editor
      1. 5.1. Working with the Video Sequence Editor
        1. 5.1.1. Importing Video and Image Sequences
        2. 5.1.2. Setting Frame Rates
        3. 5.1.3. Working with Sequence Strips
          1. 5.1.3.1. Basic Sequence Strip Operations
          2. 5.1.3.2. The Filter Panel
          3. 5.1.3.3. Channels
          4. 5.1.3.4. Cutting and Copying
        4. 5.1.4. Editing Sound
        5. 5.1.5. Using Markers
        6. 5.1.6. Accessing Other VSE Display Modes
          1. 5.1.6.1. Histogram
          2. 5.1.6.2. Chroma Vectorscope
          3. 5.1.6.3. Luma Waveform
      2. 5.2. Adding Transitions and Compositing in the VSE
        1. 5.2.1. Alpha Overlays
        2. 5.2.2. Fades and Transitions
        3. 5.2.3. Fading to Black
        4. 5.2.4. Transform
        5. 5.2.5. Other Effects
        6. 5.2.6. Working with Plug-ins
        7. 5.2.7. Meta-Strips
      3. 5.3. Working with Blender Scenes in the VSE
        1. 5.3.1. Adding Captions to a Video
        2. 5.3.2. Composited Scenes
        3. 5.3.3. Rendering and Output
      4. 5.4. The Bottom Line
  7. II. Mastering Blender Python
    1. 6. Python for the Impatient
      1. 6.1. Introducing Python
        1. 6.1.1. What Is Python?
          1. 6.1.1.1. How Programs Run
          2. 6.1.1.2. Scripting and Blender
        2. 6.1.2. Why Python?
        3. 6.1.3. Further Resources
          1. 6.1.3.1. Documentation, Books, and Tutorials
          2. 6.1.3.2. The Blender-Python API
      2. 6.2. Understanding the Python Development Environment
        1. 6.2.1. Getting Python
        2. 6.2.2. Using the Command-Line Shell
        3. 6.2.3. Using the IDLE Editor
        4. 6.2.4. Running Scripts
        5. 6.2.5. Using the Blender-Python Environment
      3. 6.3. Understanding Python Syntax
        1. 6.3.1. Data Types and Structures
          1. 6.3.1.1. Integers and Floating-Point Numbers
          2. 6.3.1.2. Strings
          3. 6.3.1.3. Lists and Tuples
          4. 6.3.1.4. Dictionaries
          5. 6.3.1.5. Operators
          6. 6.3.1.6. Variables
        2. 6.3.2. Control Flow
        3. 6.3.3. Functions
        4. 6.3.4. Classes and OOP
        5. 6.3.5. The dir() Command
        6. 6.3.6. Modules
      4. 6.4. The Bottom Line
    2. 7. Python Scripting for Blender
      1. 7.1. Editing and Running Scripts in Blender
        1. 7.1.1. The Blender Text Editor
        2. 7.1.2. Script Format and Templates
        3. 7.1.3. The Scripts Window
      2. 7.2. Introducing the Blender-Python API
      3. 7.3. Creating an Interactive Script
        1. 7.3.1. Working with Meshes, Objects, and Ipos
          1. 7.3.1.1. Importing Modules
          2. 7.3.1.2. Setting Default Values
          3. 7.3.1.3. Creating the Mesh
          4. 7.3.1.4. Placing 3D Objects in the Scene
          5. 7.3.1.5. Adding a Material
          6. 7.3.1.6. Adding Ipos
        2. 7.3.2. Building the Interface
          1. 7.3.2.1. A Minimal Interface Script
          2. 7.3.2.2. An Interface for Creating Bouncing Cones
          3. 7.3.2.3. Setting Up the Interface Logic
          4. 7.3.2.4. Setting Variables
          5. 7.3.2.5. Defining the Functions
          6. 7.3.2.6. The event() and button_event() Functions
          7. 7.3.2.7. The gui() Function
        3. 7.3.3. Putting It All Together
      4. 7.4. The Bottom Line
    3. 8. The Many-Headed Snake: Other Uses of Python in Blender
      1. 8.1. Extend Blender Functionality with Python
      2. 8.2. Working with PyDrivers
      3. 8.3. Using PyNodes
      4. 8.4. Working with PyConstraints
      5. 8.5. Using Script Links and Space Handlers
        1. 8.5.1. On-the-Fly Script Execution with Script Links
          1. 8.5.1.1. Using the Registry to Work with Persistent Data
          2. 8.5.1.2. A Simple Script-Linked Example
        2. 8.5.2. Viewport Interactivity with Space Handlers
          1. 8.5.2.1. The Draw Component
          2. 8.5.2.2. The Event Component
          3. 8.5.2.3. Executing the Space Handler
      6. 8.6. The Bottom Line
  8. III. Mastering the Blender Game Engine
    1. 9. Creating Assets for the Blender Game Engine
      1. 9.1. Creating Content for the Game Engine
        1. 9.1.1. Modeling a Simple Low-Poly Character
        2. 9.1.2. Texture Painting
        3. 9.1.3. Rigging and Animating the Character
      2. 9.2. Setting Up the World
        1. 9.2.1. Baking Procedural Textures for a Simple Skybox
        2. 9.2.2. Creating a Simple Maze
      3. 9.3. Getting More Familiar with the BGE Environment
        1. 9.3.1. Placing Your Objects in the Game World
        2. 9.3.2. Setting Material Options
        3. 9.3.3. Using Lighting in the Game Engine
        4. 9.3.4. Vertex Painting for Light Effects
      4. 9.4. The Bottom Line
    2. 10. Making Things Happen in the Game Engine
      1. 10.1. Working with Logic Blocks
        1. 10.1.1. Understanding Logic Block Basics
          1. 10.1.1.1. Making the Character Walk
          2. 10.1.1.2. Adding Dynamics to the Character
        2. 10.1.2. Setting Up the Camera
      2. 10.2. Using Properties, Messages, and States
        1. 10.2.1. Setting Up Bad Guys
          1. 10.2.1.1. Path Node Logic Blocks
          2. 10.2.1.2. Bad-Guy Logic Blocks
        2. 10.2.2. Collecting Treasure and Racking Up Points
          1. 10.2.2.1. Using Cone, Ball, and Empty Logic
          2. 10.2.2.2. Using States
      3. 10.3. Creating Special Effects with Textures
        1. 10.3.1. Creating Dynamic Text
          1. 10.3.1.1. Preparing the Font
          2. 10.3.1.2. Using a Textured Face for Dynamic Text
        2. 10.3.2. Creating Animated Textures
      4. 10.4. Working with Sound in the BGE
      5. 10.5. The Bottom Line
    3. 11. Python Power in the Blender Game Engine
      1. 11.1. From Logic Blocks to Python
        1. 11.1.1. Controlling a Character with Python
          1. 11.1.1.1. The GameLogic Module
          2. 11.1.1.2. Sensors and Actuators
          3. 11.1.1.3. Game Logic in Python
      2. 11.2. Python Power for the BGE
        1. 11.2.1. Creating a Teleportation Machine with Python
          1. 11.2.1.1. Objects and Logic Blocks
          2. 11.2.1.2. Code for the Teleportation Machine
        2. 11.2.2. Creating a Login Screen
          1. 11.2.2.1. Objects and Logic Blocks
          2. 11.2.2.2. Python Code for a Login Screen
        3. 11.2.3. Working with Viewports
        4. 11.2.4. Accessing Sound with Python
      3. 11.3. Further Resources
      4. 11.4. The Bottom Line
    4. A. Solutions
      1. A.1. Chapter 1: Controlling Your Environment
      2. A.2. Chapter 2: Sculpting and Retopo Workflow
      3. A.3. Chapter 3: Creating Realistic Images with UV Textures and Node-Based Materials
      4. A.4. Chapter 4: Video Compositing with Nodes
      5. A.5. Chapter 5: Working with the Video Sequence Editor
      6. A.6. Chapter 6: Python for the Impatient
      7. A.7. Chapter 7: Python Scripting for Blender
      8. A.8. Chapter 8: The Many-Headed Snake: Other Uses of Python in Blender
      9. A.9. Chapter 9: Creating Assets for the Blender Game Engine
      10. A.10. Chapter 10: Making Things Happen in the Game Engine
      11. A.11. Chapter 11: Python Power in the Blender Game Engine
    5. B. Blender-Python API Module and Class Hierarchies
      1. B.1. Module Hierarchy
      2. B.2. Class Hierarchy
    6. C. The Evolution of Blender's User Interface
      1. C.1. The Evolution of Blender's Interface
        1. C.1.1. Analysis
        2. C.1.2. The Good
        3. C.1.3. The Bad
        4. C.1.4. Design Goals
        5. C.1.5. Properties
        6. C.1.6. Tools
        7. C.1.7. Context Sensitivity
        8. C.1.8. Multiple Objects
        9. C.1.9. Feedback
        10. C.1.10. Drag-and-Drop
        11. C.1.11. Graphic Design
        12. C.1.12. Wrap-up
    7. D. About the Companion CD
      1. D.1. What You'll Find on the CD
        1. D.1.1. Chapter Files
        2. D.1.2. Blender 2.48 Software
        3. D.1.3. GIMP Software
      2. D.2. System Requirements
      3. D.3. Using the CD
      4. D.4. Troubleshooting
        1. D.4.1. Customer Care