書き物

技術とか作った物の話とか愚痴文句感想など

Kinect と Blender でモーションキャプチャしたい 1

Blender で作ったものを Flash で表示する(アニメーション) で、Blender からアニメーションデータ出力 → Flash で表示まで出来ました。あとは Blender でうまいことアニメーションを作れるようになれば・・・という状態です。 Kinect を使えば、家でモーションキャプチャの環境を作れるというようなことをどこかで聞いたので、色々調べた結果、とりあえずKinect から Blender へデータを渡し、Blender 上のモデルを動かすことが出来たので記録しておきます。せっかくなので、商用可な正規版 SDK でがんばりました。

対象環境

続きを読む

Blender で作ったものを Flash で表示する(アニメーション)

Blender で作ったものを Flash で表示する(マテリアルとかテクスチャとかも) の続きです。

Blender で作ったアニメーションデータを Away3D で使うことが出来たので記録しておきます。今回は主に Blender の話です。

対象環境

続きを読む

Blender で作ったものを Flash で表示する(マテリアルとかテクスチャとかも)

Blender で作ったものを Flash で表示する の続きです。

前回はマテリアルもテクスチャもライトも何も使わなかったので、真っ白な恐らく 3D っぽい何かが表示されていました。マテリアルとかテクスチャ含め、Blender で作ったものを Away3DFlash 表示させることが出来たので、記録しておきます。

対象環境

続きを読む

Blender で作ったものを Flash で表示する

まだまだ分からないことは多いですが、ひとまず Flash で表示するところまで来たので記録しておきます。 目指す所は、 Blender で 3D のモデリングAway3DFlash 表示です。

対象環境

続きを読む

子から親へ選択的なデータアクセスを行うクラス構成

AS3 でゲームを作る場合に僕が良く使うクラス構成です。 [caption id=“attachment_2481” align=“alignnone” width=“605” caption=“コンテキストを用いたデータのやり取り図”]コンテキストを用いたデータのやり取り図[/caption] 各オブジェクトのメイン処理は各クラスの execute() で行います。 各クラスのデータのみ使用する処理の場合は特に特殊な考えは不要ですが、 例えばキャラクターオブジェクトの攻撃動作で炎オブジェクトを出現させたい場合、 自クラスのみでは解決出来ません。 そういう場合は、ctx によって公開されている親オブジェクトのメソッドに対し、 「炎を作って!」と依頼します。(↓みたいなイメージ) ctx.createFire(x, y); 親オブジェクトは各キャラクターと炎との当たり判定処理を行い、 当たり有りと判定した場合、炎の例えば hit(this) 等呼び出します。 炎クラスの hit() 内では ctx を介して ctx.damageCharacter(10); // キャラクターにダメージを与える ctx.removeFire(this); // 自分自信を消す 等実行します。 まぁつまり、キャラクターと炎のデータやり取りを親に任せることで、 オブジェクト同士のやり取りが自由になるわけです。 親は子のデータやり取りを選択的に開放しているので、 コードが無秩序ということもなく、ある程度ルールに基づいた実装が可能です。 (限度はありますが。)

些細な問題かもしれませんが、上記図の通り、 孫→親のデータアクセスのためには、子に親オブジェクトを持たさなければならなそうで、 これが気持ち悪く思っています。 どうにかならないものですかねぇ。

for each で末尾データの処理をスキップする方法

ちっちゃいネタですが、今まで気づかなかったので。

僕は AS3 で、できることなら for each を使いたがるのですが、この場合インデックスの情報を持っていないので、 「~番目のデータは処理しない」 とかの処理が出来ません。 まあそれは仕方ないのですが、 「末尾のデータは処理しない」 ということは結構簡単に出来ます。

var fooList:Vector. = new Vector.();

// データ登録 //  :

var savedFoo:Foo = fooList.pop();

for each (var foo:Foo in fooList) { // なんか処理 }

fooList.push(savedFoo);

パフォーマンスについては知りません!

Flexで何か作る前に

ちょっと前から、 Air for Android でアプリを作ろうとしているのですが、適当に作り始めてみると案の定苦労しました。 根本的に勉強し直そうと Adobe のサイトを探ってると、以下のページを発見。

1週間でFlexを学ぶ | Adobe Developer Connection

最初は、ビデオとか時間を縛られるし・・・とか思っていましたが、まぁ騙されたと思って。

基本的には MXML での作り方なのですが、 MXML って大分色々楽できるように出来てます。 ということが分かる内容です。 通常の Flex/Air アプリでも Air for Android でも、作る前に見ておいて損はないです。