Category Archives

13 Articles

卒研メモ

最近卒研の制作が思うように進まなくてやる気が起きない…。
でもやらなければいけない事は増える一方
自分が忘れないようにこれからやる事をメモメモ…φ(..)
■ソフトウェア
・インターフェースの作成。
インタラクティヴ・アートなので作るかわからなくなってきた。
・モデルのバリエーションを増やす。
DOGA-Lシリーズではそろそろ限界か。MAYAを使おうか。
・二次元で取得した手の位置で3Dモデルの座標を操作する。
ステレオ画像による三次元計測を使う。
・物理演算ライブラリの導入。
Black Curry Engineというフリーのものを使用。
・リモコン距離でライトの範囲変化
反射板を2点以上配置してリモコンに映る2点の距離で遠近を擬似的に再現。
・ポイントを見失った時にゆっくりフェードアウト
現段階では光の飛びが多く見栄えが悪い。
・物理演算の影をアルファを高さと連動させる。
現段階では影の濃さが変わらない。ズレは修正済み。
■環境設営・ハードウェア
・設置場所を考える。
高さのあるラックのような物の一番上にプロジェクター。投影台と同じ高さにはWiiリモコンを設置。
もしくは布を張り、下からプロジェクターで投影して手の影が落ちないようにする。
赤外線の影響を受けるので、周囲を黒い布で囲み直射日光が入らないように気をつける。
・地面に投影する方法。
鏡を使うのが有力。大きめの鏡と固定する物を準備する。
・2つのWiiリモコンを定位置で固定する物を作る。
2つのリモコンの距離を固定する事はステレオ画像による三次元計測で重要になる。
・手に反射板をつける方法。
手袋⇒たくさんの人が使うと気になる人がいるかも。
指サック⇒つけるのが簡単で気軽に付けれる。
マジックハンドなど⇒間接的にさわるのでリアリティが薄れるが、ゲームのような感覚になり面白いかも。
意識をせずに行動を制限できるので、誤作動を減らす効果もあるかも。
・懐中電灯型ポインティングデバイスの作成
100均で買ってきて型だけ使う?
・キャップ方再帰性反射板
指につけるためのキャップ。指サックを使う?
■発表準備
・発表用スライド。
来週水曜に中間発表。早めに完成させる。
・PR用ポスター。
石川コンテンツマーケット出展用のポスターなど。1月ごろまでに。
・卒論用まとめ。
卒論を書きやすいように少しずつまとめていくべし。
・テーマをどのように結論付けるか。
実際に体験してもらって感想を聞き、不思議な感覚を体感してもらえた的な感じでいけないか。
・アブストラクト、プロジェクトレポート作成。
2月1日提出。
自分を焦らせる為のメモですが…
思い出し次第追加していきます。
12月6日追記完了

AR(拡張現実)&Wiiリモコンをやってみた

