Adding a material to the plane.
In this section of the tutorial we'll create a MovieClip symbol and use it as a material for the rotating plane. I'll show you two methods of doing this. One involves creating the material on the stage and the other involves storing the material in the library and accessing it with Actionscript.
First of all we must draw our material. In select the rectangle tool and draw a coloured rectangle in the middle of the stage.
Select the rectangle and Right Click. Choose Convert to Symbol. Name the symbol Picture and ensure the type is set to Movie Clip and that the registration point is in the top left corner.
Select the rectangle symbol on the stage and in the Properties Panel set the instance name to myPicture.
Now drag the rectangle so that it is positioned off to one side of the stage. This prevents the symbol being seen when we play our Flash Movie - it will only appear on the rotating plane.
Next we need to amend our code to add the material to the plane.
First of all go to the section where we imported all the Papervision 3D classes and add this line of code to import the classes that handle materials.
import org.papervision3d.materials.*;
Next, find the line that creates the plane and replace it with the following lines of code.
var material:MovieMaterial = new MovieMaterial(myPicture); material.oneSide = false; var plane:Plane = new Plane(material,myPicture.width,myPicture.height);
The first line creates a material out of the MovieClip we created earlier.
The 2nd line makes it double sided.
The 3rd line creates a plane that uses the material and is the same width and height as the material.
Test your movie and you should see the symbol you created earlier rotating on the plane.
The symbol may look quite small compared to the plane we created earlier, but we can fix this my moving the camera closer to the rotating plane. The camera default position in -1000 on the z axis, so lets move the camera to position -500 on the z axis. Add the following line of code right at the end of the existing code - outside the curly braces.
camera.z=-500;
Here is a complete code listing at this stage.
import org.papervision3d.cameras.Camera3D; import org.papervision3d.render.BasicRenderEngine; import org.papervision3d.scenes.Scene3D; import org.papervision3d.view.Viewport3D; import org.papervision3d.objects.primitives.Plane; import org.papervision3d.materials.*;
var viewport:Viewport3D = new Viewport3D(stage.stageWidth,stage.stageHeight); var scene:Scene3D = new Scene3D(); var camera:Camera3D = new Camera3D(); var renderer:BasicRenderEngine = new BasicRenderEngine();
var material:MovieMaterial = new MovieMaterial(myPicture); material.oneSide = false; var plane:Plane = new Plane(material,myPicture.width,myPicture.height);
addChild(viewport); scene.addChild(plane); renderer.renderScene(scene, camera, viewport);
addEventListener( Event.ENTER_FRAME, loop);
function loop(event:Event):void {
plane.yaw(5);
renderer.renderScene(scene, camera, viewport);
}
camera.z=-500;
| » Level Intermediate |
|
Added: 2009-07-29 Rating: 9.6 Votes: 5 |
| » Author |
| Lecturer in Graphic Design at Carnegie College, Scotland. Specializes in interactive media. |
| » Download |
| Download the files used in this tutorial. |
| Download (253 kb) |
| » Forums |
| More help? Search our boards for quick answers! |
-
You must have javascript enabled in order to post comments.


Comments
There are no comments yet. Be the first to comment!