眠る開発屋blog ある開発屋の雑感。日々勉強。

2009/4/4 土曜日

またFLARToolkit + WOWEngineとか

Filed under: 技術メモ — タグ: , — dev0000 @ 13:18:32

FLARToolkit + WOWEngineとか
の続き。

マーカー
Corocoro2.swf
Corocoro2.as

http://gihyo.jp/design/feature/01/flartoolkit/0003を参考にしたらだいぶんシンプルになった。

[actionscript]
private function _onEnterFrame(e:Event = null):void {

this._capture.bitmapData.draw(this._video);
if (this._detector.detectMarkerLite(this._raster, 80) && this._detector.getConfidence() > 0.5) {

this._detector.getTransformMatrix(this._resultMat);
this._baseNode.setTransformMatrix(this._resultMat);

var localRot:Matrix3D = Matrix3D.euler2matrix(new Number3D(0, 180, 90));
var rotMat:Matrix3D = Matrix3D.multiply3x3(this._baseNode.transform, localRot);

_rot = Matrix3D.matrix2euler(rotMat);

_ba.setRotation(0,0,_rot.z);
_wow.step();

_cube.rotationX = _rot.x;
_cube.rotationY = _rot.y;
_cube.rotationZ = _rot.z;
_cube.x = _baseNode.x;
_cube.y = _baseNode.y;
_cube.z = _baseNode.z;

_sphere.x = _baseNode.x + _particle.px;
_sphere.y = _baseNode.y + _particle.py;
_sphere.z = _baseNode.z + _particle.pz;

_sphere.visible = true;
_cube.visible = true;
} else {
_sphere.visible = false;
_cube.visible = false;
}
this._renderer.render();

}
[/actionscript]

2009/3/30 月曜日

FLARToolkit + WOWEngineとか

Filed under: 技術メモ — タグ: , — dev0000 @ 0:49:53

FLARToolKit スタートガイドのスクリプトを参考にして、
FLARToolkit + WOWEngine って感じで、箱の中をボールが転がるやつを作ってみました。

マーカー
Corocoro.swf
Corocoro.as

めんどくさいから、動画はなし。

ソースコードの一部だけど、試行錯誤したらこんな感じなってしまった。
座標の変換はもう少しお洒落に書けるんじゃないの?という気がする。
行列の計算とかよく分かってないし。

[actionscript]
private function _onEnterFrame(e:Event = null):void {
this._capture.bitmapData.draw(this._video);
if (this._detector.detectMarkerLite(this._raster, 80) && this._detector.getConfidence() > 0.5) {

this._detector.getTransformMatrix(this._resultMat);
this._baseNode.setTransformMatrix(this._resultMat);

_rot = Matrix3D.matrix2euler(this._baseNode.transform,_rot);

var rotz:Number = (int(_rot.z) – 180);
_ba.setRotation(0,0,rotz);
_wow.step();

var angle:Number = (-1 * rotz) * Math.PI / 180;
// var angle:Number = (1 * rotz) * Math.PI / 180;
var cos:Number = Math.cos(angle);
var sin:Number = Math.sin(angle);

_sphere.x = -(_particle.px * cos – _particle.py * sin) ;
_sphere.y = _particle.py * cos + _particle.px * sin ;
_sphere.z = _particle.pz;

this._baseNode.visible = true;
} else {
this._baseNode.visible = false;
}

this._renderer.render();

}

[/actionscript]

ってかね、WBoundAreaをぐるぐる回して、その結果から座標軸を算出するよりは、
WOWEngineのaddMasslessForceってところの重力定義を随時変更できれば楽なんだけどね。。。
いや、そうじゃなくて、WPlane で箱を作って、それを回せば、こんな無茶苦茶な計算は不要なのか、今気がついた。
何はともあれ、WOWEngineはぼちぼちver2が出るのだろうけど、もう少し枯れてきて欲しいとは思う。

といいますか、FLARToolkit + WOWEngine ネタだと、
Saqoosha.net::Adobe MAX 2009で公開されている ClothSimuDemo.as のソースコードのほうが分かりやすいよなぁ。。。
こっち見て作ればよかった。

