Intertactive 3D Cube with Dynamic Textures

April 30, 2010


We are moving along with assignment 2 of chapter 2 of Professional Papervisoin3D. And in the first video below you learned how to build the standard Papervision3D class presented  in Chapter 2. And in the next three videos you learned how to use BasicView to build an interactive cube with dynamic textures. Dynamic means that you can change the textures while the program is running just by clicking on them.

PV3D Class

The Papervision3D Class PV3D Book

BasicView Interactive Cube Part 1

Building an Interactive Cube Part 1

BasicView Interactive Cube Part 2

Interactive Cube Part 2

To see the code for the interactive cube Part 1 click the link below:

Read the rest of this entry »

Tips for Optimizing 3D Web Games Part 1 and 2

April 22, 2010

Intro Optimizing 3D Web Games

In this video tutorial set your learn the tricks to optimizing 3D Games for the web.

Videos 1 and 2

Tips for Optimizing 3D Web Games Part 1

Tips for Optimizing 3D Web Games Part 2

Optimization Notes

Tips for Building 3D Games for the Web

3Games – qball (chapter 12), footBall, bowling buddies
elegantly simple and highly addictive

  1. Good news everything is getting faster
    Hey we are native now!
  2. What about cache – careful where you
    put your passwords!!!
  3. A Few Optimization Tips:
    Viewport size
    Unprojection vs Jiglib
    Sprites plus 3D
    Vertice Number
    Stage Quality

Video 2: Image Tricks

