<P><STRONG>Game Programming for Artists</STRONG> provides a foundation for artists and creatives to jumpstart learning to program their own games. It is an accessible and conversational guide focused on three areas: basic programming, understanding game engines, and practical code for commonly emplo
Essential Programming for the Technical Artist
✍ Scribed by Chris Roda
- Publisher
- CRC Press
- Year
- 2024
- Tongue
- English
- Leaves
- 521
- Category
- Library
No coin nor oath required. For personal study only.
✦ Synopsis
This book is based on a successful curriculum designed to elevate technical artists with no programming experience up to essential programming competency as quickly as possible. Instead of abstract, theoretical problems, the curriculum employs familiar applications encountered in real production environments to demonstrate each lesson.
Written with artists in mind, this book introduces novice programmers to the advantageous world of Python programming with relevant and familiar examples. Any digital artists (not just technical artists) will find this book helpful in assisting with day-to-day production activities.
Concentrating upon subjects relevant to the creation of computer graphic assets, this book introduces Python basics, functions, data types, object-oriented programming, exception handling, file processing, graphical user interface creation, PEP 8 standards, and regular expressions. Programming within the SideFX Houdini 3D animation software provides a familiar environment for artists to create and experiment with the covered Python topics.
About the Author
Chris Roda is a Technical Art instructor at the Florida Interactive Entertainment Academy (FIEA), a graduate degree program in interactive, real-time application development at the University of Central Florida. Early in his career, Chris was a visual effects artist in the film and television industries where he contributed visual effects for films such as Spiderman, Titanic and Fifth Element. Before coming to FIEA, Chris was a CG Supervisor at Electronic Arts, where he worked on video game titles such as NCAA Football and Madden NFL Football. In addition to teaching, Chris works on generating tools and pipelines for the creation of digital immersive experiences; the amalgamation of the narrative of films, the interactivity of video games and the immersion of theme parks.
✦ Table of Contents
Cover
Half Title
Title Page
Copyright Page
Dedication
Table of Contents
Acknowledgments
About the Author
Chapter 1: Introduction
Introduction
Why This Book?
Intended Audience
How This Book Is Organized
Conventions
Software Disclaimer
Prerequisites
Chapter 2: The Role of Programming in Technical Artist Life
Introduction
Technical Artist Programming Rule #1
Expectations of a Technical Artist Programmer
Guerilla Problem Solver
Tools Team Member
Discipline-Based Expectations
Pipeline
Procedural World Building
Rigging
Lighting, Rendering, and Look Development
Visual Effects
Technical Animation
Conclusion
Chapter 3: Programming Strategies
Introduction
Task Identification
One Line at a Time
Online Instruction
External Code References
Conclusion
Chapter 4: Computer Languages
Introduction
C/C++
Python
HLSL/GLSL
C#
Java
Other Scripting Languages
JavaScript
Bourne Shell/C Shell
DOS
HScript/VEX
MEL
MAXScript
Lua
Conclusion
Chapter 5: Programming Inspiration
Introduction
Challenge of Technology
Traditional Training
Python in Six Weeks
Familiar Environment
Houdini IDE
Command-Line versus IDE
Conclusion
Chapter 6: Python Setup and Orientation
Introduction
Software Installation
Prior Houdini Installation
Initial Houdini Installation
Houdini Environment Setup
Python Shell
Python Calculator
Print Command
Variables
Help()
First Python Script
Conclusion
Chapter 7: Python Basics
Introduction
Second Script
String Formatting
Quotations
Formatted Output
Commenting
Expressions
Mathematical Operations
Comparison Operations
Boolean Operations
Create a Sphere
Conclusion
Chapter 8: Python Logic
Introduction
Review Project
Code Blocks
Conditional Statements
Looping Statements
While Loops
For Loops
Escapes
Project: Variable Circle
Conclusion
Chapter 9: Python Functions
Introduction
Function Organization Hierarchy
Local Functions
Modules
Packages
Technical Art Libraries
Math
Random
Function Authoring
Format
Scope
Default Arguments
Lambda
Args and Kwargs
Recursion
Fractal Example
Conclusion
Chapter 10: Python Data Types
Introduction
Mutable versus Immutable Data
Numeric
Integers
Floating Point
Complex
Sequences
Operations
Strings
Tuples
Lists
Ranges
Matrices
Dictionaries
Construction
Access Methods
Mutable Operations
Sets
Operations
Set Operations
Boolean
bool
Or
And
Not
Other Python Data Types
Unicode
None
File
Functional Arguments
Houdini Example
Conclusion
Chapter 11: Python Object-Oriented Programming: Foundation
Introduction
Structure
Classes
Self
Attributes
Instantiation
Example: MyTime
Example: Arrow
Special Attributes
Class Attributes
Object Attributes
Class Variables
Overloading
Core Overloading
Data Interface Overloading
Binary Operator Overloading
Unary Operator Overloading
String and Repr() Overload Methods
Vectors
Color Calculator
Conclusion
Chapter 12: Python Object-Oriented Programming: Inheritance
Introduction
Module/Package Creation
PYTHONPATH
Houdini Path
Module Creation
Inheritance
Base Class
Derived Class
Arrows and Vectors
Polymorphism
Multiple Inheritance
Inheritance Functions
Composition
Houdini Example
Inheritance versus Composition
Inheriting from Built-In Types
Conclusion
Chapter 13: Python Exceptions
Introduction
Guerilla Programming
User Experience
What to Expect
Special Events
Event Handling
Raising Exceptions
Handling Exceptions
Try-Except
Else
Finally
Custom Exceptions
Exception Customization
Guidelines for Customization
‘With’ and Context Managers
Tracebacks
Conclusion
Chapter 14: Python File Processing
Introduction
File Processing Basics
Essential Strategy
Exceptions
Opening Files
Closing Files
Reading and Writing
Example
Resource Management
Try – Finally
With Context Manager
Data Formats
JSON Data
XML Data
XML Input and Node Structure
XML Construction and Export
Pickling
Conclusion
Chapter 15: Command Line
Introduction
Command Line Access
Windows
macOS
Linux/UNIX
Houdini Python
Command Line Python
Script Execution
Command Line Arguments
Conclusion
Chapter 16: Python GUI
Introduction
Interface Modules
Tkinter
PyQt5
PySide2
Other Packages
PySide2 Fundamentals
First Window
Widget Classes
Layouts
Signals and Slots
Slots with Arguments
Customizing with Icons and Pixmaps
QMainWindow
Interactive Widgets
QDialog
Conclusion
Chapter 17: QtDesigner
Introduction
Installation
Default Installations
External Tool Installation
Tool Layout
Window Preview
Design Philosophy
Window Mobility
Layouts
First Interface
Adding and Verifying Widgets
Widget Attributes
Interface File
Function Script
Function Class
Convenient Feature
Object Signal Binding
Spacers
Vertical Spacers
Horizontal Spacers
Containers
Widgets
Frames
Group Boxes
Scroll Areas
Tool Boxes
Tab Widgets
Stacked Widgets
Dock Widgets
MDI Area
Item Widgets versus Item Views
Buttons
Push Buttons
Tool Buttons
Radio Buttons
Check Boxes
Command Line Buttons
Dialog Button Boxes
Input Widgets
Combo Boxes
Text Editors
Number Inputs
Time Inputs
Sliders
Key Sequence Editors
Display Widgets
Labels
Text Browsers
Calendar Widgets
LCD Numbers
Progress Bars
Lines
Graphics Views
OpenGL Widgets
Conclusion
Chapter 18: Python PEP 8 Standards
Introduction
Consistency
Code Layout
Indentation
Tabs or Spaces
Line Length
Line Beaks
Blank Lines
Imports
Dunder Names
String Quotes
Whitespace
Extraneous
Trailing Whitespaces
Operators
Arguments
Compound Statements
Trailing Commas
Comments
Block
Inline
Document Strings
Naming Conventions
Overriding Principle
Descriptive Naming Styles
Prescriptive Naming Conventions
Programming
Other Languages
Singletons
Is Not
Lambda
Exception Derivation
Bare Except
Try Statements
Return Statements
Slicing Strings
Isinstance
Empty Sequences
Boolean Comparisons
Flow Control
Formatters
Conclusion
Chapter 19: Regular Expressions
Introduction
Found Everywhere
Concerning Technical Artists
Python Integration
Regular Expression Strings
Literal Characters
Metacharacters
Metasymbols
Matching
\w and \W
\d and \D
\s and \S
Period
Question Mark
Asterisk
Plus Sign
Square Brackets
Curly Braces
Pipe
Searching
Caret
Dollar Sign
Regular Expression Objects
Groups
Split
Substitution
Practical Examples
Conclusion
Chapter 20: Conclusion
Early Days
Limited Resources
Scripting: The Great Compromise
Future Python
Index
✦ Subjects
Computers; General; Software Development & Engineering; Computer Graphics; Games; Mathematics; Python programming; SideFX Houdini; QtDesigner; Programming; technical artist; Python; Computer Languages; digital artist; Python Logic; Animation
📜 SIMILAR VOLUMES
<p><strong>Game Programming for Artists</strong> provides a foundation for artists and creatives to jumpstart learning to program their own games. It is an accessible and conversational guide focused on three areas: basic programming, understanding game engines, and practical code for commonly emplo
<span><p>Visual effects (VFX) are one of the most complicated components of feature film and television creation. With advancements in such technologies as Ray Tracing and Virtual Reality, the visual quality of the real-time rendering engine is now rivaling feature film. Real-time rendering requires
<span><p><em><b>Real Time Visual Effects for the Technical Artist</b></em>&nbsp;is written for digital artists to explain the core concepts of visual effects, common in all engines, to free them from interface bounds.</p></span>
КнигаDesign Essentials for the Motion Media Artist рассказывает о рисовании людей, животных, различных предметов, текста в движении, что может быть применено как просто в рисунках, так и в мультипликации или создании футажей
Master the fundamental concepts and techniques of motion media design so you can apply--and occasionally break--the rules to achieve your communication goals. This authoritative guide presents all of the design essentials in an engaging and inspiring way. Each principle is explained with text, illus