ホーム > Papervision3d > Papervision3d はじめの三歩 テクスチャ(3)

Papervision3d はじめの三歩 テクスチャ(3)

2009 年 5 月 15 日 コメントをどうぞ コメント
Base64 + ということでしたが、.drawがうまくいかないようなので、
wonderFulに張り付けるのをあきらめ、今回はふつーにテクスチャーを貼り付けたいと思います。
もうタイトル関係ないですね。



BitmapMaterialの引数にBitMapDataを指定してやるのがみそですねえ。
bmm.smoothをtrueにすると回転などでおこる画像のぎざぎざがスムーズになるらしいです。

			var bmm:BitmapMaterial = new BitmapMaterial(bmp);
			bmm.doubleSided = true;
			bmm.smooth = true;
			_plane = new Plane(bmm, 100, 100, 3, 3);



たぶんこの方法より、BitmapFileMaterialを使った方が外部画像を使用する場合はお得かと思います。

package myproject
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Loader;
    import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLRequest;
	import org.papervision3d.materials.BitmapMaterial;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;
 
    public class Index extends Sprite
    {
		private var _plane:Plane
        public function Index():void 
        {
 
			var loader:Loader = new Loader();
			var urlReq:URLRequest  = new URLRequest("img/ramen1.JPG");
 
			if (stage != null) {
				loader.load(urlReq);
				loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
			}
        }
 
		private function completeHandler(e:Event):void 
		{
			e.target.removeEventListener(Event.COMPLETE, completeHandler);
			this.addChild(e.target.loader);
			var bmp:BitmapData = new BitmapData(100, 100);
			bmp.draw(e.target.loader);
			var bm:Bitmap = new Bitmap(bmp);
			bm.x = 100;
			bm.y = 100;
			addChild(bm);
			var bmm:BitmapMaterial = new BitmapMaterial(bmp);
			bmm.doubleSided = true;
			bmm.smooth = true;
			_plane = new Plane(bmm, 100, 100, 3, 3);
			var basicview:BasicView = new BasicView();
			basicview.scene.addChild(_plane);
			basicview.startRendering();
			addEventListener(Event.ENTER_FRAME, enterFrameHandler);
			addChild(basicview);
 
		}
 
		private function enterFrameHandler(e:Event):void 
		{
			_plane.rotationX += 2;
		}
    }
}



Bookmark and Share

関連する投稿

  1. コメントはまだありません。
  1. トラックバックはまだありません。