前から拡張現実と呼ばれるARWiiリモコンを組み合わせた物を作ってみたいと思っていました。
そこで、今回は卒業研究の方も順調に進んでいる(?)ので、一晩でARとWiiリモコンを組み合わせた作品を作る事にしました!
miku
↓動画は下のほうにあります。
ARとWiiリモコンを組み合わせるにあたり、初めはFLASHで実装しようと思いました。
というのも、FLASHはWeb上で実際に動かせる上に既にFLARToolKitというFlash用のARが作られていて、さらにWiiFlashというサーバーソフトを使えば、FlashのActionScript3.0とWiiリモコン間で情報をやりとりできるからです。
しかし!!
WiiFlashですが、研究室のパソコンでは動いたのですが、同じように自分のノートパソコンにインストールしてサンプルを動かしても動かない(´Д`;)
色々調べましたが、問題はFlashでもWiiリモコンでもなく、「Bluetoothスタック」にありました。
WiiFlashの使えるBluetoothスタックは限られているようで、こればかりはBluetoothアダプタを買い換えるしか方法がありません・・・
ということでFlashは諦めて、C#で実装する事にしました!
C#でARを動かすために、A虎@さんの作った「NyARToolKit for C#」というクラスライブラリを使わせて頂きました。
そのソース解読に時間がかかりましたが、なんとかWiiリモコン制御用のプログラムを打ち込んで行って、ARとWiiリモコンを同時に動かす事が出来ました(・∀・)
■AR(拡張現実)&Wiiリモコン

ここから解説。
Wiiリモコンから取得できる値として前も日記に書きましたが、
・XYZ軸加速度(傾き)
・赤外線座標(4点まで)
・11ボタン

があります。
まず、
[加速度]
平行移動がXとY軸、垂直(縦)の移動がZ軸となっていて、XとYの加速度をモデルの加速度に加算し、平行移動させています。Z軸は一定値以上の加速度が加わると、モデルの加速度に加算されるようになっています。
壁に当たった場合は加速度×-1して反射させ、さらに×0.8して擬似跳ね返り係数を作っています。
次に、
[赤外線]
赤外線の座標をX.Yで取得できるので、今回はX軸のみ使用してモデルをZ軸を中心に回転させています。
そして[ボタン]ですが、今回はマーカーの土台として使用したので、ボタンは使用しない設定で行きました。
ということで今回はARとWiiリモコン組み合わせてみました
ARとWiiリモコンを組み合わせるとかなり自由度が上がりますよね
これでARの世界もさらにインタラクティブに生まれ変わります
あとは、コンタクトレンズ型ディスプレイの製品化を待つのみですね
さぁ、みんなも電脳ワールドに飛び込もう!!

最近の事

このあいだ書いた記事、書き込みミスかなんかで消えてました(泣)
最近やったことのまとめです。ちょっと長くなると思うのでちょっとずつ書きます(^ー^;)
■eAT金沢アワード2010 動画作品
最近と言っても、もう3週間も前になりますが、石川県が主催しているメディアコンテスト「eAT金沢アワード2010」の動画部門に作品を応募すべく、作品作りを頑張っていました。
3分間の動画ですが、毎日朝から夜9時まで研究室にこもって素材作り・撮影・動画編集などを頑張ったかいあってなんとか締め切りに間に合いました。
「絶対にこのコンテストに出す」って決めて頑張ってきて本当に良かったです。自分も大きく成長出来たし、なんにも目標も無くだらだらした毎日を送るより、「作品を出した」「行動した」っていう事が一番大切なんだって実感しました。
賞を取れるかなんてわかりませんが、結構頑張った作品なので割と本気で賞狙ってます(笑)
ちなみに15秒の動画部門に応募したのですが、一番メインの部門なのでグランプリは50万円相当の商品だとかフフフ・・・
作品は今はまだ公開しません。
というのも、まぁちょっと恥ずかしかったり、2週間かけてこれかとか言われるとショックなので
でも、もし賞が取れたら公開するつもりですが、今は静止画だけで我慢してね
賞が取れなかったら永遠に未公開かも(笑)
 
こんな感じの作品です。
eAT2
eAT1
わたくし、普段(?)はストリートダンスなんかもやってまして、作品制作しながら2つくらい出演イベントが決まってたりして、夜中ダンスの練習してたので家に帰ってくるのはいつも深夜4時くらいになってました(´Д`;)
良く体が持ったとつくづく思う。
■Wiiリモコン用 赤外線照射デバイス
IR1
研究にWiiリモコンを利用するにあたり、必要になると思ったので赤外線を照射するためのデバイスを自作してました。
過去にUSB電源のWiiリモコン用のセンサーバーを自作したので、その経験を活かして赤外線LED96個を使った最強のLED群を作りました。
しかも今回もUSB電源です。
USBが5Vなので、1つにつき1.25V必要なLEDは4つまでしか直列できません。
そこで4つ直列になったLEDを24列作り、全て並列に接続して電圧を保ちました!
IR2
IR3
これである程度の強さを持った赤外線が作れたので、LEDから照射された赤外線が再帰性反射板(光が来た方向に反射させる素材)にあたって反射した座標を読み取れるわけですね。
それを使ってなにを作るかはまだ考え中です^^;

謎の浮遊物体

台所になんか浮いてたきめぇげっそり

ここでトリックのネタばらしですが・・・

みなさん「磁性流体」ってご存知ですか?

ようするに液体の磁石です。

この浮遊している青い球体はその磁性流体というのを使ってるんですね。

作り方ですが、今回は形をある程度保つ為にスライムを作る時と同じ要領で作っていきました。

■材料

水30ml

PVA洗濯のり10ml

ホウ砂小さじ3

砂鉄50g

絵の具(お好み)

■作り方

①まず水30mlとポリビニールアルコール性の洗濯のり10mlを70度の温度であたためながら混ぜます。

②次に薬局で売っているホウ砂を小さじ3倍混ぜると、ゲル状になってきます。

③ここで青色絵の具(1本)を投入。青いスライムの出来上がり!

④できたスライムと砂鉄50gをよく混ぜて完成。

簡単ですよね!手(チョキ)

■そしてここからが本番exclamation ×2浮かせますexclamation ×2

皆さんの家にはあるかわかりませんが、電磁調理器(IH)を使用します。

