Zurück   Flashforum > Software > 3D

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 02-03-2010, 23:51   #1 (permalink)
Neuer User
 
Registriert seit: Dec 2007
Beiträge: 2
[pv3d] Video auf mehrere Cubes mappen

Hallo zusammen!

Der Plan:
Ich konstruiere ein grid aus mehreren cubes (ca. 5x10 cubes).
Auf diese möchte ich nun ein Video mappen, das sich über die gesamte Fläche der cubes ausstreckt. Das betreffende Videoteil soll auf alle Seiten des betreffenden cube gemappt werden.

Nach stundenlangen google-Sessions habe ich leider noch keinen Ansatz gefunden


Hier der Code, wie ich das grid konstruiere und versucht habe, das Video zu mappen (leider mehrmals dasselbe Video, nicht mehrere Teile desselben):

Code:
package
{
	import flash.display.Sprite;
	import flash.events.Event;
	
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.materials.MovieMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.primitives.Cube;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.render.LazyRenderEngine;
	import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.view.Viewport3D;
	
	[SWF(width="640", height="480", frameRate="30", backgroundColor="#ffffff")]
	
	public class QuadGrid extends Sprite
	{
		private var scene:Scene3D;
		private var view:Viewport3D;
		private var camera:Camera3D;
		private var lre:LazyRenderEngine;
		
		private var p:Plane;
		private var c:Cube;
		private var con:DisplayObject3D;
		
		private static const GRID_COLS:int = 2;
		private static const GRID_X_SPACING:Number = 70;
		private static const CENTER_X_OFFSET:Number = GRID_COLS * GRID_X_SPACING / 2 - GRID_X_SPACING / 2;
		
		private static const GRID_ROWS:int = 2;
		private static const GRID_Y_SPACING:Number = GRID_X_SPACING;
		private static const CENTER_Y_OFFSET:Number = GRID_ROWS * GRID_Y_SPACING / 2 - GRID_Y_SPACING / 2;
		
		private var v:Vid;
		
		public function QuadGrid()
		{
			v = new Vid();
			v.vid.source = "../assets/TestVid.m4v";
			
			init3D();
			addEventListener(Event.ENTER_FRAME, loop);
		}
		
		private function init3D():void
		{
			scene = new Scene3D();
			camera = new Camera3D();
			view = new Viewport3D();
			lre = new LazyRenderEngine(scene, camera, view);
			
			con = new DisplayObject3D();
			createGrid();
			scene.addChild(con);
			
			addChild(view);
		}
		
		private function createGrid():void
		{
			for(var i:int = 0; i < GRID_COLS; i++)
			{
				for(var j:int = 0; j < GRID_ROWS; j++)
				{
					var mat:MaterialsList = new MaterialsList();
					mat.addMaterial(new MovieMaterial(v, false, true), "all");
					
					var cube:Cube = new Cube(mat);
					cube.name = "cube_" + i + "_" + j;
					
					cube.scale = 0.1;
					cube.x = i * GRID_X_SPACING - CENTER_X_OFFSET;
					cube.y = j * GRID_Y_SPACING - CENTER_Y_OFFSET;
					
					con.addChild(cube);
				}
			}
		}
		
		private function loop(e:Event):void
		{
			lre.renderScene(scene, camera, view);
		}
	}
}
Vielleicht einfacher: das Projekt als zip hier: geht-steil.de/temp/QuadGrid.zip


Bin für jede Anregung dankbar!
Cheers, derdani
derdani ist offline   Mit Zitat antworten
Alt 03-03-2010, 00:59   #2 (permalink)
Neuer User
 
Benutzerbild von andrelehnert
 
Registriert seit: Oct 2007
Ort: Kölle
Beiträge: 1.226
MovieMaterial hat die Fähigkeit, MovieClips auf 3D-Objecten darzustellen - aber nicht Videos.
Du müsstest das Video mit ner netConnection auf den MovieClip bringen, den Du dann als Material mapst.

Hab das mal mit nem einzelnen Würfel gemacht und fast jede CPU in die Knie gezwungen (flüssig lief der Film nie) -
also bei 50 Cubes in der Größe - keine Chance mit Flash! Das musst Du vorproduzieren.


LG ANdré
__________________
Die Hoffnung stirbt zuletzt.
Aber sie stirbt.
andrelehnert ist gerade online   Mit Zitat antworten
Alt 03-03-2010, 23:10   #3 (permalink)
Neuer User
 
Registriert seit: Dec 2007
Beiträge: 2
Hi André,

vielen Dank für Deine Antwort!
Damit ist der Echtzeit-Gedanke definitiv gestorben.

Bin noch ein ziemlicher 3d-Noob – kannst Du mir grob erklären, wie ich das am Besten vorproduzieren kann?
Video direkt im 3d-Tool meiner Wahl als Videotextur auf die ganzen Würfel mappen und das gesamte Model dann als Collada in PV3D reinladen?

Cheers, derdani
derdani ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kommunikationsdesign (Mappen) Raycer Am Rande 12 02-04-2011 04:35
Papervision - ermitteln welche Seite eines Cubes die Kamera anschaut Nikolai ActionScript 3 11 11-01-2010 11:20
Papervision: mehrer Cubes a la CoverFlow anordnen steff@MA ActionScript 3 4 07-01-2009 10:21
Geokoordinaten auf eigenen Landkarte mappen hoisa Flash Einsteiger 0 26-02-2008 14:33
Flashfilm auf Google earth mappen sonderformat Zusatzprodukte 0 31-05-2006 12:28


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:31 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele