The Book is Finished! (Chapter Summaries)

July 15, 2009

Intro

The book is done and I’m putting up the website. Here’s a summary of each chapter. I’ll start posting content like crazy over the next few weeks!!!

Chapter 1: Understanding Flash3D

Summary: Flash 3D is one of the fastest-moving areas in web technology. In this chapter, you learned how to build a simple 3D engine in both CS3 and CS4. Using what you learned about 3D engines you created a torus worm, carousel, and image ball. Finally, you examined Disney’s rules for creating realistic animation, and converted a timeline animation into ActionScript.

Chapter 2: Getting Started With Papervision3D

Summary: In this chapter, you were introduced to the basics of Papervision3d, Painter’s Algorithm, and the view frustum. You learned about culling and clipping and examined the guts of Papervision3d. You instantiated your first primitive (a sphere) and added a wireframe material. You extended your application using BasicView, and examined the different ways to run an application.

Chapter 3: Rezzing Primitives

Summary: In this pivotal chapter, you examined how prims were made in both Papervision3D and CS4.  You created your own custom prim by examining the parametric equations of different prims. And in the case of creating a Second Life tree, you analyzed the potential savings between using Papervision3D and CS4. You learned about the powerful new classes and methods in the CS4 library (such as Matrix3D, drawTriangles, and vectors). And were able to create your own CS4 super prim, using a switch case and timer.

Chapter 4: Adding Materials

Summary: In this chapter you turned the corner from 3D techno babble to application building. You learned the basics of how materials are used to create objects and about their lighting. You learned how to add brightness to a Papervision3D light source, create shades, and make bump maps. And you extended these concepts to CS4.

Chapter 5: Creating 3D Models

Summary: In this chapter, you started with modeling and ended up with Pixel Bender. Regardless of how PV3D changes over time the principles presented in this chapter will be around for a while. You’ll still need parsers to bring in vertex data regardless of your software environment. And Pixel Bender, the new kid on the block, will obviously become the cornerstone of any new 3D package hitting the scene.

Chapter 6: Working with Particle Systems

Summary: This chapter gave a broad overview of particles in both PV3D and CS4. You started with the PV3D particle system and added some of your own particles to it and created a starry panorama.  You built a 3D particle system from scratch and create a Flash CS4 glowworm. You learned how to slice and explode particle systems, and how to use them to interact with video. You took a look at the great work that Plug-in Media is doing and learned how to incorporate FLINT into PV3D.

Chapter 7: Geocoding, XML, and Data Bases

Summary: In this chapter, you turned the corner from learning the inner workings of PV3D to using it to build data-driven web applications. You built a number of applications in Air, Flash CS4, and Flex which illustrated the use of XML, PHP, and MySQL. You learned how to use the Flex data wizard to automatically create PHP code, which was used to make server requests.

Chapter 8: Gliding on Air

Summary: In this chapter, you built your first editor in Adobe Air. During the development process you mastered the use of a few basic Flex components that you’ll use again to create other editors. Accessing your local pc file system using Air and Flash10, you saved your editor results to your local hardrive.  You learned about creating grayscale height maps and using the “geometry.vertices” property to bring those maps into PV3D. Using this you created a PV3D terrain viewer to view your heightmaps. Extending your editor you captured your webcam, programmatically changed it into grayscale, and brought it into your PV3D terrain viewer.

Chapter 9: Incorporating 3D Physics

Summary: In this chapter, you examined a number of approaches to bring physics into PV3D. You started by creating a spring camera, and beefing up the DisplayObject3D class to add gravity effects, to create orbiting planets. You created custom classes for oscillation and learned how to make particles interactive using the interactive scene manager (or ISM). You learned how to build large-scale applications using states, modules, and porting. You examined both WOW and Jiglibflash physics engines. Finally, you built a Jiglib Hello World example and a Jiglib example viewer.

Chapter 10: Building 3D Games and Wii

Summary: Building games is great fun and in this chapter you learned the basics of building game systems, which include game states and multi-levels. This chapter explored two different games: pool “shooting” and pong. In the pool game you learned to build an entire game system based on Flex View States. And in the pong game you learned to build a multi-level Wii controlled game. Both games were built in Flex, but the Pong game could have easily been built in Flash since it’s an ActionScript package. You built bounding boxes for your games by hacking the Jiglib PV3D plugin class and created a skybox.

Chapter 11: Integrating the Flash Media Server

Summary: Creating Rich Internet Applications has long been the goal of Macromedia (now Adobe). An integral part of that has been using the Flash Media Server to create interactive web experiences. In this chapter, you learned how to get your users interacting with 3D objects using remote shared objects. You also created the starter code for a slot car racing game. Finally, you examined alternatives to the FMS such as Red 5, Wowza, and the Flash Collaboration Service.

Chapter 12: Developing 3D Websites

Summary: In this chapter you converted the CSIS 2D site to a 3D site. You created custom tree, cloud, and collage classes and built a 3D navigation system from scratch using PV3D components. You examined a few importing reality checks when it comes to building websites: using a design doc, learning Photoshop, and combining 2D with 3D to get an optimized 3D experience. Finally, you learned how to optimize your website for search engines by adding html text to your html-swf wrapper file and by using the SWFObject.

Chapter 13: Making 3D Movies

Summary: This chapter highlights one of the greatest challenges developers face today-the rapid change in programming architecture and platforms. This was demonstrated by building the Seven Revolutions project from the previous chapter in Flash CS4. Next, Flash Catalyst and its integration into Flash Builder were examined. Finally, the new Animate Super Effects class was used to create a panel animation, Photoshop3D was examined, and a PV3D animation engine which saves its results to the DOM developed.

Chapter 14: Taking Virtual Tours

Summary: As technology advances, Virtual Reality is playing a key role. In this chapter you examined the using VR in the military, using augmented reality, and building 3D worlds. The majority of the chapter treated augmented reality using the FLARToolkit which was created by Saqoosha. Saqoosha’s starter kit code was examined and extended to create PV3D BasicView starter code. Using this starter code a number of items were imported in FLAR including the Jiglib pong game created in the chapter on games.

Chapter 15: Adding Services

Summary: In this chapter you learned to hook up Web Services using Flash Catalyst and Flash Builder. You built a Twitter viewer, Weather checker, Flickr picker, and CNN news reader. Flash Builder has a full range of data connectivity options…WSDL, PHP, Coldfusion, BlazeDS, and LCDS. This makes data connectivity easier and gives you more time for creative development.

Chapter 16: Exploring Flash 10 and Beyond

Summary: Flash 3D coding has come a long way, and over the next few years will transcend even optimistic expectations.  In this chapter you scratched the surface of such technologies by rebuilding your 3D pool “shooting” game in Flash Catalyst, and visiting a number of CS4 rendering examples.