Muutke küpsiste eelistusi

E-raamat: Blender Python API: Precision 3D Modeling and Add-on Development

  • Formaat: PDF+DRM
  • Ilmumisaeg: 14-Jun-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484228029
  • Formaat - PDF+DRM
  • Hind: 80,26 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: PDF+DRM
  • Ilmumisaeg: 14-Jun-2017
  • Kirjastus: APress
  • Keel: eng
  • ISBN-13: 9781484228029

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

Understand Blender's Python API to allow for precision 3D modeling and add-on development. Follow detailed guidance on how to create precise geometries, complex texture mappings, optimized renderings, and much more.

This book is a detailed, user-friendly guide to understanding and using Blenders Python API for programmers and 3D artists. Blender is a popular open source 3D modeling software used in advertising, animation, data visualization, physics simulation, photorealistic rendering, and more. Programmers can produce extremely complex and precise models that would be impossible to replicate by hand, while artists enjoy numerous new community-built add-ons.



The Blender Python API is an unparalleled programmable visualization environment. Using the API is made difficult due to its complex object hierarchy and vast documentation. Understanding the Blender Python API clearly explains the interface. You will become familiar with data structures and low-level concepts in both modeling and rendering with special attention given to optimizing procedurally generated models. In addition, the book:













Discusses modules of the API as analogs to human input modes in Blender

Reviews low-level and data-level manipulation of 3D objects in Blender Python

Details how to deploy and extend projects with external libraries

Provides organized utilities of novel and mature API abstractions for general use in add-on development



















What Youll Learn





Generate 3D data visualizations in Blender to better understand multivariate data and mathematical patterns.

Create precision object models in Blender of architectural models, procedurally generated landscapes, atomic models, etc.

Develop and distribute a Blender add-on, with special consideration given to careful development practices

Pick apart Blenders 3D viewport and Python source code to learn about API behaviors

Develop a practical knowledge of 3D modeling and rendering concepts

Have a practical reference to an already powerful and vast API































Who This Book Is For

Python programmers with an interest in data science, game development, procedural generation, and open-source programming as well as programmers of all types with a need to generate precise 3D models. Also for 3D artists with an interest in programming or with programming experience and Blender artists regardless of programming experience.
About the Author xiii
About the Technical Reviewer xv
Introduction xvii
Chapter 1 The Blender Interface
1(10)
The Default Blender Interface
1(2)
3D Viewport
3(1)
Header Menu
3(1)
Properties Window
3(1)
Tool Shelf and Tool Properties
3(1)
Timeline
3(1)
The Scripting Interface
3(3)
Text Editor
5(1)
Command Log
5(1)
Interactive Console
6(1)
Customizing the Interface
6(1)
Starting Blender from the Command Line (for Debugging)
7(1)
Running Our First Python Script
8(1)
Finding the Function
8(1)
Testing the Function
8(1)
Writing the Script
8(1)
Conclusion
9(2)
Chapter 2 The bpy Module
11(16)
Module Overview
11(1)
bpy.ops
11(1)
bpy.context
11(1)
bpy.data
12(1)
bpy.app
12(1)
bpy.types, bpy.utils, and bpy.props
12(1)
bpy.path
12(1)
Selection, Activation, and Specification
12(4)
Selecting an Object
13(1)
Activating an Object
14(1)
Specifying an Object (Accessing by Name)
15(1)
Pseudo-Circular Referencing and Abstraction
16(1)
Transformations with bpy
17(3)
Visualizing Multivariate Data with the Minimal Toolkit
20(6)
Visualizing Three Dimensions of Data
21(1)
Visualizing Four Dimensions of Data
22(2)
Visualizing Five Dimensions of Data
24(2)
Discussion
26(1)
Conclusion
26(1)
Chapter 3 The bmesh Module
27(16)
Edit Mode
27(1)
Selecting Vertices, Edges, and Planes
28(3)
Switching Between Edit and Object Modes Consistently
28(1)
Instantiating a bmesh Object
29(1)
Selecting Parts of a 3D Object
30(1)
Edit Mode Transformations
31(3)
Basic Transformations
31(1)
Advanced Transformations
32(2)
Note on Indexing and Cross-Compatibility
34(1)
Global and Local Coordinates
35(2)
Selecting Vertices, Edges, and Faces by Location
37(2)
Checkpoint and Examples
39(3)
Conclusion
42(1)
Chapter 4 Topics in Modeling and Rendering
43(22)
Specifying a 3D Model
43(2)
Specifying Meshes
43(1)
Specifying Textures
44(1)
Common File Formats
45(3)
Wavefront (.obj and mtl)
45(1)
STL (STereoLithography)
46(1)
PLY (Polygon File Format)
47(1)
Blender (.blend) Files and Interchange Formats
48(1)
Minimal Specification of Basic Objects
48(8)
Definition of a Cube
48(1)
Naive Specification
48(3)
Using Indices to Share Vertices and Normals
51(1)
Using Coplanar Vertices to Reduce Face Count
52(1)
Using Face Vertices to Simplify Indices
53(2)
Representing a Cube as a Primitive
55(1)
Summary
55(1)
Common Errors in Procedural Generation
56(7)
Concentric Normals
56(4)
Flipped Normals
60(1)
Z-Fighting
61(2)
Conclusion
63(2)
Chapter 5 Introduction to Add-On Development
65(22)
A Simple Add-On Template
65(4)
Components of Blender Add-Ons
69(10)
The bl_info Dictionary
69(1)
Operators and Class Inheritance (bpy.types.Operator)
70(1)
Panels and Class Inheritance (bpy.types.Panel)
71(1)
Register() and Unregister()
72(2)
Scene Properties and bpy.props
74(5)
Precision Selection Add-On Example
79(6)
Code Overview for Our Add-On
79(5)
The poll() Classmethod
84(1)
EnumProperty Variables
85(1)
Preparing Our Add-On for Distribution
85(1)
Conclusion
85(2)
Chapter 6 The bgl and blf Modules
87(18)
Instantaneous Drawing
87(1)
Handlers Overview
87(4)
Clock Example
88(1)
Managing Handlers
89(1)
Types of Handlers
89(1)
Persistent Handlers
90(1)
Handlers in blf and bgl
91(1)
Example Add-On
92(9)
Drawing Lines and Text
99(1)
Declaring Button-Activated Drawing Functions
100(1)
Declare Main Drawing Function
101(1)
Declaring the Operator with Handlers
101(1)
Declaring the Panel with Dynamic Drawing
101(1)
Extending our bgl and blf Template
101(2)
Conclusion
103(2)
Chapter 7 Advanced Add-On Development
105(18)
Developing in Blender's Filesystem
105(5)
Creating an Add-on in the Filesystem
107(2)
Using F8 to Reload Add-Ons
109(1)
Important Takeaway
109(1)
Managing Imports
109(1)
IDEs for In-Filesystem Development
110(1)
Lightweight (Notepad++, Gedit, and Vim)
110(1)
Midweight (Sublime Text, Atom, and Spyder)
110(1)
Heavyweight (Eclipse PyDev, PyCharm, and NetBeans)
111(1)
Compiling Blender as a Python Module
111(1)
Summary
111(1)
Best Practices for External Data
111(5)
Using File Interchange Formats
112(1)
Using Hardcoded Python Variables
112(1)
Algorithmic Manipulation of Primitives
113(2)
Summary
115(1)
Advanced Panel Creation
116(5)
Panel Organization
116(3)
Panel Icons
119(2)
Conclusion
121(2)
Chapter 8 Textures and Rendering
123(14)
Vocabulary of Textures
123(3)
Types of Influence in Blender
123(2)
Types of Textures in Blender
125(1)
Adding and Configuring Textures
126(4)
Loading Textures and Generating UV Mappings
126(3)
Textures Versus Materials in Blender
129(1)
UV Coordinates and Loops
129(1)
Another Note on Indexing and Cross-Compatibility
130(1)
Removing Unused Textures and Materials
130(1)
Rendering Using Blender Render
131(5)
Adding Lights
131(1)
Adding Cameras
132(1)
Rendering an Image
133(3)
Conclusion
136(1)
Index 137
Chris Conlan began his career as an independent data scientist specializing in trading algorithms. He attended the University of Virginia where he completed his undergraduate statistics coursework in three semesters. During his time at UVA, he secured initial fundraising for a privately held high-frequency Forex group as president and chief trading strategist. He is currently managing the development of private technology companies in high-frequency forex, machine vision, and dynamic reporting. Author of Automated Trading with R (Apress).