[actionscript]
private function _onPreRender(e:Event):void {
if (checkInterrupted()) {
return;
}
for each (var v:Vertex in this._edge) {
var p:WSphere = WSphere(v.extra.physics);
var vi:Vertex = Vertex(v.extra.init);
this.multiplyVertex(this._ctx.arview.marker.transform, vi, this._tmp);
p.px = this._tmp.x;
p.py = this._tmp.y;
p.pz = this._tmp.z;
}
this._wow.step();
this._cloth.update();
this._cloth.updateNormal();
event(this._ctx.renderThread, RenderThread.PRE_RENDER, this._onPreRender);
interrupted(this._cleanup);
}

private function multiplyVertex(m:Matrix3D, vi:Vertex, vo:Vertex):Vertex {
var vx:Number = vi.x;
var vy:Number = vi.y;
var vz:Number = vi.z;
vo.x = vx * m.sxx + vy * m.sxy + vz * m.sxz + m.tx;
vo.y = vx * m.syx + vy * m.syy + vz * m.syz + m.ty;
vo.z = vx * m.szx + vy * m.szy + vz * m.szz + m.tz;
return vo;
}
[/actionscript]

2009/3/20 金曜日

WOW-Engineとか

Filed under: 技術メモ — タグ: — dev0000 @ 17:31:22

色々調べ中。

AS3 3D Physics Engine : WOW-Engine
3D物理演算エンジンWOWEngineとPapervision3D 2.0

FLARToolkit も含めて、覚えたほうがいいことが多そう。

2009/3/19 木曜日

マーカー2つとか

Filed under: 技術メモ — タグ: — dev0000 @ 1:33:50

ここのソースをいろいろごにょごにょやってみた。

FLARToolKit スタートガイド

マルチマーカの仕組みはあるっぽいんだけど、それはそれで置いておいて、
マーカーが2つでも意外といけそうな気がする。
(単純にFLARSingleMarkerDetector x 2)

DoubleMarker.as
DoubleMarker.swf
マーカー1
マーカー2

行列の変換を行えば、マーカー1を基準マーカーとして、そこにマーカー2の座標を変換するってこともできるっぽいんだけど、また今度やる。

2009/1/20 火曜日

Flexとか

Filed under: 技術メモ — タグ: — dev0000 @ 1:52:55

だいぶ周回遅れでFlex触ってみた。
FlexSDKは要はFlashKitのコマンドライン版か。
なんとなく理解。

CentOS5なら、
1.「yum install java」とかでjavaを入れる
2. 「FlexSDK」は無料配布されているので、適当に引っ張ってきて、解凍する。
3. /usr/local/flex とかディレクトリを作って、解凍した一式を放り込んでおく。
4. /usr/local/flex/bin に PATH を通す。
5. ActionScript でプログラムを書く。Hoge.as とか。
6. 「mxmlc Hoge.as」とかでコンパイル。Hoge.swf がたぶん生成されている。

あと、CS4に対応しているのは、Flex4SDKらしいのだけど、これはまだ開発中ってことになっているらしい。
途中のものはダウンロードできるらしいけど。

2009/1/19 月曜日

papervision3Dとか

Filed under: 技術メモ — タグ: , — dev0000 @ 2:15:15

papervision3Dってのを触っていたのですが、
ググっって出てくるサンプルが殆どうまく動作しないのはバージョン違いらしい。

Flash CS4体験版でpapervision3Dを試すがコンパイルエラーが出る

まぁCS4だとそもそも3D機能あるっていえばあるんだが。
でも、今ってFlexもあるわけなんだが、どっちが主流なんだろ?
ProgressionとかしばらくFlashとかスルーしているうちにえらい状況になっていた。
最近のFlashを把握するの大変そうだなぁ。。。

それから自分、Flash弱い人なのでこれメモ。

Flashでやってしまいがちな14個の間違った使い方

