uv

Moving a Texture inside of a Plane

Saturday, May 23rd, 2009 | examples | Comments

This examples shows how to update the uvs on a plane which results in an image scrolling vertically on the plane. As you can see from the code, we’re only updating the v’s. If you want the image to move hortizontally, try swapping the v’s with u’s :)


source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
package
{
	import flash.display.Bitmap;
	import flash.events.Event;
 
	import org.papervision3d.core.geom.renderables.Triangle3D;
	import org.papervision3d.core.proto.MaterialObject3D;
	import org.papervision3d.materials.BitmapMaterial;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="900", height="480", backgroundColor="#000000", frameRate="31")]
	public class MovingATexture extends BasicView
	{
		[Embed(source="assets/image.jpg")]
		private var bannerAsset:Class;
 
		private static const IMAGE_WIDTH:Number = 900;
		private static const IMAGE_HEIGHT:Number = 480;
 
		private var plane:Plane;
 
		public function MovingATexture()
		{
			super(900, 480);
			opaqueBackground = 0x000000;
 
			var bitmap:Bitmap = new bannerAsset() as Bitmap;
			var bitmapMaterial:MaterialObject3D = new BitmapMaterial(bitmap.bitmapData, true);
			bitmapMaterial.doubleSided = true;
			bitmapMaterial.tiled = true;
			plane = new Plane(bitmapMaterial);
 
			scene.addChild(plane);
 
			startRendering();
		}
 
		override protected function onRenderTick(event:Event=null):void
		{
			plane.yaw(1);
 
			for each(var triangle3D:Triangle3D in plane.geometry.faces)
			{
				triangle3D.uv0.v += .01;
				triangle3D.uv1.v += .01;
				triangle3D.uv2.v += .01;
			}
 
			BitmapMaterial(plane.material).resetUVS();
 
			super.onRenderTick(event);
		}
	}
}

Tags: ,

Search

Recommended Books

Speaking at FITC Toronto

 

September 2010
M T W T F S S
« May    
 12345
6789101112
13141516171819
20212223242526
27282930  

Preferred Video Tutorial Resolution

  • 1024x768 (53%, 85 Votes)
  • 1280x1024 (15%, 24 Votes)
  • 1920x1080 (15%, 24 Votes)
  • 800x600 (13%, 20 Votes)
  • 480x320 (4%, 6 Votes)
  • 640x480 (0%, 2 Votes)

Total Voters: 160

Loading ... Loading ...