PaperVision 3D Objecten
Objecten
Voordat ik naar primitives gaan, het is wel belangrijk dat we coordinaten begrijpen. Bij flash is het zo dat we vanuit linksboven x en y meten. Dus x=0 en y=0 is helemaal linksbovenhoek. En bij papervision is dat in het midden van scene3D met coordinaten van x=0, y=0 en z=0.
Nu we dat duidelijk hebben, ga ik verder met primitives. Primitives zijn standaard 3d modelen die al voorgemaakt zijn. Zoals cube, cilinder, cone, bal en plane. Omdat Plane het meest simpele primitive is, ga ik daarmee beginnen.
“Plane in PaperVision3D”
Plane is eigelijk geen 3d object omdat ie geen diepte heeft. Plane wordt meestal gebruikt bij bouwen van de muren of een vlake opervlaktes waar je heel makkelijk een interactie of een bitmap material kan toevoegen.
Laten we een starten met een voorbeeld
package{
import flash.display.Sprite;
import flash.events.Event;
import org.papervision3d.view.Viewport3D;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.objects.primitives.Plane;
import org.papervision3d.render.BasicRenderEngine;
public class PlanePV3D extends Sprite
{
private var viewport: Viewport3D;
private var scene: Scene3D;
private var camera: Camera3D;
private var material: ColorMaterial;
private var primitive: Plane;
private var renderer: BasicRenderEngine;
public function PlanePV3D():void
{
viewport = new Viewport3D(550, 400, false, true);
addChild(viewport);
scene = new Scene3D();
camera = new Camera3D();
renderer = new BasicRenderEngine();
material = new ColorMaterial(0x333333);
material.doubleSided = true;
primitive = new Plane(material, 200, 200, 3, 3);
scene.addChild(primitive);
addEventListener(Event.ENTER_FRAME, onEnterFrame);
}
private function onEnterFrame(e:Event):void
{
primitive.rotationY += 2;
renderer.renderScene(scene, camera, viewport);
}
}
}
Ok een simpele plane die gewoon in de midden geplaatst is.



