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

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

HOME > Flash

■Flash

  1  

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)を配置しております。
Posted by Benjamin | Flash  その他  

Papervision3DでCOLLADA形式(.dae)表示(フリーソフトで・・・)

先日の投稿「COLLADA形式への書き出し方法」でも触れたPapervision3D(とCOLLADA形式)に関してもう少し詳しくご紹介したいと思います。

Alternative content

Get Adobe Flash player



Papervision3Dとは、Flash(ActionScript2.0及びActionScript3.0)で使用できる3Dライブラリで、MITライセンスによって配布されています。Papervision3Dには元々プリミティブ・オブジェクトととして、Plane(板)やCube(立方体)、Sphere(球体)など数種類のオブジェクトが用意されています。しかしそれだけではつまらないのでオリジナルの形状を表示させたいと思う方、多いのではないでしょうか?3Dソフトで作成したオリジナルのオブジェクトをこのPapervision3Dで扱うためには、COLLADA形式(.dae)へのエクスポートが必要です。そこで登場するのが"Blender"。無料でありながらCOLLADA形式へ書き出し可能!私もこの件でBlenderを知り使うようになりました。
フリーソフトでも非常に優秀なActionScriptエディター「FlashDevelop」
まずは、作業環境を整えます。Flashにおけるスクリプト言語ActionScriptを扱うためには、もちろんFlashがあればそれに越した事はありませんが、フリーソフトでも非常に優秀なFlashDevelopというActionScriptエディターがありますのでご安心を・・・。インストール方法など詳しくは「flashdevelop.jp」をご覧ください。私もFlashに関してMac版しか所有していないため、Windows環境ではこのFlashDevelopに大変お世話になっております。しかもこのFlashDevelop、Flashよりも優れている点もあります。もちろん無料というのはとてもありがたい点ですが、他にもエディターとしての補完機能はプロの方々も愛用しているのがうなづける程すばらしく、優れている点の1つです。

あとは、3Dライブラリ"Papervision3D"を用意するだけです。ダウンロードはこちらからどうぞ。因みに私が使用しているバージョンは2.0。現在バージョン2.1が公開されておりますが、当方では未確認のため悪しからず・・・。ダウンロードしたデータを解凍後、任意の場所へ保存します。今回はFlashDevelopをインストール時に作成したフォルダ内のsrcフォルダへダウンロードデータ内のorgフォルダを移動。

・・・という事で環境は整いました。では、次回FlashDevelop上での記述方法をご紹介します。

> Papervision3DでCOLLADA形式(.dae)表示〈記述方法〉へ続く
Posted by Benjamin | Flash  その他  
  1  

プロフィール

続きを読む

プロフィール画像

Handle : Benjamin

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

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