プロジェクションマッピング

エンターテインメントから工業利用まで、プロジェクションマッピングの活用・運用をお考えの方へ

more

インタラクティブ&サイネージ

情報表示用のデジタルサイネージから、センサーを利用したインタラクティブ要素などをお考えの方へ

more

VR/360MOVIE

VRHMD用コンテンツからプラットフォームを利用した360度ムービーを活用したPRをお考えの方へ

more
CONTACT 052-253-9866

Papervision3D vol.1「Papervision3D インストールから球体回転まで」

2010.04.14 水曜日 17:16:28

現在FLARToolkitを使って色々と開発をしていますが、
表現をより豊にクオリティを高くするためには、
Papervision3D をもう少し使いこなせないといけないなということで、
改めて1から勉強してみようと思い、メモがわりに勉強したことを残していきたいと思います。

今回は「Papervision3D インストールから球体回転まで」。

1.Papervision3Dのインストール

インストールは普通のソフトウェアと少し異なり、
SVNリポジトリからダウンロードする必要がありますので、
SVNクライアントをまずセットアップします。
クライアントを「svnX」からダウンロードします。

クライアントだけでは動かないので、「Martin Ott」からライブラリもダウンロード。
インストール後下記のようなウィンドウが出現します。

paperv01

Nameは任意の英文。Pathには以下のURLを入力して追加。

http://papervision3d.googlecode.com/svn/trunk/

リストに追加されたら、追加されたリストをダブルクリック。
ダウンロードのためのウィンドウが開きます。

paperv02

色々と入っていますが、今回はAS3での開発ですので、

http://papervision3d.googlecode.com/svn/trunk/as3/trunk

以下のファイルを任意の場所にダウンロード。
ダウンロードしたら、ディレクトリパスをFLASHの設定の
ActionScript3の設定からパスを設定。

以上で、インストールは完了です。

 

2.動作確認のために球体が回転するというデモを作成する。

paperv03

上記のようなオブジェクトをPapervision3D で表現します。
今回は外部asから読み込むような形で、コードを制作しました。
事細かくコメントアウトをしましたので、
ご参考までに御覧ください。

 

package{//<html>のようなもの外部からASを呼び出すときに必要
	
	//ここから必要な機能をインポート。import+機能で呼び出し。
	//アスタリスクは全ての命令という意味。
	//下記の場合はPV3Dのviewとpromitivesの機能全てをインポート。
	import flash.events.MouseEvent;
	import org.papervision3d.view.*;
	import org.papervision3d.objects.primitives.*;
	
	[SWF(backgroundColor = "#000000", width="400", height="300")]
  
	public class MyCube extends BasicView{
		//クラス名を指定 class名はasのファイル名と一致させること。
		//publicはどこからでも参照できるという意味。
		//extendsはその単語以下の機能を継承して使わしてもらうという宣言。
		//この場合はBasic viewの機能をこのクラスで使うという意味。
		//この機能は上記のimportで取り込んでおかないと使うことができない。
		//Basic view.asはディフォルトでカメラを設定してくれるクラス。
		
		
		//ここからコンストラクタ。コンストラクタはインスタンス
		//(オブジェクトの実体)を作り、インスタンスを初期化することにあります。
	  public function MyCube() {		  
		 
		 //半径300、縦40分割、横40分割の球体(Sphere)を作る
		var mySphere:Sphere = new Sphere(null,300,40,40);
		  
		  //シーンに配置
		  scene.addChild( mySphere );
			
		  //マウスイベントの定義
		  stage.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove);
		  
		  //レンダリング開始
           startRendering();
			  }
	  
	  //イベントの処理の設定-マウスの動きでインスタンスが回転
		private function onMouseMove(e:MouseEvent):void {
			var pitch:Number = -mouseY * 0.5;
			if (pitch >= 0)
				pitch = -0.1;
			camera.orbit(pitch, mouseX * 0.8);
		}
   }
} 

 

Authorブログの著者について
田中 義弘

田中 義弘

イベントプロダクション・グラフィックデザイナーを経て、2010年3月に株式会社アイデアクラウドを設立。近年、WEBから得た技術をベースに、プロジェクションマッピング事業をはじめとした先端事業をスタート。

フェイスブック
ツイッター
インスタグラム
Our Business
最近の記事
人気記事
Our Project

詳しく見る