アーカイブ

‘Texture’ タグのついている投稿

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;
		}
    }
}

Papervision3d はじめの三歩 Base64 + テクスチャ(2)

2009 年 5 月 13 日 コメントはありません
Base64エンコードした画像をBitmapDataにdraw使用したんですけど、
どーしても上手くいかなかった;;。
そしてごちゃごちゃやってるうちにコードがどんどん汚くなってしまいましたw
んで、おそらくBase64エンコードした画像は外部ドメインの画像を読み込む時と同じような現象で、
drawできなくなっているんじゃないかと思います。


セキュリティー的に怒られてない?から違うのかな?
内部で生成してるから怒られるのはずがないのかなーなんておもったけど。。
どうなんでしょう。


Papervision3d はじめの三歩 Base64 + テクスチャ(1)

2009 年 5 月 8 日 コメントはありません
今度は、画像を貼り付けようと思ったのだけど、Wonderflで画像を使いたい場合って、
確かClockさんがBase64エンコードを使ってスクリプトの中に画像を埋め込むってエントリー書いていたなーと思いだし、
それを見ながら作成。

そして、あほあほな僕は、Base64のエンコードどうやってやんだと迷い検索しまくっていたが、
Clockさんが書いてあるとおり、2009-3-14 選んだファイルを Base64 エンコードする
を華麗にスルーしたため、無駄に時間を費やす。

とりあえず、画像を用意Base64エンコードをやってみよう!!
続きを読む…