Blender・六角大王Superを中心とした3DCG制作~各ソフトの使い方(チュートリアル)や作品紹介~Project-6B(6B計画)

Project-6B(6B計画)by Benjamin
可変グリッド
サイト内検索
検索ワードを入力し、ボタンをクリック!
  • ホーム
  • Blender(ブレンダー)
  • 六角大王Super
  • その他
  • 無料素材ダウンロード
  • プロフィール
  • 作品紹介

HOME > Flash その他 > Papervision3DでCOLLADA形式(.dae)表示〈記述方法〉

ブログ記事

Papervision3DでCOLLADA形式(.dae)表示〈記述方法〉

日産FAIRLADY (フェアレディ)ZのCollada形式(.dae)サンプルデータ
先日投稿した「Papervision3DでCollada形式(.dae)表示(フリーソフトで・・・)」でActionScriptを扱うための作業環境が整ったところで、今回は具体的な記述方法のご紹介です。とりあえずサンプルとして日産FAIRLADY (フェアレディ)Z[Z34]のCollada形式(.dae)データを用意しました。
一応今回使用するCOLLADA形式サンプルデータを「無料素材ダウンロード」ページにて配信しております。大した物ではありませんが、もしよろしければご活用ください。

という事で記述は下記の通りです。
 
//Sample.as

package {
	import flash.display.*;
	import flash.events.*; 
	
    //Papervision3Dライブラリ読み込み
    import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.cameras.*;
	import org.papervision3d.view.*;
	import org.papervision3d.render.*;
	
	import org.papervision3d.materials.*;
    import org.papervision3d.objects.*;
	import org.papervision3d.objects.primitives.*;
    import org.papervision3d.objects.parsers.DAE;
	
    [SWF(backgroundColor="0x000000", frameRate=30)]
	
	public class Sample extends Sprite{
		
		public var _scene:Scene3D = new Scene3D(); 
		public var _camera:Camera3D = new Camera3D(); 
        public var _viewport:Viewport3D = new Viewport3D(480, 420); 
		public var _renderer:BasicRenderEngine = new BasicRenderEngine();; 
        
        //マテリアル(ワイヤーフレーム)を定義
		public var _wireMT:WireframeMaterial = new WireframeMaterial(0x999999, 1);
        
		//板状オブジェクトを定義
		public var _planeSize:int = 600;
        public var _planeSegment:int = 8;
		public var _plane:Plane = new Plane(_wireMT, _planeSize, _planeSize, _planeSegment, _planeSegment);
		
		//DAE(collada形式)オブジェクトを定義
		public var _collada:DAE = new DAE();
     
        public function Sample(){ 
            //カメラの設定
			_camera.focus = 50;
            _camera.zoom = 10;
			_camera.x = 0;
			_camera.y = 300;
			_camera.z = -_planeSize;
			_camera.target = _collada;
			
			//裏面マテリアル表示の有無
			_wireMT.doubleSided = true;
			
			//板状オブジェクトの設定
			_plane.y = -10;
			_plane.rotationX = 90;
            
			//DAE(collada形式)オブジェクトの設定
			_collada.load('z34_a.dae');
			_collada.scale = 50;
			_collada.x = 0;
			_collada.y = 0;
			
			_scene.addChild(_plane); 
			_scene.addChild(_collada);
			
			addChild(_viewport);
            addEventListener(Event.ENTER_FRAME, Handler); 
        } 
     
	    public function Handler(evt:Event):void { 
			//DAE(collada形式)オブジェクトを回転
			_collada.rotationY += 1; 
			
            _renderer.renderScene(_scene, _camera, _viewport); 
        }
    }
}

3DCGに増してFlashは初心者のため、正直よく解っておりませんがとりあえずこんな感じです。色々なWebサイトを参考にさせていただきましたが、結構皆さん記述方法が異なるためこれで良いのか定かではありません。悪しからず・・・。
Papervision3Dの仕組み
私が見たところPapervision3Dの仕組みはこんな感じのようです。"Scene"上にオブジェクトを配置し"Camera"で撮る。"Viewport"はそれらを映し出すモニターのようなモノ。・・・といった感じです。

Alternative content

Get Adobe Flash player



という事で実際にswfへパブリッシュしたデータがこちらです。Y軸を中心に回転するFAIRLADY-Z(.dae)の下にプリミティブ・オブジェクト(Plane)を配置しております。
Flash  その他  | Posted by Benjamin

プロフィール

続きを読む

プロフィール画像

Handle : Benjamin

お問合せ
月別アーカイブ
RSSアイコン
ご注意

当Webサイトの掲載情報、コンテンツをご利用いただく場合は、ご本人の自己判断・自己責任においてご利用くださいますようお願い申し上げます。
当サイトおよびリンクされている別サイトの利用によって生じたトラブルや損害についての一切の責任を負いかねますのでご容赦ください。