俺が独自に改造し、自分のコンテンツで使っていたMetasequoia.asを、本家Metasequoiaのbranchesとしてコミットしてみた。含有物は
- Metasequoia.as
- 独自改造済みMetasequoia。以下の機能を持つ
- ZipLoaderを使用し、zipファイル内のモデルを読み込める
- Mouse3Dのイベント検知を、メタセコイア内のオブジェクト単位で判別できる
(腕をクリックした場合、イベントのターゲットが腕のみになるなど) - MetasequoiaMaterialを使用し、透明マップを読み込める
- アニメーション用連番mqoファイル読み込み時にマテリアルの多重読みを避けるために、他のモデルからマテリアルを流用できる
- MetasequoiaMaterial.as
- 模様マップの他に透明マップを読み込んで合成する機能を持つ、Metasequoia用マテリアルクラス
- ImageManager.as
- MetasequoiaMaterialで使用している、URLをキーにしてキャッシュしたり、tgaやbmpをデコードする機能も持つ画像管理用クラス
- ImageManagerEvent.as
- ImageManager.as用のイベントクラス
- AnimationMetasequoia.as
- 「FLARToolKitの不思議な力で『初音ミクがウッーウッーウマウマ(゚∀゚) 』をあなたに届けたよ!」などで使用した、連番mqoファイルを読み込んでアニメーション表示させるためのクラス
- AnimationMetasequoiaEvent.as
- AnimationMetasequoia.as用のイベントクラス
- DisplayObject3DTreeDataDescriptor.as
- メタセコビューワに使用している、DisplayObject3D内の木構造を表示するためのTreeDataDescriptorクラス
で、依存関係として「BMPDecoder」と「ZipLoader」が必要。また、本家の方の「TGADecoder」も使ってる。と言うわけで、使いたい場合は以下の手順で。
- 「http://www.libspark.org/svn/as3/Metasequoia」をチェックアウトする。
- 「http://www.libspark.org/svn/as3/BMPDecoder」をチェックアウトする。
- 「http://www.libspark.org/svn/as3/ZipLoader」をチェックアウトする。
- 以下4箇所をクラスパスに加える。
- Metasequoia\src
- Metasequoia\branches\tarotarorg\src
- BMPDecoder\src
- ZipLoader\src
あと、import
する時は、
- import org.tarotaro.flash.pv3d.Metasequoia;
てな感じでクラスごとにしないと、本家のMetasequoia.asと干渉するだろう。