カレンダー

01月 │2008年02月│ 03月
- - - - - 1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 -

 プロフィール

はしもと

Author:はしもと
ユーザインタフェース系のお仕事をしてます.関心領域は画像処理,拡張現実感,ヒューマンコンピュータインタラクション,エンタテインメントコンピューティングあたり.モノ書きもやってます.

 工学ナビ

工学ナビは工学系の技術のチュートリアルを扱うサイトです.

 作ったもの

 Twitter

 

 天気予報


 ブログ内検索

 カテゴリー

最新コメント

 RSSフィード

 リンク

このブログをリンクに追加する




工学ナビの中の人 はしもとのブログです. いろんなコトを研究的,工学的な視点で見つめます.
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【C/C++】 OpenGLで使えるメタセコイアモデルローダ
【09/02/07修正】 配布場所やサポート場所が変更になったので記事を修正しました.


mqo_loader.png
メタセコイアで作ったモデルをこんな風にOpenGLのプログラムで表示できます


■GLMetaseq
 最新版のGLMetaseqは工学ナビの以下のページで配布しています.

 「攻殻機動隊」「電脳コイル」の世界を実現! - ARToolKitを使った拡張現実感プログラミング
 → 自分で3Dモデルを作って現実の世界に表示させてみよう


■製作方針
 ・簡単に扱える
 ・CとC++の両方で使える
 ・ソースコードによる配布 (オープンソース)


■サポート
 質問やエラー報告は,工学ナビの掲示板に書き込んでください.みんなでよってたかって問題解決にあたれるようにするためです.スレッド作成時は,「GLMetaseqの×××について」のように,それとわかるようなスレッド名をつけてくださるとみんなが幸せになれます.


■改良版・派生版など
 GLMetaseqの旧バージョンをベースに作られているケースもあると思いますので,そのあたりはご注意を.使ってみて自分が気に入ったものを使ってください.
 
 ・BlackBoxLaboratory - ARToolKit with Lua (arl) にソース同梱 (b2oxさん)
 ・ニコニコ動画 - ARToolKitで初音ミク(その6):LIVE (DirectX版)
 ・ものおき(keiさん.C/C++/Java各種)


■この際言っておきたいこと

・工学ナビで配布されている最新版のGLMetaseqはkeiさんとの共同開発によるものです.(09/02/07現在)

・いちばん最初にリリースしたGLMetaeq.h(これも工学ナビで配布しています)は,最新版に比べると表示能力は劣りますが,必要最小限のコードなため,多少は読みやすいかもしれません.仕組みを知りたい場合や,移植を考えられている場合は,そっちもチラ見してみてください.


スポンサーサイト
メタセコイアで作ったモデルをARToolKitで表示して動かす方法あれこれ
ARToolKitを使った遊びがニコ動を中心に流行っているようなので,
例の記事の補足として,開発者向けの情報を紹介したいと思います.

いちばん面倒な3Dモデル読み込みの方法ですが,モデル+モーションを直接読んだり,
連番ファイルにして読んだり,他の形式に変換して読み込んだりといろいろ考えられます.
以下に方法を並べてみました.


■GLMetaseq
【OpenGL】【C/C++】
入手先:「攻殻機動隊」「電脳コイル」の世界を実現! - ARToolKitを使った拡張現実感プログラミング

(09/02/07修正)
いちばん最初にリリースしたものが「GLMetaseq.h」で,このときはヘッダのみでした.
それをいろいろいじったバージョンをGLMetaseq.h(Ver.2.0)としてこのブログ上で配布しました.
その後,ARToolKit本の執筆に伴い,改めて作り直しを行い,「GLMetaseq.h + GLMetaseq.c」
(ヘッダとソース)としてリリースしました.これが現行のバージョンです.

それぞれ関数名や初期化・終了手順が異なりますのでごちゃまぜで使うことがないようにしてください.

関連記事: 【C/C++】 OpenGLで使えるメタセコイアモデルローダ


■Metasequoia Loader + Mikoto Loader
【OpenGL】【C++】
入手先:http://blog.jyoken.net/?eid=670535

ボロリンこと明石高専の情報工学研究部のブログで公開されているプログラムの中にOpenGL用の
メタセコイアのモデルローダと,モーション作成ソフトMikotoのモーションローダが入っています.
C++によってクラス化されており,同梱されている他のコードと関連して動いているようなので,
それなりに「読む」ことが必要かもしれません.

このブログの「3DCGプログラミング」のカテゴリではかなりハイレベルなOpenGLのコードが
紹介されているので必見です.すげー.


■mqoファイルをwrl(VRML97)に変換してARToolKitの関数で読み込む
【OpenGL】【C/C++】【ARToolKit】

ARToolKitにはVRMLのファイルを読み込める関数が用意されています.
詳しくは付属サンプルコードの「simpleVRML」を参考にしてください.

mqoをwrlに変換するには,メタセコイアのプラグイン「VRML97エクスポーター」を利用します.
モーションを付けたい場合は,同じサイトで公開されている「CyberDelia」というソフトを使います.
このソフトは,mqoを読み込んでパーツベースでモーションを付けた後,wrl形式でファイルを出力
することができます.

コメントをくださった ほよよ さんがニコ動に解説動画をUPしてくださりました.



■mqoファイルをXファイルに変換してDirectXで読む
【DirectX】【C++】

Xファイルというのはモルダーとスカリーが出てくるアレじゃなくて,
DirectXで用いられる3次元モデルのファイルフォーマットのことです.
DirectXには専用の読み込み関数も用意されています.

初音ミクのモーション作成に大活躍中のモーション作成ツール「RokDeBone2」は
モーション付きXファイルの出力に対応しています.

モーション付きXファイルの読み込みは,こちらのサンプルが参考になると思います.
http://tpot.jpn.ph/t-pot/program/44_motion/motion.html
t-pot」さんのページはDirectX関係のコードがとても充実しています.

問題は「OpenGLで書かれたARToolKitのプログラムをどうやってDirectX版に移植するか」
ってことですが,ニコ動界隈でソースを公開してらっしゃる方がいるようなので,
そちらが参考になると思います↓




…という感じです.
RokDeBone2がモーション付きwrlを出力してくれたら一番いいんですけどね.
あるいはモーション付きXファイルをモーション付きwrlに変換できるツールがあれば…
(探したけど見つからない).

他にARToolKitプログラミングに使えそうなローダとか,変換ソフトとかあったらコメントください.
よろしくお願いします.


インタラクション2008が近づいてまいりました
国内最大のヒューマン・インターフェース系シンポジウム(というかむしろお祭)
である「インタラクション」が今年も開催されます.

■ インタラクション2008
URL :http://www.interaction-ipsj.org/index.html
   ↑相変わらず過去の予稿集が読み放題となっております.なんてオープンなの!
日時:2008年3月3日(月)~4日(火)
場所:学術総合センター 一橋記念講堂

事前登録の締め切り(2月15日)がそろそろです.
行く予定で登録まだの方はお早めに.


あ,それとインタラクティブ発表することになりました.(゚∀゚)ウカッタヨ!!
福岡から東京までデモ機持ち込んでワーイですよ.ワーイ.

現在,その準備に追われてドタバタしてます.
他にもいくつか爆弾を抱えてるので笑えない状況です.

