ARToolKitの勉強中の学生です。
"3Dキャラクターが現実世界に誕生!ARToolKit拡張現実感プログラミング入門"を購読しています。
おかげで、マルチマーカを使うサンプルプログラムを動作させることができ、よりARToolKitに興味が湧きました。
そこで私は、このプログラムを少し工夫してもっと面白いプログラムにしようと思い、
マーカが隠れたらループで音が鳴るようにしたいと考えました。
ARToolKitマルチマーカを使うプログラムが難しい件
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2012/09/16(日) 20:39:52.212デフォルトの名無しさん
2012/09/16(日) 20:40:44.51 そこでまずはPlaySound関数を使用するための準備として、
#pragma comment(lib,"winmm")
winmm.libをリンクします。次に
int org = 0;
orgというオリジナルの変数(グローバル関数)を作り、そしてマルチマーカを使うサンプルプログラムの
3Dオブジェクトの描画を行う関数の3Dオブジェクトを出現させる部分のソースコードを以下のように書き足しました。
#pragma comment(lib,"winmm")
winmm.libをリンクします。次に
int org = 0;
orgというオリジナルの変数(グローバル関数)を作り、そしてマルチマーカを使うサンプルプログラムの
3Dオブジェクトの描画を行う関数の3Dオブジェクトを出現させる部分のソースコードを以下のように書き足しました。
3デフォルトの名無しさん
2012/09/16(日) 20:41:27.48 if(visible >= 0)
{
//マーカが見えている場合
mySetLight(); //光源の設定
glEnable(GL_LIGHTING); //光源ON
mySetMaterial(); //材質特性の適用
glutSolidTeapot(20.0); //ソリッド表現のティーポット
glDisable(GL_LIGHTING); //光源OFF
org--;
}
else if(org >= 3)
{
//マーカが3つ以上隠れているとき
PlaySound("se_sad02.wav",NULL,SND_FILENAME | SND_LOOP | SND_ASYNC); //wavファイル再生 getchar();
}
else
{
//マーカが見えていない場合
glColor3f(0.0, 0.0, 1.0); //色指定
glutWireTeapot(20.0); //ワイヤーフレーム表現のティーポット
org++;
}
{
//マーカが見えている場合
mySetLight(); //光源の設定
glEnable(GL_LIGHTING); //光源ON
mySetMaterial(); //材質特性の適用
glutSolidTeapot(20.0); //ソリッド表現のティーポット
glDisable(GL_LIGHTING); //光源OFF
org--;
}
else if(org >= 3)
{
//マーカが3つ以上隠れているとき
PlaySound("se_sad02.wav",NULL,SND_FILENAME | SND_LOOP | SND_ASYNC); //wavファイル再生 getchar();
}
else
{
//マーカが見えていない場合
glColor3f(0.0, 0.0, 1.0); //色指定
glutWireTeapot(20.0); //ワイヤーフレーム表現のティーポット
org++;
}
4デフォルトの名無しさん
2012/09/16(日) 20:44:24.43 マルチマーカの6つのマーカの内1つが隠れた場合orgをインクリメント(+1)して、見えたときorgをデクリメント(-1)します。
orgが3以上になったとき、PlaySound関数を使って指定したwavファイルをループ再生するというプログラムにしたかったのですが、
このソースでコンパイルすると、Webカメラでマーカを映した瞬間映像をキャプチャしていた画面がフリーズして、
指定していたwavファイルがループ再生されるという結果になってしまいました。
どのようなソースコードを書けば正常に動作するのでしょうか?
ご教授願いますm(_ _)m
orgが3以上になったとき、PlaySound関数を使って指定したwavファイルをループ再生するというプログラムにしたかったのですが、
このソースでコンパイルすると、Webカメラでマーカを映した瞬間映像をキャプチャしていた画面がフリーズして、
指定していたwavファイルがループ再生されるという結果になってしまいました。
どのようなソースコードを書けば正常に動作するのでしょうか?
ご教授願いますm(_ _)m
2012/09/16(日) 20:48:35.76
getchar() から処理が帰ってきていないというオチではないですよね
それはそうと、この質問は同じ本を持っていない人はレスお断りですか?
それはそうと、この質問は同じ本を持っていない人はレスお断りですか?
2012/09/16(日) 20:55:20.03
このスレッドは天才チンパンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
7デフォルトの名無しさん
2012/09/16(日) 21:04:28.60 >>5
getchar();がないとwavファイルを再生してくれません。
同じ本を持っていなくてもレス構いません。
ARToolKitは基本3Dオブジェクトの描画の部分しか自分で作成しませんので。
マルチマーカとは、複数のマーカを一つのマーカとして処理するプログラムです。
6つのAからFまであるマーカの内、3つが隠れたら音を鳴らすプログラムにしたいのですが、
私のプログラムですと、説明の通りWebカメラでマーカを映した瞬間キャプチャ画面がフリーズしてしまいます。
ですのでアドバイス頂けると幸いです。
getchar();がないとwavファイルを再生してくれません。
同じ本を持っていなくてもレス構いません。
ARToolKitは基本3Dオブジェクトの描画の部分しか自分で作成しませんので。
マルチマーカとは、複数のマーカを一つのマーカとして処理するプログラムです。
6つのAからFまであるマーカの内、3つが隠れたら音を鳴らすプログラムにしたいのですが、
私のプログラムですと、説明の通りWebカメラでマーカを映した瞬間キャプチャ画面がフリーズしてしまいます。
ですのでアドバイス頂けると幸いです。
2012/09/16(日) 21:10:17.50
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- れいわ議員「母親はね、子どもを戦争に行かせるために産んだんじゃないんだよ」 高市総理に“10秒回答”迫り、残り5分は“独壇場”★3 [♪♪♪★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★3 [夜のけいちゃん★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★7 [お断り★]
- 【令和】「ゲーム機にスペックは必要かどうか」議論が白熱 ユーザーが実際に求めているものは? [王子★]
- 障害者だからカレーの作り方が分からない
- おまいらってセックスしないの?
- あのちゃんってマン毛処理してそうよな
- 【速報】高市早苗、文春砲wwwwwwwwwwwwwwwwwwwwwwwwwwwww [339035499]
- 息子の名前を「業~悲しみの連鎖、人は過ちを繰り返す~」にしようと思うんだが
- プロレスラーってロープに振ると走って戻ってくるけど
