Wiley
Wiley.com
Print this page Share

3D for iPhone Apps with Blender and SIO2: Your Guide to Creating 3D Games and More with Open-Source Software

ISBN: 978-0-470-57492-8
328 pages
February 2010
3D for iPhone Apps with Blender and SIO2: Your Guide to Creating 3D Games and More with Open-Source Software (0470574925) cover image
Create exciting, interactive 3D apps for the iPhone and iPod Touch

What a combination-using free, open-source Blender software and the SI02 game engine to create very cool 3D characters and games for the very hot devices of the moment, the iPhone and iPod Touch. Whether you're coming to this as an iPhone developer or as a Blender artist, this book is for you. Learn how to create 3D content using Blender's WYSIWYG approach, find helpful information on Xcode and other iPhone SDK topics, master physical collisions, and acquire the skills you need to bridge both worlds with fun, compelling content.

  • Shows you what you need to know to use Blender software, the SI02 game engine, and iPhone SDK to create interactive 3D content for the iPhone and iPod Touch
  • Walks you through a series of tutorials that you can use as starting points for your own creations
  • Provides enough information on the iPhone software developer kit (SDK) to get you started quickly
  • Covers Blender's physics simulation library, Bullet, and Blender's robust collision functionality

Bridge the exciting worlds of Blender and iPhone app development in an easy-to-follow pipeline with this one-of-a-kind guide.

See More
Foreword.

Introduction.

Chapter 1: Getting Started with 3D Development for the iPhone.

Getting Started.

Getting the Software.

Setting Up Your Development Environment.

Chapter 2: Introducing Graphics Programming in SIO2.

The SIO2 Template.

A Simple OpenGL Demo.

Introduction to Interactivity.

The Complete Code.

Chapter 3: Saying Hello to the Blender/SIO2/iPhone World.

The Blender/SIO2/Xcode Workflow.

An Overview of SIO2.

Hello 3D World! Creating Your World in Blender.

Exporting to the SIO2 File Format.

Chapter 4: Going Mobile with SIO2.

Initializing SIO2 and Loading Assets.

Rendering.

Touch Screen Interaction.

The Complete Code.

Chapter 5: Extending Interactive Feedback with Picking and Text.

Object Picking.

Working with Text and Fonts.

Using Multi-touch Functionality.

Packaging Your App.

The Complete Code.

Chapter 6: Creating an Immersive Environment in SIO2.

Modeling the Ground and the Sky.

Creating an Immersive Environment in SIO2.

Exploring the Environment with a Moving Camera.

The Complete Code.

Chapter 7: Props and Physical Objects.

Texture Face Objects and Transparency.

Fast Foliage with Billboards.

Physics for Interactive Objects.

Pseudo-instancing for Efficient Object Handling.

Working with Low-Poly Collision Maps.

The Complete Code.

Chapter 8: Animating a Character.

Animating a Character in Blender.

Getting Action in SIO2.

Taking a Walk.

Quick and Dirty Real-Time Shadows.

The Complete Code.

Chapter 9: Working with Widgets.

Making a Splash with Widgets.

Creating Active Widgets in SIO2.

The Complete Code.

Appendix A: Blender Basics.

Interface and Navigation.

Modeling.

Materials and Textures.

Animation 250

Appendix B: Key Concepts for Graphics Programming.

Coordinate Systems, Matrices, and Transformations.

Transformations by Matrix Multiplication.

Matrices and OpenGL.

Appendix C: SIO2 Reference.

SIO2 Learning Resources.

The .sio2 File Format.

SIO2 Flag Values.

SIO2 Functions.

Index.

See More
Tony Mullen is a 3D artist and programmer residing in Tokyo, where he lectures in computer science at Tsuda College. He has written numerous magazine articles on Blender and graphics programming on the Mac for the Japanese magazine MacPeople. He is also the author or coauthor of several Blender-related books, including Introducing Character Animation with Blender; Bounce, Tumble, and Splash!: Simulating the Physical World with Blender 3D; and Mastering Blender, all from Sybex.
See More
Download TitleSizeDownload
Chapter 2 Squares 2.24 MB Click to Download
Chapter 3: earthsurface.jpg 233.08 KB Click to Download
Chapter 4 Hello 3D World Part 1 1.15 MB Click to Download
Chapter 5 Hello 3D World Part 2 1.17 MB Click to Download
Chapter 6 Immersive Scene Part 1 6.61 MB Click to Download
Chapter 7 Immersive Scene Part 2 9.84 MB Click to Download
Chapter 8 iFrankie Part 1 2.89 MB Click to Download
Chapter 9 iFrankie Part 2 862.00 KB Click to Download
ReadMe 296 bytes Click to Download
See More

Do you think you've discovered an error in this book? Please check the list of errata below to see if we've already addressed the error. If not, please submit the error via our Errata Form. We will attempt to verify your error; if you're right, we will post a correction below.

ChapterPageDetailsDatePrint Run
2 20 Text correction
Under Using the Matrix Stack, the first sentence, "Now, what if you want to render both of those small squares..." should read:
"What if you want to render two smaller squares..."
7/29/10 1st
2 24 Text correction: Error in code
The second code-listing on the page:

void templateScreenAccelerometer(void *_ptr)
{
printf("templateScreenAccelerometer >> x:%f y:%f z;%f\n",
sio2->_SIO2window->touch[0]->x,
sio2->_SIO2window->touch[0]->y,
sio2->_SIO2window->touch[0]->z);
}
returns an error. It should read:

void templateScreenAccelerometer(void *_ptr)
{
printf("templateScreenAccelerometer >> x:%f y:%f z;%f\n",
sio2->_SIO2window->accel->x,
sio2->_SIO2window->accel->y,
sio2->_SIO2window->accel->z);
}
3/2/10 1st
4 62 Text correction
In the boxed text at the very bottom of the page, the second sentence,

"The fovy argument is the camera's field of view."

contains a typographical error. It should read:

"The fov argument is the camera's field of view."
3/2/10 1st
4 64 Text correction
In the second full paragraph, the third sentence,

"The x-axis rotation valuator this object is accessed with earth->_SIO2transform->rot->z."

contains an error. It should read:

"The z-axis rotation valuator this object is accessed with earth->_SIO2transform->rot->z."
3/2/10 1st
5 92 Text correction: Error in code
The line of code in the shaded box at the very top of the page:

void sio2WindowEnter2D(SIO2window *window, ''oat cstart, ''oat cend)

contains errors. It should read:

void sio2WindowEnter2D(SIO2window *window, ''float cstart, ''float cend)
3/2/10 1st
5 95 Text correction
In the second full paragraph on the page, the second sentence,

"For reach index, you'll print out the "Touch #%d X:%.0f Y:%.0f" formatted message with the x-, y-, and z-coordinates."

contains an error. It should read:

"For reach index, you'll print out the "Touch #%d X:%.0f Y:%.0f" formatted message with the x- and y-coordinates.
3/2/10 1st
Appendix B 255 Text correction: Error in matrix notation
The second vector on the page, immediately following "...is written as a vector as follows:" contains an error.
The matrix at the far left in tall brackets with A1, A2, A3, from top to bottom, should appear as a matrix with 1,2,3,1 from top to bottom.
4/2/10 1st
Appendix B 262 Text correction: Incorrect matrices in multiplication example
The first set of matricies on the page are an erroneous duplication of the ones at the bottom of 261. The correct matricies should appear as follows, omitting the brackets:

2 0 0 1 2
0 2 0 3 6
0 0 1 1 1
4/2/10 1st
See More
Back to Top