まず電磁調理器の上に完成したスライムを乗せて、電磁調理器のスイッチを弱からゆっくりと強へと上げていきます。

電磁調理器から発生する電磁波の力が磁気を持ったスライム君に反応して押し上げるので、電磁波とスライムの重さが平等になったところで宙に浮かび上がります。

上手く強さを調整するとキレイにフワフワと浮かんでくれます。

※あまり出力を強くしすぎると飛びすぎてしまうので注意!

という事で、今回は不思議な浮かぶスライム(磁性流体)を作りました。

みなさんも上手く浮かべる事ができましたか?ウッシッシ

ん?できないだって?

まぁ、浮かべることが出来なくて失敗してしまった人も、ここで書いた事は全部ウソなので気を落とさないで下さいねexclamation ×2わーい(嬉しい顔)ぴかぴか(新しい)

-----------------------------------------------------------------—
という記事をmixiで書いたら結構な人がだまされてくれました(笑)
本当はマッチムーブという実際の映像と3DCGを自然に合成する技術を使っているんです。
最近では映画などで使われているのも良く見かけます。

マッチムーブソフトはVoodoo camera trackingというフリーのソフト。
映画などで使われているものは数百万円するものが普通ですが、なんとこのソフトはフリーなのです!

3DソフトもBlenderというフリーのものを使っているので映画なみの技術がタダで作れてしまうんですよね^^

流れとしては、
①素材となる動画を取ってきて
②それを連番tga画像形式に変換
③Voodooで読み込んでカメラの動きを解析。3Dソフト用のデータを作る。
④Blenderで読み込んでCGと重ねる
できあがりです