インタラクションでmasayashiさんをいじったり,逆にいじられたり
するのを楽しみにしながら頑張りたいと思います(またか


/* 余談
なにげなく書いた前回の記事がはてぶのホッテントリに上がってたので
びっくりしました.ありがとうございます.
「ライブラリに頼らずガチで」は潜在的に需要あるのかな?
*/



ガチでやる画像処理プログラミング
このあいだ,dandelionさんがスゲーいいこと言ってたから問答無用で引用します.

/****** [ここから余談]******
OpenCVの普及により画像処理という分野が身近になったのはいいのですが,最初からOpenCVに依存しすぎると,理屈がわかっていなくても高度なアルゴリズムが簡単に組めてしまうため,いざ応用となるとアタフタということになりがちなので,C言語習いたての人なんかはRAWファイルを使って一からアルゴリズムをコーディングしてみるのも後々ためにいい勉強になりそう.C言語に慣れてきたら,ppmなどファイル情報がヘッダ部に書き込まれているようなフォーマットにチャレンジするとかね.
******[ここまで余談] ******/



要約すると

「Haar-likeによる顔検出くらいOpenCVに頼らず自分で組みやがれ」

ってことですかね? (※冗談ですから)


僕の場合,最初はビットマップ画像を読み書きするプログラム(当初は動的なメモリ確保なんてわからなかったから,サイズ固定でやってた)に始まり,キャプチャ,ウィンドウ,画像クラス,画像処理クラス・・・とほとんど自分で組んできましたが,良い勉強になったと思っています.ケースバイケースでOpenCVも使ってます.

すでにあるものを作ると,「車輪の再発明だ」なんて揶揄されることもありますが,そういうのも時には必要だと思います.勉強としての意味もありますが,やっぱり仕様を自分で把握できているほうがいいし,自分にとって使いやすいインタフェースのほうがいいので.

ついでなので,OpenCVに頼らずにガチで画像処理プログラミングをやりたい人のために参考文献を紹介しておきます.


フルスクラッチによるグラフィックスプログラミング入門
フルスクラッチによるグラフィックスプログラミング入門須崎 亮太郎

秀和システム 2004-12
売り上げランキング : 193872

おすすめ平均 star
star0からのスタートにはお勧め
starなかなか手に入らない内容
star自家製車輪の作り方

Amazonで詳しく見る
by G-Tools


画像を扱うクラスの設計からグラフィックの表示,画像処理まで手広くカバー.libJpegのコンパイルのゴタゴタ(経験者はわかると思いますが)の話を如実に記した本はおそらくこの本以外にないと思う.そんな感じで実作業に沿った内容になってて良本.挿絵はあのお方.プログラミングの本なのに読んでて面白いから困る.


はじめての動画処理プログラミング―Win32APIとDirectXで実装する動画処理の基礎 (プログラミング・マスタ・シリーズ)
はじめての動画処理プログラミング―Win32APIとDirectXで実装する動画処理の基礎 (プログラミング・マスタ・シリーズ)土井 滋貴

CQ出版 2007-02
売り上げランキング : 31035


Amazonで詳しく見る
by G-Tools

DirectShowプログラミングの参考ソースでお世話になった人も多いだろう,土井先生の本.Amazonにはえらくネガティブなレビューが書かれてますが,DirectShowキャプチャをまともに扱った本がこれ以外にないのも事実.USBカメラを使ってキャプチャ&画像処理をやるプログラムを自分で実装したい人はこれをチェック.


C言語による画像処理入門
C言語による画像処理入門安居院 猛 長尾 智晴

昭晃堂 2000-11
売り上げランキング : 83016


Amazonで詳しく見る
by G-Tools

学部生時代に周囲の所持率が高かった本.定番のフィルタリングから入って符号化や立体認識など基礎的な画像処理の話をカバー.画像ファイルの読み書きができるようになったら読もう.画像処理の解説書と一緒に読むと良いです.


【08/06/25追記↓】
詳解 画像処理プログラミング C言語で実装する画像処理アルゴリズムのすべて
詳解 画像処理プログラミング C言語で実装する画像処理アルゴリズムのすべて昌達 慶仁

ソフトバンククリエイティブ 2008-03-27
売り上げランキング : 4858

おすすめ平均 star
starとてもわかりやすくて、多くのアルゴリズムを網羅しています。

Amazonで詳しく見る
by G-Tools


(2008年6月現在)最もおすすめする「ガチでやる系」の画像処理プログラミングの本です.なんといっても情報量がすごいです.そのページ数は560ページにもおよびます.また,各種処理ごとに関数がいい感じにまとめられていて,おいしいとこ取りができて非常に良いです.コードも環境依存がなく,アルゴリズムがわかるように書かれています.現時点で最強のバイブルとなりうる一冊.たぶんこれを超える本はあと5年は出ないと思う.




上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。