1 名前:デフォルトの名無しさん mailto:sage [2008/04/09(水) 09:55:56 ] ※回答する人も、質問する人も必ず読んでください これらに当てはまる人のための質問スレです。 1.C/C++は多少理解している。 2.最近DirectXを始めたばかり 3.SDKを見ても、Googleで検索しても、いまいち理解できない人 4.余計な雑談は不要ですよ 【 回答してくださる方 】 ・ できるだけ優しく質問に答えてあげてください。 ・ 優しく教えるのが嫌でしたら、解決するためのヒントだけでも結構です。 「ググれ」「SDK見れ」以外の回答でおながいします。 ・ 神ですら理解不能な質問は無視して下さい。 【 質問する方 】 ・ どんな事で躓いているのか明確にしよう。 ・ 長くならないなら躓いている部分のコードを晒してみれ。 ・ 解決した場合、お礼を言うのは当然だが、何をどうしたら解決したかを明確に書こう。 ・ 回答して貰ったら、出来るだけお礼もしよう。 【C++】 DirectX初心者質問スレ Part16 【C】 pc11.2ch.net/test/read.cgi/tech/1202634347/
286 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 00:25:15 ] 質問です。 (わかりやすくするために、カメラの座標は0,0,0とします。) カメラを、とある地点Aと、とある地点Bの中間の方向を向かせるために、以下の方法をやっています。 中間というのは、3次元ベクトルAとBの平均(A + B) / 2 ということではなく、 角度的な中間です。 (説明のために2Dベクトルで例えます)現在のカメラの方向からAが+20度の方向。Bが+80度の方向にあるのならば、カメラは+50度の方向を向かせたいのです。 ttp://w3e.kanazawa-it.ac.jp/math/category/kika/heimenkika/henkan-tex.cgi?target=/math/category/kika/heimenkika/naibunntenn.html この法則を利用し、Aまでの距離とBまでの距離を利用。 lenA = D3DXVec3Length(pVecA); lenB = D3DXVec3Length(pVecB); D3DXVec3Lerp(pOut, pVecA, pVecB, lenA / (lenA + lenB)); としてpOutの方向を向かせれば、丁度中間の方向を向けそうです。 まず、ここまであっているでしょうか? あっていると仮定して、次のステップ、(例えば)AとBの角度的に3:7の方向を向きたいという場合はどうすればいいでしょうか?
287 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 01:01:25 ] 角度で応用きかすなら極座標を使った方がいいような気がする
288 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 12:34:56 ] 図の角度**のところをそれぞれθ、φとおいて、二通りの求め方で面積S1、S2求めて比較
289 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 15:42:44 ] 質問よろしいでしょうか D3DXLoadMeshHierarchyFromXを使っているのですが、Debugビルドの場合のみ 14MBほどの大きさのXファイルの読み込み時に ハンドルされていない例外 は test.exe にあります: 0xC0000005: Access Violation。 と出てしまいます。 10回に1回くらい出ないこともあるのですが・・・ __sbh_free_block の中でエラーになっているようで、これはメモリー空間が破壊されている時に出るとのこと なのでプログラムを最小構成にしてやってみましたが、それでもダメでした。 Releaseビルドでは問題は出ません。 また、アニメーションの数を減らして7MBくらいにするとDebugビルドでも問題は出ませんでした。 Xファイルはテキスト版でも、バイナリ版でも同様の結果でした。 何か心当たりある方はいらっしゃいますでしょうか? 環境はVC6.0+DirectX 9.0 SDK Update - (October 2004) です。
290 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 18:24:27 ] 自己解決しました。 デバッグモード時、d3dx9.libではなくd3dx9d.libをリンクすることでうまくいきました。
291 名前:デフォルトの名無しさん mailto:sage [2008/05/04(日) 19:04:18 ] 質問です。 DirectXアプリケーションで、日本語入力(IME)をサポートしようと思っています。 やりたいことは、IMEの変換ウィンドウと候補一覧ウィンドウを表示するということだけなのですが、 DirectXのサンプル(CustomUI)では、独自のコントロールの実装や継承を自前で行うことで実現していました。 CDXUTControl ↑ CDXUTEditBox ↑ CDXUTIMEEditBox 特にCustomUIのような独自のコントロールを作成したいわけではないのですが、 あきらめてCustomUIと同じような実装を自前でしなければならないのでしょうか。 それとも変換ウィンドウと候補一覧ウィンドウを表示したいだけであれば、もっと楽な方法があるのでしょうか。
292 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 02:20:18 ] D3DFILL_WIREFRAME のワイヤーフレームの描画の太さを、太くする方法ってありませんか? Zバッファへの書き込みをOFFにした状態で2ドット以上の幅でワイヤーフレームを描き、その後通常どおり描画。 とやることで、背景との輪郭線を綺麗に描けるのを期待しているのですが。
293 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 10:48:52 ] どんな画面だそれ
294 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 11:38:21 ] いい加減固定機能パイプライン使うの止めようぜ
295 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 11:57:59 ] >>293 理屈上は背景とキャラと間に線が入る感じになるかと。 ワイヤー時はZバッファへ書き込みしないようにしているので、ワイヤーフレームの後にキャラクタの描画で輪郭線以外は塗りつぶされますから。 >>294 プログラマブルシェーダで同等のことできますか? モデルのポリゴン裏返して黒くし、法線方向に膨らませる…。っていうやつも悪くはなかったのですが、何分重くて。 スキンメッシュなので、自前でID3DXLineで引くわけにもいかないんですよ。 いかないですよね…? 変形後の頂点位置、わからないですし。
296 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 16:24:37 ] >>295 それが速く描画できる理由になるところが俺にはわからん
297 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:15:04 ] ワイヤーフレームモードでやりゃわかるが、ピクセルシェーダが呼び出される回数が圧倒的に少ないぞ だが俺はあの線を太くする方法は知らんな あれば結構魅力的な輪郭線描画法かもしれん
298 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:21:27 ] 質問 連邦VSジオンみたいなゲームでも作ろうかと3Dを本格的に始めたのですが、スペックで相談です。 あのゲームは2VS2なのでキャラが4体でてきます。 1キャラ6000三角ポリゴンくらいで作って4体を画面内に表示したところ、FPS60が維持できませんでした。 私のPCのグラボが、GF6600GTとかなり古めだというのはあるのですが、こんなもんなのでしょうか?
299 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 21:35:59 ] 実際にやってみてそうなったのなら、幻覚を見るような病気がない限りその通り。
300 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:02:35 ] えーと、私のプログラムが甘いとは思うので 「それ低すぎだろw何かミスってね?」 でなければいいなと思ったのです。 こんなものですか。1キャラ2000ポリくらいにしないと、マップとかにパワーまわせませんね
301 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:06:45 ] 1キャラ△6000て割きすぎ
302 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:38:29 ] あちゃー、割きすぎでしたか。 今まで3Dツール上でレンダリングするだけだったので、その癖ですね。 ゲーム用はやはりもっと抑えないとということですか。 ありがとうございました。
303 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:48:30 ] デバッグをpするとobjbase.h': No such file or directoryと出てデバッグできません どうすればデバッグできるようになるのでしょうか?
304 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 22:49:16 ] >>303 は誤字 デバッグをするとobjbase.h': No such file or directoryと出てデバッグできません どうすればデバッグできるようになるのでしょうか?
305 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:06:05 ] objbase.h': No such file or directoryだけだとわかりませんね エラーメッセージ貼ります c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Stage4.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Stage3.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Stage2.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Stage1.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Ranking.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Option.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory MyGameLib.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory Main.cpp c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h(40) : fatal error C1083: include ファイルを開けません。'objbase.h': No such file or directory
306 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:16:53 ] デバッグ?コンパイルじゃなくて?
307 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:17:31 ] そのパスに、d3d9.hは実際にあるの?ないの? パスはあるけど、ヘッダファイルだけないの? それともパス自体ないの?
308 名前:デフォルトの名無しさん [2008/05/05(月) 23:40:39 ] >>306 デバッグボタンでコンパイルしてるというのでしょうか・・・? >>307 あるとかないとか言われてもわかりません インストールしてオプションでパス設定してデバッグしただけですから・・・ Microsoft DirectX SDK (August 2007)ファルダの中にはDeveloper Runtime Documentation Include Lib Samples Utilitiesフォルダがあります
309 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:43:16 ] Windowsのパスもわからんのに、プログラム組むのは無茶だぜ… c:\program files\microsoft directx sdk (august 2007)\include\d3d9.h というファイルは、Windows上にファイルとしてきちんと存在してるの? パス間違えてるんだと思うぜ? 半角スペースのあるなし 括弧の半角全角とか、きちんとやってみ。
310 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:44:42 ] 真性のゆとりだな
311 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:52:45 ] 3Dでキャラの髪の毛が動きに合わせて(自動計算で)フワってなるやつって、 動きの計算は自前でやるにしても、どうやってモデルから構造出して、計算してんのかなぁ やったことある人いる?
312 名前:デフォルトの名無しさん mailto:sage [2008/05/05(月) 23:55:59 ] 普通に自前でぼーん入れてノードを布シミュの応用で動かしてるだけじゃねーの大抵は
313 名前:デフォルトの名無しさん [2008/05/06(火) 00:02:41 ] d3d9のC/C++ヘッダーってファイルあります
314 名前:デフォルトの名無しさん [2008/05/06(火) 00:03:19 ] >>313 は>>309 へレス
315 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:46:22 ] objbase.h がないんだとさ。 PC内全検索して、objbase.hがあるか確認 あるなら、そこへもパス通せ。 ないならSDKの再インストール
316 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 00:58:58 ] クロスシミュレーションの動きを、Xファイルにアニメーションとして取り込むことってできませんよね? 再生するだけで十分なのですが、Direct3Dでクロスシミュを簡易的に再生するのに適した方法はどんなのがありますでしょうか?
317 名前:デフォルトの名無しさん [2008/05/06(火) 01:12:24 ] >>315 C:\Program Files\Microsoft Platform SDK\Includeにあるみたいなんですがこれでいいんでしょうか?
318 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 07:46:19 ] >>316 Xファイルを吐き出す側の3Dソフトに クロスシミュのプラグインとか入れて、そのモーションで吐き出すが一番簡単 それとも自前でクロスシミュをDXで出来ていて、それをDX上でしたくてどうにか出来ない、 って事とは思えないが…一応… 前提としてD3DX関数でしかXファイル扱えないとかじゃないよね… クロスシミュで求めた頂点で、モーフアニメーションでもすれば良いじゃん
319 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 07:54:17 ] >>286 亀レスで申し訳ないが… カメラ位置からA地点を結ぶベクトルA、カメラ位置からB地点を結ぶベクトルB それぞれのベクトルA, Bを単位化して、その単位化したベクトルをAA, BBとする AAとBBを結ぶベクトルCCを作って、そのCCの長さを任意に割合で分ける点DDを作る カメラ位置とそのDDを結ぶベクトルが君の求めるカメラ注視点ベクトルだと思うが…
320 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 08:25:59 ] 質問させてください。 dxsdk_aug2007をインストール中に「This pre-release version of XAudio2 has expired please upgrade to tha latest version」と出るのですが、 そのままokをクリックしてインストールを終わらせていいのでしょうか?
321 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 09:29:44 ] >>320 MSお得意のベータ版の時限装置が発動でもしてんじゃね? xaudio2使うんじゃなければ問題無いと思うよ。
322 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 09:37:46 ] MyGameLib.obj : error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 "void __cdecl playMovie(char const *)" (?playMovie@@YAXPBD@Z) で参照されました。 MyGameLib.obj : error LNK2019: 未解決の外部シンボル __imp__GetClientRect@8 が関数 "void __cdecl playMovie(char const *)" (?playMovie@@YAXPBD@Z) で参照されました。 D:\プログラミング参考サンプル\アクションゲームプログラミング\マスカットボーイ\ソースファイル\MuscatBoy\Debug\MuscatBoy.exe : fatal error LNK1120: 外部参照 21 が未解決です。 ビルドログは "file://d:\プログラミング参考サンプル\アクションゲームプログラミング\マスカットボーイ\ソースファイル\MuscatBoy\Debug\BuildLog.htm" に保存されました。 文字数制限にひっかかるので多少省きましたすみません このエラーの解決策を教えてくださいお願いします
323 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 10:02:45 ] 関数宣言はあるのに実態が無いんだろ
324 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 10:55:18 ] >>319 亀レスでも大変ありがたいです。 ただ、AAとBBを結ぶCCは直線なので、任意の割合で分けても「角度的に割合で分けた」ことにはならないと思います。 本当に角度的なものなら、DDはAAとBBを結ぶ「曲線」の上になければならないと思います。
325 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:05:33 ] >>324 その通り それよりなぜ極座標を使わないかを教えてくれ
326 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:26:10 ] >>318 Xファイルから布部分を取り出して、自前でクロスシミュしてリアルタイムに描画ってのはできます。 これだと ・リアルタイムゆえ、色々な変化に柔軟に対応可能 ・リアルタイムに計算するコストが必要 ですよね。 今回はキャラがきまったアニメーションしかしません。リアルタイムに計算しない方針です。 D3DXのXファイル再生サポートをD3DXAnimationControlerしか知らないのですが、 これが制御するのはボーンの動きだけですよね? 古典的クロスシミュの1つとして、布に大量にボーンを仕込んで…という方法がありますが、(D3DXを使った)Xファイル再生ではその方法しかないのかな?という疑問です。
327 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:35:51 ] >>325 極座標を使うということは、一旦座標をatanなどを使って角度に直した方がいいということでしょうか? AとBと0,0,0を含む平面を考え、その平面上でのAの角度(0度とすると計算しやすいか)と、Bの角度を求める。 という方法でしょうか? また、今勉強中なのですがクォータニオンというものを使えば、望んでいることが簡単にできるのかとも思っているのですがどうでしょうか?
328 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:48:14 ] >>327 角度で応用きかすなら角度に直した方が可読性が高いかと思って 思いついてたのはargとpolar ごめんクォータニオンはよくわからない
329 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 11:51:03 ] >>322 Platform SDKをインストールしていなければインストール。 ttp://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en インストールしている場合、binとincludeとlibの優先順を確認。 ttp://forums.microsoft.com/MSDN-JA/rss.aspx?siteid=7&postID=1320640&forumID=188
330 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 14:59:47 ] >>321 そうですか。 クリックしてみます。 ありがとうございました。
331 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 15:54:51 ] >>324 AAとBBは単位化してるから、CCは二等辺三角形の底辺と同じなんだけど… プロセスが必要で、結果が求まるだけじゃ駄目なのかね
332 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:04:46 ] >>331 >>319 だと角の2等分でしかうまくいかない
333 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:10:04 ] >>328 の訂正 そういや3次元だからargとpolarは使えないわw >>327 の通りです。 座標系変換の関数がなければ作ってみてもいいだろうし
334 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 16:38:58 ] >>329 レスありがとうございます ttp://forums.microsoft.com/MSDN-JA/rss.aspx?siteid=7&postID=1320640&forumID=188 このサイト通りにやったら>>322 のエラー文は消えましたが新たにこのエラー文が出てきました 解決策を教えてくださいお願いします LINK : fatal error LNK1104: ファイル 'd3d9.lib' を開くことができません。
335 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:16:41 ] >>334 libの設定の先頭に↓は記述してる? c:\program files\microsoft directx sdk (august 2007)\lib
336 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:19:26 ] >>326 その条件なら 事前計算して、その結果をXファイルにフィードバックで良いかと 今あるか分らないが、サンプルにイルカのモデルがアニメーションするのがあって (確か海底みたいな場所で…) それが1Xファイルで、頂点モーフしてるフォーマットだったと思う つまり、Xファイルは頂点モーフ出来るはずだよ フォーマット調べて、任意のキーフレーム時の頂点情報を書き込めば 補間は確かスプラインとかリニアで種類がないけど、頂点モーフ出来るんじゃないかな …メッシュの部分的なモーフをサポートしてるかは微妙 駄目なら駄目で、クロスシミュ適応部分だけ別ファイルにして、本体に自前で子供付けするとか
337 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:22:28 ] >>335 レスありがとうございます c:\program files\microsoft directx sdk (august 2007)\lib これは一番上にあります その下にPlatform SDKがあります インクルードのdirectxも一番上にあります その下にPlatform SDKがあります
338 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:36:54 ] >>332 理解した、サンクス >>327 ベクトル演算と3次元回転と内積でいけるような気がする 思いつきだけど ベクトルA(どちらか)を、加算でも減算でもいいからXY成分を0にするベクトルAAを求め AをZ成分のみにする( A(0,0,*)みたく ) そのベクトルAAをベクトルBにも適応( つまりベクトルAをZ軸とする座標へ変換 ) ( 以降、その座標系の話で ) ベクトルBとXZ平面がなす角度を求め( ベクトルBからY成分をカットして作ったベクトルBBと内積で求める ) その角度でベクトルBをZ軸回転させ、ベクトルAとBをXZ平面にもっていく ここで、XZ平面上でのベクトルAとBのなす角を求め、その角度を使って任意の比率角度を決めて その角度で、ベクトルBを今度はY軸回転させたベクトルCを作る 最後にベクトルCを、ベクトルBBを作った逆の回転、座標変換した逆の計算をしてもどに戻せば… スマートじゃないけど、こんな感じは?
339 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:44:40 ] ムービーをWindowsXP/Vistaを対象に再生したいのですが 安定して使える関数が分からずに困っています。 現在ではどういった関数が使われているのでしょうか?
340 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:45:55 ] >>338 スマートじゃなさすぎないか?w それなら327の方法のままでいい気がするが 俺もやったことはないからツッコミだけですまんが、3Dシューティングのミサイルとかって毎フレーム相手の座標に向けて1度ずつ向きを変えるとか普通にやってそうだよな・・・ 意外と方法確立されてないのか?
341 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 17:50:53 ] >>340 自分でもスマートじゃないと思うが… しかし、実際に327を行なう手順を記述しただけだと思うんだが (オイラー法のみでクォータニオンを使わないで)
342 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:09:32 ] >>336 それっておそらく ttp://www.microsoft.com/japan/msdn/directx/welcome/dsmsdn/directx04162001.aspx ですよね。確かに最初見たときかなり衝撃的でした。 でもこれは3つのXファイルのメッシュデータを、自前でモーフしてるっぽいです。 あと、DirectX9のサンプルの中にイルカのXファイルはあるのに、使用しているサンプルが見つからないのはなぜでしょうね・・・
343 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:41:43 ] >>337 最後の「\x86」が足りなかったか。 c:\program files\microsoft directx sdk (august 2007)\lib\x86 このフォルダと、フォルダの中にd3d9.lib等一式が存在することを確認。
344 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 18:57:07 ] >>343 レスありがとうございます c:\program files\microsoft directx sdk (august 2007)\lib\x86 この設定にしたら>>334 のエラー文はなくなりましたがまた>>322 のエラー文が出てきました 解決策を教えてくださいお願いします
345 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:09:29 ] >>344 #include <windows.h>呼んでないとか・・・w
346 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 19:16:56 ] >>345 レスありがとうございます もう少し詳しくお願いします それだけだとちょっと分かりません すみません
347 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 21:04:11 ] >>346 その部分はもはやDirectXとは関係無いエラーだ おそらく環境のインストールに失敗している あとは汎用の初心者質問スレへ行った方がいい これ以上だとスレ違いということで叩かれるよ
348 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:15:53 ] すみません、DirectX上で動くゲームを作成してるんですが、 あるモーションのキーフレーム数を調べたいんです。 (無駄にキーフレームの多すぎるモーションはリダクションをしたいんです) LPD3DXANIMATIONSETのGetNumAnimationsがそれ用の関数だと思ったんですが どうもボーン配列の数を返しているみたいで・・・。 どうすればキーフレーム数を調べる事が出来るんでしょうか?
349 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:40:12 ] すみません、Visual C++ 6.0でDirectXのXファイル読み込みをプログラムしたのですが 上手くいきません。ビルドには成功したのですが、実行してもすぐに終了してしまいます。 SDKはDirectX 9.0 Update summer 2003を使っています。 デバッグ内容も下記に記載します。分かる人、教えて下さい、宜しくお願いします。
350 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:42:52 ] 'ntdll.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\kernel32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\user32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\gdi32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\d3d9.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\d3d8thk.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\msvcrt.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\advapi32.dll' をロードしました、合致するシンボル情報は見つかりませんでした
351 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:44:37 ] 'C:\WINDOWS\system32\rpcrt4.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\secur32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\version.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\winmm.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\dinput8.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\imm32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\lpk.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\usp10.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\uxtheme.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\MSCTF.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\Downloaded Program Files\CnsMin.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\shlwapi.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\imagehlp.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
352 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:45:10 ] 単純にループ書いてなくて一回素通りして終了するプログラムになってるとかじゃないよね?
353 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:45:13 ] 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\MSCTFIME.IME' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\ole32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\ATOK17W.IME' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\shell32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\ATOK17DE.DLL' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\ATOK17AE.DLL' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\WinSxS\x86_Microsoft.Windows.Common-Controls_6595b64144ccf1df_6.0.2600.2982_x-ww_ac3f9c03\comctl32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\comctl32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\Program Files\Trend Micro\Virus Buster 2007\TMAS_OE\TMAS_OEHook.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\hid.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\setupapi.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\wintrust.dll' をロードしました、合致するシンボル情報は見つかりませんでした。
354 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:45:54 ] 'C:\WINDOWS\system32\crypt32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\msasn1.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\ntmarta.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\wldap32.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\samlib.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 'C:\WINDOWS\system32\d3dxof.dll' をロードしました、合致するシンボル情報は見つかりませんでした。 スレッド 0xF2C 終了、終了コード 0 (0x0)。 プログラム 'H:\CLUB SEE\3Dチェス\my3dlib\Debug\my3dlib.exe' はコード 0 (0x0) で終了しました。
355 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:46:03 ] ググレカス
356 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 22:49:20 ] もはや荒らし VisualStudio使ってるなら、ブレークポイントで止めて一行ずつ実行してけカス
357 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 23:13:01 ] mviewでXファイルを開いた時、アニメーションのリストがメニューの Animation > Animations の下に最大50個現れると思うのですが、 Xファイルを開いただけだと何故か現れません。 Add Animationで追加オープンすると、最初に開いたXファイルのアニメーションと、追加で開いたXファイルのアニメーションが両方現れるのですが… AddAnimationせずに、最初に開いたXファイルのアニメーションを表示する方法はありませんか?
358 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 23:25:14 ] >>347 レスありがとうございます インストール時にエラー文はでなかったんですけどねぇ・・・
359 名前:デフォルトの名無しさん mailto:sage [2008/05/06(火) 23:28:45 ] パスも通せない馬鹿は死んでいいよ
360 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 00:37:22 ] >352 ループには問題なさそうですね。 >356の言う通りにしたら解決したわ、もっともブレークポイントなど使わずに 一行ずつ実行していったがな。ヒントありがとよカス。
361 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 02:13:27 ] >>359 お前が死ねキモデブ
362 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 03:13:11 ] みなさーん 池沼には優しくしてあげましょう 社会のゴミですが同じ人間です
363 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 04:22:37 ] ttp://www.imgup.org/iup605620.jpg.html コンパイル中↑こういうのが出た後に下みたいに「シンボルが読み込まれていません。」が大量に出るんですけどどうしたら出なくなりますか? 'MuscatBoy.exe': 'C:\WINDOWS\system32\ntdll.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\kernel32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\user32.dll' を読み込みました。シンボルが読み込まれていません。 'MuscatBoy.exe': 'C:\WINDOWS\system32\gdi32.dll' を読み込みました。シンボルが読み込まれていません。
364 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 05:07:45 ] 363は自己解決しました
365 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 06:06:15 ] >>364 どうやったら解決したの? 原因は? もう一回>>1 を読んでね。
366 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 14:52:25 ] >>365 自己解決の場合は誰に礼を言うの?w
367 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 14:54:12 ] >>360 ヒントもらえたんだから感謝せぇよアホ 合致するシンボル情報は見つかりませんでしたってのは、 「デバッグ用にDLLを読み込んだが、特に必要な情報は無かった」 とかの意味だ。(厳密には違うかもしれんが) それはデバッグ実行すると当たり前に出る内容であって、 そんな大量の、何の問題もない(かつDirectX無関係)の内容を貼り付けたら 荒らしとか言われても仕方無い。
368 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 15:49:17 ] 質問です Xファイルを使ったモデルにマルチテクスチャを行ないたいのです 例えば地面に見た目用のテクスチャーと、バンプ用のテクスチャーを適用したいと思っています。 ただ、Xファイル系のサンプルを見る限りテクスチャーを2つ使うことは想定外のように見えました。 カスタムテンプレートという仕組み上、自前でそういうXファイルは作れそうですが、3DモデラーがそういうXファイルを吐いてくればれば(あまり)意味がありません。 マルチテクスチャなXファイルというのは一般的ではないのでしょうか? LWを使ってXファイルを吐いているのですが、もし良い方法があれば教えていただけると幸いです
369 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 16:24:58 ] ピクセルシェーダーで合成すればいいんじゃじゃね?
370 名前:デフォルトの名無しさん [2008/05/07(水) 19:17:02 ] 今頃DirectX10のサンプルみたら、三角形ポリ描画するだけでシェーダー必要とかXファイルがサポートされてないとかアホか。 DirectX使うのは思いついたゲームをちゃちゃっと作りたいからなのに、生産性下げてどうする・・・
371 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 20:28:33 ] 質問です 頂点ブレンディングはDirectXの機能で実装するのと 頂点シェーダで実装するのとでは、どちらが一般的ですか?
372 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 21:52:57 ] >>371 調査統計をとるようなマーケティング能力や、 規格を立ち上げる権限をもった人間がいるわけでもないのに、 そんな不確定な情報を誰とも知らない人間に聞くその意図を明確にせよ。 ロボットのように命令が無ければパンツもはけないというのなら、 一般的かどうかを聞くより、最初からあらゆる事を指示してと言えばいい。
373 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 22:50:41 ] >>372 答えてやれよ。あんたは業界人なのけ?
374 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:05:41 ] まずは一般的という基準を明確にすることから始めないといかんだろ。
375 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:08:23 ] 聞き方が不味かったのかな? ここの人たちはどっちでやってますか?と言う聞き方ならまだ良かったとか?
376 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:10:29 ] 人それぞれ
377 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:11:53 ] ターゲットマシンによるべ あくまで古いマシンでも動かしたいなら頂点シェーダ使うのはきびしいんじゃね?
378 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:12:24 ] おまえら意地悪ですね 俺はこうしてるってだけでもいいんじゃないの
379 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:18:02 ] そもそもシェーダを利用するのはDirectXの機能とは言えないのか? シェーダを利用するしないに限らず、ハードが対応していなければ、 DirectX側がエミュレーションするし、していなければハードが処理するだけで、 データを渡すのはDirectXが処理していると言える。
380 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:20:17 ] 行間から固定機能パイプラインorシェーダと読めたんだが違うのかな?
381 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:20:18 ] つまりDirectXではなくOpenGLからシェーダを利用するかどうかという話なのだろう。
382 名前:デフォルトの名無しさん mailto:sage [2008/05/07(水) 23:34:58 ] どちらが一般的かと言われれば固定機能パイプラインだろう なぜならそれしかなかったから だが、いずれ消え行く技術をいまさらやってもだし シェーダーでやっといたほうが後々まで使えるんでね?
383 名前:291 mailto:sage [2008/05/08(木) 00:04:46 ] 仕方が無いのでDXUTの解析から始めようと思います。 (解析して光明が見えてくればいいのですが・・・)
384 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 00:51:33 ] 馬鹿はシェーダーを使えない。それだけ。
385 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 01:43:58 ] 頂点ブレンドってスキンメッシュとかのことよね? だとしたら、一般的とかいうより色んな制約で変わってくるんじゃね? ・自前形式ではなくXファイルを使うなら、D3DXのスキンメッシュサンプルと 同じ方法が使える ・でもそのやり方だと行列パレット使うので関節のSLERPが出来ない(LERPになる) そこらへんにこだわると、必然的に自前コードで広げることになる ・でも固定機能パイプラインの行列パレットは、最近のビデオカードではほとんど ハードウェアサポートされてない(ソフトウェア頂点処理に頼ることになる?) ・頂点シェーダで計算する場合、シェーダ3.0までは定数レジスタが256しかないので 1ボーンあたり3レジスタ(SLERPなら2で足りるが)だとすると80ボーンしか使えない 俺がやった限りこういう事情が絡んで来たから、色々調べつつ 自分のやりたいことと照らし合わせてたら必然的にやり方は決まるよ。
386 名前:デフォルトの名無しさん mailto:sage [2008/05/08(木) 09:04:59 ] DirectX9使ってるんですけど ID3DXEffect::SetTexture とか ID3DXEffect::SetFloat って コスト高いんですかね? ループの内側で使っちゃダメかな?