思ったより簡単でしたが、古いノートパソコンでレンダリングしたのでたかが3秒くらいの動画なのに結構レンダリングに時間がかかりました(´Д`;)

他にもマッチムーブではありませんが、Blenderを始めて使ったので流体シミュレーションなんかも試してみました。
みなさんも興味があったらマッチムーブに挑戦してみてはいかがでしょうか(^ヮ^)

ついにWiimoteLibがMotionPlusに対応!?

タイトルどおりなのですが、ついこの間の7月20日にCodeplexでWiiリモコンをパソコンで使う為のライブラリ「WiimoteLib」に新しくMotionPlusが対応したものが公開されました。
まだWiimoteLib_1.8 Beta版ということですが、問題ないと思います。
↓ここからDLできます
http://wiimotelib.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30401
WiiMotionPlusには3軸(正確には2軸+1軸)のジャイロセンサが搭載されていて、Wiiリモコンがどちらの向きにどれくらい回転したかが正確にわかります。
その精度がすごいということで一部で話題になっていましたが、
いままでのジャイロセンサが一秒間に300度の回転を読み取ることが出来たのですが、それではスポーツなどの素早い運動に対応できないという事で1秒間に1600度まで対応させたという高精度さ。
そんなすごいジャイロセンサが1500円という低価格で手に入ってしまうとは時代も変わりましたね・・・。
ちなみにうちの研究室にあるモーションキャプチャーのジャイロセンサは1つ50万するらしいですが(笑)
MotionPlusを研究室で買ってくれるみたいですが、待ちきれない&俺が欲しいので個人で買ってしまいそうです。

Processing -sound-

最近Processingというビジュアル表現の為のプログラミング言語をさわり始めました。
Processingはプログラム初心者にオススメするだけあって、難しい表記無しに簡単な命令文でプログラムが動かせる上に、コンパイル無しで動き、Processing自体のインストールもしなくてもいいというすごいソフト。
ビジュアル表現に便利な映像・音楽・3D表現などのライブラリも初めから用意されているので、それらを組み合わせたプログラムが簡単に作れます。
Processingに慣れる為に音楽を読み込んでその波形から映像を作り出す、いわゆるビジュアライザというものを作ってみました。
sound(別窓でアプレットを起動します)
sound.png
プログラムとしてはとても簡単で、80行程度でこんな楽しいプログラムが出来てしまいます。
minimという音楽を扱うライブラリを使用してステレオ音源を読み込みloadFile()、左右のスピーカーのレベル合計mix.get()で大きさと場所が変わる円をellipse()で真ん中に書いているんですね。
ちなみにクリックすると、マウスの位置によって音程が変わるSinカーブの音を鳴らすモードに変わります。(まさかここでメディア情報論の知識が出てくるとは・・・)
バックでドラム音が流れてるのでそれにあわせてメロディーを作ってみては?
3Dにも簡単に対応できそうなので可能性がひろがります。
そういやiTunesの新しいビジュアライザのビジュアルプロトタイプ開発にもProcessingが使われたとか・・・

Wiiリモコンで出来る事

WiiリモコンはBluetooth通信を使っているので、Bluetoothが入っているパソコンなら簡単にWiiリモコンをPCとワイヤレス接続する事ができます。
さらにcodeplexで公開されているWiimoteLibというライブラリを使うとC#なんかで簡単にWiiリモコンの制御を行う事ができる訳です。
■WiimoteLibはこちら
http://www.codeplex.com/WiimoteLib
Wiiリモコンについている機能として前の記事でも書きましたが、
・赤外線カメラ
・XYZ軸加速度センサ
・XY軸傾きセンサ(加速度センサから求める)
・11ボタン
・4つのLED
・バイブレーション機能
・サウンド機能

と、これだけ沢山のセンサがワイアレスで使えてしまうので色々な可能性が広がりますよね。
ここで少しWiiリモコンから受け取る値の説明をしようかと思います。
・赤外線カメラ
赤外線カメラでは赤外線光源を4つまで検出する事ができ、それぞれIRSensors[0]~[3]の中にX・Yの座標が格納されます。
X・Yはそれぞれ0~1の間で表されて、小数点以下もかなり細かいところまで正確に検出できます。
たとえば・・・
if(IRState.IRSensors[0].found)で赤外線が1つ見つかったときに、
(IRState.IRSensors[0].X , IRState.IRSensors[0].Y) の位置にマークを表示したりして使います。
・加速度センサ
X・Y・Z軸それぞれ-1~+1の間で加速度が検出されて、こちらもかなり細かい数値がでます。
ちなみにWiiリモコンを平行に地面に置いた状態では重力でY軸が常に+1になります。
こちらはAccselState.Value.Xでその軸の値を呼び出して使用することが出来ます。
この二つだけでもかなり面白そうなものができそうです。
今研究で、フィジカルコンピューティングという現実とデジタルを組み合わせて身体的に操作できるものが作りたいと思っています。
そこで考えたのが、Wiiリモコンの赤外線カメラでボールの位置をトラッキングして遊べるゲームもしくはインタラクティブアート
仕組みとしてはこんな感じ。
図
・Wiiリモコンを部屋の上部に固定し、その方向から赤外線を放出
・ボール(赤外線を反射するもの)から反射した赤外線の座標をWiiリモコンで検出
・プロジェクタでボールに重ね合わせてエフェクトを表示したり敵キャラクターを表示する
・一人はボールを転がして遊び、別の人がもう1つのWiiリモコンで敵キャラクターを操作できて対戦できると楽しいかも
図2
簡単だけどこんなイメージ。
実際にプロトタイプは作ってるけど、動いてる所を録画したらまたここに載せたいとおもいます。

どうやらProce55ingがすごいらしい

インターネットで研究に使えそうな技術なんかを調べていたら、Processing(Proce55ingとも書く)という開発言語をよく目にした。
どうやらJavaベースで電子アートとビジュアルデザインのための言語らしいのでビジュアル表現にとても強く、コンパイル作業不要なので開発がとても楽で、さらにはWin.Mac.LinuxのOSに対応しているという割と新しい開発言語らしい。
色んな動画やらみてたら開発画面がめっちゃ単純で言語も単純明解。
すごく楽そう
こんな動画がありました。

こんなビジュアル表現が手軽にできるなんてステキ
他の方が作ってる動画も色々見てたら、Processingと他の色んなライブラリを組み合わせている方がいました。
例えば「Bullet」という物理エンジンなのですが、3Dのオブジェクトをぶつけたり転がしたりしたときの実際の動きをシミュレートできるもの。
Bullet自体もJavaベースでなので、Processingでも簡単に使えるようです。
物理演算は見てるだけで楽しいので、研究とは関係あっても無くても物理演算を使った何か作ってみたいですね。
そして「ARToolkit」。
これは拡張現実感と言って現実の映像にリアルタイムで3Dを合成するというものですが、元はC言語なのでそのままでは使用できませんが、さすがProcesseing。注目されているだけあってもう作られてますねぇProcessing用ARToolkit
NyARToolkit
ここで公開されています。ほかにもJava、C#、C++などでARToolkitを動かせるようにされてるみたいですごい方ですね。尊敬します。
これだけでProcessingにはARToolkitもBulletもそろっちゃったので、現実世界で物体をグチャグチャできるわけですね
あと欲しいのはWiiリモコンを使えるようにするライブラリのみ・・・・・・ジュルッ
こんなすばらしい言語使わないわけにいかないって事でインストールは終わらせましたが、時間無くてまだ触ってません。
またためしに何か作れたらUPしますね