HomeMenu
Jesus · Bible · HTML · CSS · JS · PHP · SVG · Applications

Camera3D

Camera3D is the point of view within the 3D environment.

Example

Camera3D

Instructions

  1. Import
    import org.papervision3d.cameras.Camera3D;
  2. Declare
    private var camera :Camera3D;
  3. Initialize
    camera = new Camera3D(fov, near, far, useCulling, useProjection);
    ParameterDefaultDescription
    fov60field of view vertical degree
    near10clipping plane near distance
    far5000clipping plane far distance
    useCullingfalsecull objects outside view
    useProjectionfalseprojection matrix

Code

package
{
    import flash.display.Sprite;
    import flash.events.Event;

    import org.papervision3d.cameras.Camera3D;
    import org.papervision3d.materials.ColorMaterial;
    import org.papervision3d.objects.primitives.Plane;
    import org.papervision3d.render.BasicRenderEngine;
    import org.papervision3d.scenes.Scene3D;
    import org.papervision3d.view.Viewport3D;

    public class Papervision3DCamera3D extends Sprite
    {
        private var scene     :Scene3D;
        private var camera    :Camera3D;
        private var viewport  :Viewport3D;
        private var renderer  :BasicRenderEngine;
        private var material  :ColorMaterial;
        private var material2 :ColorMaterial;
        private var material3 :ColorMaterial;
        private var object    :Plane;
        private var object2   :Plane;
        private var object3   :Plane;
        private var angle     :int = 0;

        public function Papervision3DCamera3D()
        {
            scene = new Scene3D();

            camera   = new Camera3D();
            camera.z = -1000;

            viewport                  = new Viewport3D();
            viewport.autoScaleToStage = true;
            addChild(viewport);

            renderer = new BasicRenderEngine();

            material             = new ColorMaterial(0x000000);
            material.doubleSided = true;

            material2             = new ColorMaterial(0xff0000);
            material2.doubleSided = true;

            material3             = new ColorMaterial(0x00ff00);
            material3.doubleSided = true;

            object = new Plane(material);
            scene.addChild(object);

            object2   = new Plane(material2);
            object2.z = 1000;
            scene.addChild(object2);

            object3   = new Plane(material3);
            object3.z = -1000;
            scene.addChild(object3);

            addEventListener(Event.ENTER_FRAME, handleEnterFrame);
        }

        private function handleEnterFrame(e:Event):void
        {
            camera.orbit(90, angle++);

            renderer.renderScene(scene, camera, viewport);
        }
    }
}

Download