してみた
サンプルとかをいじって作った
立方体にカメラの画像を出してみた
こんな感じ
Papervision3D CameraCube
http://labs.un-q.net/as3/papervision3d/cameracube/

なかなかおもしろそーですが、、、むずかしそーですね。
そーす
package {import flash.display.*;
import flash.events.*;
import flash.media.Camera;
import flash.media.Video;// Import Papervision3D
import org.papervision3d.scenes.*;
import org.papervision3d.objects.*;
import org.papervision3d.cameras.*;
import org.papervision3d.materials.*;
import org.papervision3d.events.*;public class CameraCube extends Sprite {
private var video:Video;
private var camera:Camera;
private var bd:BitmapData;private var container:Sprite;
private var scene:Scene3D;
private var camera3d:Camera3D;
private var rootNode:DisplayObject3D;
public function CameraCube() {trace("-------- Camera3D strat ----------");
stage.quality = "MEDIUM";
stage.scaleMode = "noScale";
stage.align = StageAlign.TOP_LEFT;
init3D();
}
private function init3D():void {camera = Camera.getCamera();
if (camera == null) {
trace("not camera");
return;
}video = new Video(camera.width * 2, camera.height * 2);
video.attachCamera(camera);bd = new BitmapData(video.width, video.height);
container = new Sprite();
addChild(container);
container.x = 300;
container.y = 200;// create scene
scene = new Scene3D(container);// create camera
camera3d = new Camera3D();
camera3d.x = 3000;
camera3d.z = -300;
camera3d.zoom = 25;
camera3d.focus = 100;// roootNode
rootNode = scene.addChild(new DisplayObject3D("rootNode"));var p0:DisplayObject3D = rootNode.addChild(new Plane(new BitmapMaterial(bd), 300, 300), "p0");
var p1:DisplayObject3D = rootNode.addChild(new Plane(new BitmapMaterial(bd), 300, 300), "p1");
var p2:DisplayObject3D = rootNode.addChild(new Plane(new BitmapMaterial(bd), 300, 300), "p2");
var p3:DisplayObject3D = rootNode.addChild(new Plane(new BitmapMaterial(bd), 300, 300), "p3");
var p4:DisplayObject3D = rootNode.addChild(new Plane(new BitmapMaterial(bd), 300, 300), "p4");
var p5:DisplayObject3D = rootNode.addChild(new Plane(new BitmapMaterial(bd), 300, 300), "p5");// Bottom
p0.rotationX = 90;
p0.y = -150;
// Side
p1.rotationX = 180;
p1.z = 150;// Top
p2.rotationX = -90;
p2.y = 150;// Side;
p3.z = -150;// back
p4.rotationY = 90;
p4.x = -150;// front
p5.rotationY = -90;
p5.x = 150;addEventListener(Event.ENTER_FRAME, loop3D);
}
private function loop3D(e:Event):void {rootNode.rotationX++;
rootNode.rotationY++;scene.renderCamera(camera3d);
bd.draw(video);
}
}
}



