2008.07.12少し前にTwitterでARビデオ名刺を作るぜ!とか言ったまま何もアウトプットを出してないが、実は動作確認レベルはすぐに出来た。内容はといえば、以前作ったURL入力版のARメタセコビューワとほぼ同様で、動画(flv形式)のURLを入力してOKを押すと、以降マーカ上で動画が再生されるというもの。結論としては、ただ再生させるだけなら簡単だというもの。したサンプルとしてなら公開してもいいんだが、残念ながら俺には手持ちの動画が無かったのでちょっと停滞中。テストではYouTubeとかニコニコ動画からDLしてきた動画を使ったんだが、さすがにそれを流用というわけにも行くまいし。何か方法を考えて公開しいたいとは思うが、わざわざ動画を作るのが面倒な気も・・・何とかします。実装について2通りの方法で作ってみた。Papervision3Dの「VideoStreamMaterial」を使う方法SandyのDistortImgをAS3用に移植したものを使う方法どちらにも共通する問題点があって、カメラに沢山のものが映っていると、音声がブツ切れになってしまう。部屋の様子を広く映し、マーカは結構引いてて小さめという状況だとかなりヤバい。【ニコニコ動画】初音ミクさんでオリジナル曲『ニラ』この、俺のお気に入り曲「ニラ」で試した結果、扇風機越しか!?という感じになってしまった。カメラに映ってるのがほぼマーカだけという状況であれば、問題なく再生されるようだ。あと、あんまり音が流れないものだと、この問題に気付かれない(元々こんなモンかな?と思われる)ので大丈夫かもしれない。VideoStreamMaterialの問題点VideoStreamMaterialを使う方法だと、Papervision3Dの技術を生かし、3Dオブジェクト上に動画を出すので、俺が以前に作ったサンプル「SimpleFLARToolKitView」をそのまま流用できるという利点がある。Playerや、なんならブラウザまで一撃死させるという凄い落ち方をする。以下にVideoStreamMaterialを使うサンプルコードを示す。5;}}}}「sample.flv」は適当な動画に変えて試して欲しいんだが、コード中の(1)と(2)の順番を入れ替えただけで、以下のようになってしまう。Firefoxで試しても、似たような運命を辿っていた。あと、画面の歪みがキツイのが最大の弱点だ。DistortImageと言うわけで、VideoStreamMaterialは怖いし歪む。そこで次にDistortImageを使ってみた。これは元々SandyというライブラリのAS2版に入っている、画像を歪め手表示するクラスで、それをAS3に移植した方がおられたので、それを利用してみたというわけだ。DistortImageならば変形時の分割数を指定できるので、歪みが少なくて済む。言うか、探していたら先人が見つかった。Flexで有機ELの薄さなんて目じゃない厚さが紙のTVを作成しました。動作ムービーはこちらhttp://jp.youtube.com/watch?v=oczVc3YbN-wPHP,MySQL,Flexな日々+イラストとかこの人はFLARToolKit以外の方法で動画の描画位置を検出してるけど、原理的には同じだ。DistortImageを使うには、動画の4つの角になる部分を見つけ出せばよい。4);・・・//Webカメラの映像をマーカ探索用BitmapDataに描画this._capture.bitmapData.draw(this._video);//表示する動画を変形用BitmapDataに描画this._movieBD.draw(this._movie);//前フレームで表示していた動画を消去this._movieCanvas.graphics.clear();//マーカ探索を実行。これをEvent.ENTER_FRAMEのイベントハンドラとして実行すると、動画がマーカ上に表示される。これだと向きがおかしいので、ポイントの順番をずらす必要があるが。この後どうするか取り敢えず、何か動画を作ってサンプルを公開したい。その際には再生・停止・リピートくらいは付けたい。リピートは自動でなくても、再生終了を検知→再生ボタンが使用可能になるみたいなのでもOK。あと、必須なのがマーカが消えたら一時停止する機能。これが無いとわざわざARにする意味が無い。扇風機越しみたいになる問題についても、「取得されたマーカの四角形が、全体の80%以上の時だけ認識成功とする」とか制限を付ければいいんじゃないかな?要するに扇風機状態になる頃には動画が止まっててばれないという凄い作戦だが。ちなみに、サンプルに使える動画募集中です。Prease!!!WOWEngineの衝突時イベントだが、どうやらWOWEngineの作者PC内には存在するようだ。v...ActionScriptMetasequoia.asをインタラクティブにする方法:詳細編さて、とりあえずMetasequoia.asをインタラクティブ化するために必要な修正はわかったので、それを実現するためのコードを掲載。いっても、前回のコード断片でほぼ通じてると思うが。Frameworkのコマンドに、「error」「execute」関数を追加してほしい。Frameworkのコマンドクラスには、before/afterと言う関数があり、コマンド実行前/後の挙動を定義することが出来る。これらの関数は最終的にthisを返してくれる。newしてbefore呼ん...ActionScriptIfElseコマンドとForLoopコマンドを元に、WhileLoopコマンドを作ってみた。Frameworkのgeniusコマンドが使えなかったので、FlashDevelopを使うための枝を付けてみた。Piのイメージが壊れてたら、Rubyをインストールできない。Piのイメージが壊れてたら、Rubyをインストールできない。tuperaに支配された東京を描くディストピア映画!あと磯子滅ぶ!俺はおしっこちょっぴりもれてない!まだグレイテスト・ショーマン見てないの!?タイトルとURLをコピーしました。