Optimize your images (the designer developer war)
— Photoshop export for the web!
Avoid Transparency
Mip map your images (2, 4, 8, 16, …1024
Reduce Viewport size (1/3rd + 2/3rd rule)

Count Vertices!!!
Combine low polygon with good sound!!!
This gives a real feel effect.

  • Book List from Chapter 10 Professional Papervison3D
  1. Viewport size-as mentioned earlier rendering your 3D objects to the stage is about 2/3rds of the CPU work. Whenever you can reduce viewport size this lessens the amount that needs to be rendered. So bring your viewport down to the point that you do not diminish game play. In the shooting game this has already been done. But when you design your next game keep this in mind. If you need to fill the entire screen do it with some static graphics.
  2. Transparency-transparency is real CPU killer in PV3D. So in the pool game, get rid of your transparent bounding box material and add a line3D outline instead. It’s not as cool but it’s faster. You’ll have to do a little reprogramming of the PV3D plugin and create a line3D bounding box class to accomplish this.

  3. Movie Clip Animation-Movie clips are expensive items on your CPU-they carry a lot of overhead. You can use a frame ripper instead, which cycles individual bitmaps, or just use a single graphic.

  4. Mipmap all your Graphics and Filters-you’ve already done this for the pool game, but keep this in mind as you create other games in the future.

  5. Use Solid Colors When Possible-whenever possible exchange your texture colors with a solid color. In the case of the pool game, you can dump all your ball textures for solid colors. However, this may save some resources, but it’s guaranteed to make your game look ugly. Use this option sparingly.

  6. Reduce Vertices Number-reducing vertices can make a big difference. For example, if your balls are 8×8 and you reduce them to 8×6 you’ve saved 16 vertices per ball or a total of 160 vertices for 10 balls. It adds up, so whenever possible bring your vertex count down.

  7. Drop the Bullet Imprint-adding more bitmap material slows your processor; dropping the bullet imprint will save some CPU resources.

  8. Drop the Spring Camera-the spring camera requires a few extra iterations and substituting in a Camera3D in this case will make little difference on how your game looks and performs.

  9. Remove tracer filters, line blur, and panel drop shadows-removing drop shadow from your panel will not change much, but removing the line trace blur filter will since you’re generating it every time you shoot.

  10. Remove the tracer line or replace it with a recycling particle or bitmap. The problem with line material in PV3D is that it accumulates in memory and even if you remove it properly, it still waits around for garbage collection. If you really need a tracer, use a recycling particle that doesn’t need to be removed from memory; another option is to use a bitmap.

  11. Drop the Skybox and add a simple background image. Skyboxes are beautiful but can add a serous lug to your game-especially if they are being moved often.

  12. Turn off scroll policies-in Flex, make sure that all scroll policies are turned off. Scroll bars require resources and turning them off saves on CPU resources.

  13. Keep stage quality low (stage.quality=”low”)-setting stage quality to a higher level will cause anti-aliasing to kick in, requiring a x2, or x4 iteration of every frame which is a significant processor hit. In most cases, keeping stage quality low doesn’t make a difference in appearance.

  14. Watch out for hidden background objects. Sometimes in game development objects are left invisible, layered in other objects, or left in the background. You might not see them, but your CPU does. So make sure that all unnecessary objects have been removed from your game.

Chapter2 Assignment 2 PV3D Book

April 21, 2010

Assignment 2

Here’s the class assignment for chapter 2 of Professional Papervision3D. You’ve got some reading to do, and few videos to watch.

Assignment Video

Assignment # 2: Chapter 2 Professional Papervision3D

Watch the following videos

Chapter 2: 3D Language (PV3D Book)


Chapter 2: Getting the Classes (PV3D Book)


Series on CS4 and PV3D

Reading Assignment Chapter 2 for Professional Papervision3D

Read the following sections in chapter 2.

Display Object3D

Running Papervision3D 4 Different Ways (Hello World)

Using Flash or Flex

Special note below !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Big change no longer using

pv3Canvas.rawChildren.addChild(viewport) in Flex

But using in Flash Builder using


<s:SpriteVisualElement id=”mySprite/>

Building Classes

Watch Getting Started with Classes 1 & 2

Formulating a Papervision3D Class

Jiglib Soccer Field Part 1 and 2

April 19, 2010

Intro Jiglib Soccer Field

In these two videos I demonstrate how to hack Jiglib to create a soccer field in PV3d. This goes along with Chapter 2, and now that you are a hacker. It’s time to charge on with the rest of the chapter.


Flash Jiglib Soccer Field Part 1

Flash Jiglib Soccer Field Part 2

Notes (Summary)

  1. Download Jiglib
  2. Prepare your PV3D ActionScript Project (in Flash Builder)
  3. Prepare your Jiglib base code
  4. Hack Jiglib
  5. Add your field
  6. A little touch of photoshop

Click the link below to see all notes and code for this video.

Read the rest of this entry »

Hacking Papervision3D (vidoes 1 – 7)

April 15, 2010

Intro: Hacking Papervision3D

In this seven part video series you learn to hack PV3D using the powerful error checking in Flash Builder. You’ll learn to remove the Number3D and Number2D classes form PV3D and use the native classes in the Flash Player.

Hacking Videos Removing Number3D

Chapter 2: Hacking Papervision3D Part 1

Chapter 2: Hacking Papervision3D Part 2

Chapter 2: Hacking Papervision3D Part 3

Chapter 2: Hacking Papervision3D Part 4

Chapter 2: Hacking Papervision3D Part 5

Chapter 2: Hacking Papervision3D Part 6

Hacking Videos Remove Number3D

Chapter 2: Hacking Papervision3D Part 7

In the class notes, you’ll find many of the Number3D math methods that are explained in the video. Understanding how these functions work will be essential for the rest of the book.

Click the link below to read the class notes:

Read the rest of this entry »

A Vision for Papervision3D (Unreal Engine 3)

April 11, 2010


In this post, you learn how to work with the Unreal Engine and how many of its design concepts can be used to enhance the present version of Papervison3D. As part of chapter 2 assignment, you create a laundry list of desired features for PV3D using Unreal as a model.


Part 1, Intro

Part 2, Terrains

Part 3, Terrains

Part 4, Skydomes

Part 5, Transporters

PV3D Wish List

The derived PV3D wish list is given below:

Part 1
Concepts…Gizmo’s, Pixel Bender Dynamic Lighting,
Content Browser with drag and drop properties
Part 2 and 3
Terrain and Object modeler in side of PV3D
(a vertex is a vertex)
Terrain Gizmo
Blend mode painting
Part 4
“Efficient” Skydomes/Skyboxes
with texture translation and partial dome
and drag and drop image properties

    Part 5

    Transporters are super fun and easy
    but you need a graphical programming
    interface to go along with all the fun.

You will address bringing Unreal Engine resources in PV3D in a later chapter. Click the link below to see the Unreal Assignment class notes.

Read the rest of this entry »

Away3d into Flash Builder – videos, source, notes

April 7, 2010


In fulfillment of your first assignment, you learn how to put Away3d into Flash Builder (as a Flex Project) and then enhance its interactivity using design view. The five part video series, source, and lecture notes are listed below:


Away3d into Flash Builder Part 1

Away3d into Flash Builder Part 2

Away3d into Flash Builder Part 3

Away3d into Flash Builder Part 4

Modifying Away3d Mesh Interactivity


Click Link Below to See Class Notes:

Read the rest of this entry »