1.タイムラインでトゥイーンを作成しない
2.テキストフィールドに直接リンクURLを設定しない
3.文字をボタンに含めたときに後ろにザブトンをひかない
4.背景は指定しない
5.虹色のグラデーション
6.フレームレートが12のまま
7._alpha=0は完全には消えていない
8.フィルタの使いすぎ
9.ショートカットキーを学ばない
10.入れ子ムービークリップの原点がずらしたまま放置
11.入れ子ムービークリップの変形点がずれたまま放置
12.配置したオブジェクトの座標を整数にしておかない
13. アクションパネルは等幅フォントに設定していない
14.出力画質を80は低すぎる
15. ローカル上で確認したら通信できないとアラートがでた
16. Firefoxのアドオンを使っていない

2009/1/9 金曜日

FLARToolKitとか

Filed under: IT世間話 — タグ: — dev0000 @ 1:57:14

FLARToolKitを利用したサイト。

AID-DCC Inc. & Katamari Inc. presents New Year Special Site [ZERO-NINE]

面白い。

画像認識で話題になったのといえば顔チェキとかで、
一時期、その手の技術が広告とかによく採用されていた気がするけど、
2009年ぐらいからぼちぼちARを利用したものが流行するかもね、と思った。
まぁやっておくなら今のうちかな。
先行者利益をまだとれそうなタイミング。

2008/9/21 日曜日

ASのECMA4とか

Filed under: IT世間話 — タグ: , — dev0000 @ 1:25:39

だいぶ周回遅れ。

ECMAScript4が消える?
次の JavaScript の仕様はこうなる! ECMAScript 3.0 から 3.1 への変更点まとめ
最近はActionScriptもECMA3.1に準拠してもいいかなって思うようになった

個人的には「スクリプト言語は型の重力に縛られるべきではない」なんて思っていたりするので、
ASもECMA3.1ベースになってくれればすごく嬉しかったりします。

うん、緩くていいだろうし、そもそも厳密性を追求する必要がどこにあったのか?とは思うよ。

2008/9/9 火曜日

Red5とか

Filed under: 技術メモ — タグ: , — dev0000 @ 19:28:18

Red5 を色々触ってみた。
それなりに使えそうな気もする。

以下、メモ。

このへんを参考にした。
無料で利用できるFlashストリーミングサーバ「Red5」
Red5 : Open Source Flash Server Open Source Flash
hide-k.net#blog: CentOSにRed5を入れてみる
hide-k.net#blog: Fedora Core 6にFlex2をインストールして遊ぶ
Tanablog: CentOS に Red5 を入れてみた

・apache が起動していると(80ポート)うまく動作しない気もした。
・FWのせいかなと一瞬思ったりもしたので、iptables も止めたりした。
・リモートからアクセスする場合、「localhost」となっている箇所はそのサーバのIPに変える必要あり。
・red5.sh で起動するけど、停止する場合は red5-shutdown.sh を使用したほうがよさげ。

ライブ配信のサンプルはこれとか。
http://XXX.XXX.XXX.XXX/demos/publisher.html

2008/5/8 木曜日

mingで携帯対応Flashを作成する

Filed under: 技術メモ — タグ: , , — dev0000 @ 1:00:42

色々試してみたのでメモ。

1. Version4 で出力すると、FlashLite1.1に対応できる。
2. ただしASは一部、まともに動かない。そりゃあFlashLite1.1 だし。
3. 動かしたいASなどがあれば、通常のFlashツールを使って、FlashLite1.1 で ライブラリ用のswf を作成する。
4. 4 で作成した swf ファイルは SWFPrebuliltClip クラスで読み込める。
5. 4 の swfファイルをASのみで作成すると、_rootのMovieClip (呼び込み元)が正しく認識されないみたいなので、ダミーで MovieClipは作っておく。
5. だいぶ疑似的だけど、携帯用Flashがこれで作れるよ!

ってか、AdobeもFlashの規格をオープンにするって言ってるし、しばらく待てばもっとまともなものが出てくるだろうね。

Older Posts »

Powered by WordPress