スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Flash でメタセコイアファイル表示させる

ActionScript の 3D ライブラリ Papervision3D (以下 PV3D)をいじくり中。
3D ソフトでモデリングしたデータを Flash で表示させたい。
PV3D は DAE ファイルは読み込めるようだけど DAE 形式にファイル変換するのがめんどい。
メタセコイアファイル(MQO)を読み込ませることができるライブラリが公開されてるのでそれを入れてみた。

FlashDevelop に外部ライブラリをインポートさせるやり方がよく分かってないので
そこら辺を試行錯誤しながらいじくったらなんか動いた感じ。

こんなのをメタセコイアで作って
FlashDevelop_prj01_06.png
それを Flash で表示させたらこうなった。
ブログには MQO ファイルをアップできないんで画像だけ貼る。
FlashDevelop_prj01_05.png
複数オブジェクトに材質も分けて付けているけど描画されているようです。
しめしめ。影やらはスクリプトで調整できるのかどうか。
これから調べるとしてとりあえず表示しただけで力尽きる。
これで自前のモデリングデータを Flash で動かしたりして遊べそうやけどが力尽きる。
簡単なゲームとかも作れるかもやけど力尽きる。
以下しょぼい解説兼備忘録。
製作環境:
・Adobe Flex Sdk 3.5.0.12683
・FlashDevelop 3.0.6 RTM
・Papervision3D 2.1.0.883

AS の組み方を学ぶより先に FlashDevelop のいじり方を理解しなければならんやったんで
やった事を載せておきます。後で忘れたとき用。

PV3D は使えるようになったとして、
次にメタセコイアを読み込む Metasequoia クラスをインポートさせる。
Metasequoia クラスを使うには他に TGADecoder.as と BMPDecoder.as が必要です。
二つはテクスチャ画像を読み込むクラスだと思われます。
これが分かるまでに一苦労。散々ネットを彷徨い歩く。
画像使わない場合は不要だけど、コードをいじらないといけないのでライブラリを入れる事にする。

ここからダウソできる。
Metasequoia.as
TGADecoder.as
BMPDecoder.as

FlashDevelop で外部ライブラリ入れるやり方はネットで検索すれば出てくる。
今回は三つの外部ライブラリだけなんで色々環境いじくって後で困るのいやだなぁと思い
自前プロジェクトの lib に外部ライブラリを置いてビルドできないか試す。

はじめに。
新規プロジェクトでプロジェクトを作る。
AS3 Project のテンプレートがあるのでそれを選択。
FlashDevelop_prj01_01.png

Project に lib フォルダが出来るんでその中にライブラリファイルを置くんだけど
その前に各クラスのクラスパス通りに lib 以下にフォルダを作る。
Metasequoia.as は org → libspark → pv3d
TGADecoder.as はさらに pv3d → decoders
BMPDecoder.as は com → voidelement → images
ライブラリ置くのはフォルダ右クリック → Library Asset
FlashDevelop_prj01_02.png

つぎにプロジェクトのプロパティを開いて lib フォルダへのクラスパス通す。
AddClasspath から lib 選ぶ。
FlashDevelop_prj01_03.png

そうすると lib 以下がこうなる。
FlashDevelop_prj01_04.png
ライブラリのファイル名が青文字になってたらクラスパスが通ってる。


準備完了。ガリガリプログラミング。
コードはこんなの。
package 
{
	import org.papervision3d.view.BasicView;
	import org.libspark.pv3d.Metasequoia;
	
	public class Main extends BasicView
	{
		public function Main():void 
		{
			// メタセコイア用のオブジェクト
			var myMqo:Metasequoia = new Metasequoia();
			myMqo.load("hogehoge.mqo", 1);
			this.scene.addChild(myMqo);
			
			this.camera.x = 300;
			this.camera.y = 250;
			this.camera.z = 300;
			
			startRendering();
		}
	}
}


表示させただけで力尽きる。とほほ。
なんかあんまり自信ないけどこれでビルドできたんで OK 牧場。
ウソがあったらごめん。

参考にしたサイト
Papervision3D 入門 > 第4回Papervision3Dで3D空間でキャラクターを動かす [高度情報技術科]
Metasequoia クラスで bmp ファイルのテクスチャを読み込む
スポンサーサイト

Trackback

Trackback URL
http://kmurai.blog52.fc2.com/tb.php/142-a5ca16bc

Comment

Meta | URL | 2012.03.19 22:20
この方法でメタセコイアサンプルを読み込もうとしましたが、画像の配置方法が解かりません。srcフォルダー内だと思いますがモット細かく教えてください。大変困っています。
わたし | URL | 2012.07.01 16:44
コメント書いてたのに消えてしまったようで再掲します。

> この方法でメタセコイアサンプルを読み込もうとしましたが、画像の配置方法が解かりません。srcフォルダー内だと思いますがモット細かく教えてください。大変困っています。

もう解決済みかもですが
画像はbinに置きまして
画像のパスを相対記述に書き直し
swf書き出しました。
Comment Form
公開設定

プロフィール

わたし

Author:わたし
ようこそ”わたし”のブログへ。頚椎損傷(C5)で電動車いすに乗ってます。
パソコンで作ったくだらない物とかその製作過程なんかを載せて行くような気がする。

カテゴリー
罪ほろぼし

最近の記事
ユーザータグ
最近のコメント
最近のトラックバック
月別アーカイブ
ブログ内検索
RSSフィード
リンク
このブログをリンクに追加する
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。