スピードランナースマートフォン用の表示で見る遥かへのスピードランナーシリコンバレーでAndroidアプリの開発してます。コンピュータービジョン・3D・アルゴリズム界隈にもたまに出現します。この広告は、90日以上更新していないブログに表示しています。物理エンジンすっごい間が空いてしまい、いまさらなんですが、年末年始のプチ成果まとめ第2段です。前回のBox2Dに引き続き、今度は3Dの物理エンジンをいじってみます。Box2Dの場合、貧弱ではありますが線画機能(DebugDraw)が内蔵されていますが、3Dの場合はレンダリング(描画)は部分はそれ専用のエンジンを用いることが多いです。逆に物理エンジンの部分はそれだけに特化していて、描画機能はもたないことが多いです。3DSandyblenderが有名どころだと思います。今回はその中でも「blender」を使ってみます。blenderは物理エンジンとして、デフォルトでbullletを内蔵しており、レンダリングから物理シミュレーションまで、一つのGUI上で簡単に編集・表現することができます。SIO2というiPhone用の3D物理エンジンに簡単にエクスポートすることができる(SIO2にpythonで書かれたExporterスクリプトが付属してます)ので、将来iPhoneでゲームを作ってみたいという人にはうってつけ、というわけです。blenderの入門ページとしては、藤堂+さんのblenderチュートリアルが素晴らしくまとまっています。作ったシーンファイルを表示させる(2)あたりを読むと分かりやすいです。やっていることはSIO2のチュートリアルをちょこっと改造して、自作の3Dモデルに置き換えてみよう、というものです。blener+SIO2にはここには書いていない落とし穴も結構あったります。SIO2にも書いてあることで、最初からここを読んでいれば特にはまることもないのですが、日本語の文献はあまり無いようだったので、書いておきます。blender上で同じ計上のオブジェクトしていくと、Cube.001,Cube.002,Cube.003のように末尾に連番が付いたIDのオブジェクトが自動的に作成されていきますが、これらはblender上だと重複オブジェクトとみなされ、SIO2上で表示されないことがあります。他のIDに手動で変更が必要です。Mappingしなければ表示されません。Mappingという用語は3D素人にはなじみがないのですが、以下のエントリーが詳しいです。英語、さいころ的なものスケール値が1.0以外の値が設定されていると衝突判定されない。これはHaraさんのブログにも書いてありますね。objectでscaleが1.0になるように再調整します。とまあこんなところです。仮にiPhoneアプリ上で複雑な3Dモデルを作る場合、SIO2でモデルを組み立ててもよいのですが、blender上でpythonのマクロが使えるのでそこでモデリングしてしまうのが結構簡単です。次回はpythonでモデルを組み立てるところをやってみます。I/OのKeynoteでは様々な...2010-01-17Blenderでドミノ崩し前回に引き続き、今度はblenderでモデルを組み立ててみます。(1)はてなブログをはじめよう!thorikawaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。