鬱だ氏のう DirectX (Part 16)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2005/11/26(土) 21:10:02技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。
■過去スレ
DirectX総合スレ
http://pc5.2ch.net/test/read.cgi/gamedev/1083728025/
DirectX総合スレ (Part2)
http://pc5.2ch.net/test/read.cgi/gamedev/1095863432/
DirectX総合スレ (Part3)
http://pc5.2ch.net/test/read.cgi/gamedev/1105333209/
■関連スレ
【C++】 DirectX初心者質問スレ Part7 【C++】
http://pc8.2ch.net/test/read.cgi/tech/1132216611/
■関連サイト
- MSDN > DirectX
http://www.microsoft.com/japan/msdn/directx/default.asp
- DirectX Home Page
http://www.microsoft.com/japan/windows/directx/default.mspx
- DirectX Info Lib (デバイス情報のデータベース。すばらしい!)
ttp://www.netsphere.jp/dxinfo/
- BBX(掲示板)
ttp://isweb8.infoseek.co.jp/computer/bbx/
0232デフォルトの名無しさん
2006/03/26(日) 18:30:34って話さねぇ
0233デフォルトの名無しさん
2006/03/26(日) 18:38:06ブレンド相手のモーションとのスケールや角度の差が大きければ、
ねじ曲がったり潰れたりする。
中間姿勢まで大量に作るつもりなのか?
そんな無駄な苦労をするくらいなら、最初から行列で吐かなければいいだけ。
何故固執するのか分からん。
0234デフォルトの名無しさん
2006/03/26(日) 19:20:390235デフォルトの名無しさん
2006/03/26(日) 20:01:51COLLADAとかどうなるんだろ
0236デフォルトの名無しさん
2006/03/27(月) 01:45:24>何故固執するのか分からん
そういう方法があってもいいじゃん。
気に入らないならサポートしなければいいだけで。
ルーチン自体は至って単純だし、Tinyのサンプルもサンプルとして十分な動きで動いてるじゃん。
良い悪いは別として「使える」ってところは大きいと思うけどね。
この方法の方が都合いいことってのもなんかあるかもしれないわけだし。
DirectXの開発者がヘルプを変更してまで追加してみたフォーマットなんだからなんかいいことあんじゃないの?
俺がいいたいのは「あってもいいでしょ?」ってこと。
0237デフォルトの名無しさん
2006/03/27(月) 02:21:19可能性だのなんだの、お花畑PTAや厨房アニメの奇麗事みたいなこと言ってんな。
ないの。いいところは全く。
↓そうじゃないってんなら、思いつくのを書いてみろ
0238デフォルトの名無しさん
2006/03/27(月) 02:38:26なんとも香ばしい状態でして、あれを実用するとなるとちょっと・・・
0239デフォルトの名無しさん
2006/03/27(月) 02:44:39ちょっと、何だよ?
言いたいことがあるならはっきり言ってみろってんだ。
0240デフォルトの名無しさん
2006/03/27(月) 02:44:46そもそもMaxで出力された奴は時間の概念がおかしいからうっとうしい・・・
マトリックスキーで最大の欠点は任意のスピードの再生が出来ないことだな。
スローモーションとか補間できないからカクカクになる。
高速再生も整数倍でしかできないし。
0241デフォルトの名無しさん
2006/03/27(月) 07:03:33そんなのDirectXの開発者に聞けよ。
逆に聞くけど、Tinyのサンプルで何かまずいことあるの?
サンプルならあれで十分じゃないの?
0242デフォルトの名無しさん
2006/03/27(月) 08:28:250243デフォルトの名無しさん
2006/03/27(月) 11:44:07お前もアニメの悪役みたいな台詞で必死になるなって
モーションブレンドが必要ない状況ならあれが高速で使いやすい。
問題はモーションブレンドが必要な時が多いのに行列キーしかサポートしてないって点だろ
0244デフォルトの名無しさん
2006/03/27(月) 15:55:22ID3DXAnimationControllerだっけ?
あれがなかったころのskinnedmesh.cppの実装は
行列キーのは線形補完じゃなくて本当にコマ送り処理だったな
0245デフォルトの名無しさん
2006/03/28(火) 12:51:46各種ゲームスレで「XPなんですけどこれ動きますか?」が何回書き込まれるんだろう
0246デフォルトの名無しさん
2006/03/28(火) 13:11:25なんだかんだで楽しそうでもあるな。
0247デフォルトの名無しさん
2006/03/30(木) 15:11:43D3DXMatrixIdentity(&matW);
static float g_rotY =0,x=0,z=0,big=1;
g_rotY +=0.1f;
D3DXMatrixRotationYawPitchRoll( &matW, g_rotY, 0,0 );
D3DXMATRIX matrix;
D3DXMatrixTranslation(&matrix,x,0,z);
x+=0.01;
//z+=0.5;
matW*=matrix;
D3DXMATRIX ScaleMat;
D3DXMatrixScaling(&ScaleMat,big,big,big);
matW*=ScaleMat;
big+=0.009;
ど〜ん^^
0248デフォルトの名無しさん
2006/03/30(木) 15:22:25マジ感動した!!
0249デフォルトの名無しさん
2006/03/30(木) 18:01:500250デフォルトの名無しさん
2006/03/30(木) 20:30:33これは元々ブレンドとか補間とかが必要でない状況に用意されてる物であって
その他の状況で使う物ではないのと思うのですよ.
例えばいわゆるポリゴンムービーとか決まり切ったモーションを
フレームベースで処理するときなどに使用するのではないかと.
ブレンドも補間も必要ないから他のキーでは無駄でしょ?そんな時に応えてくれるのがマトリクスキーです.
ブレンド云々言っている方は道具の使い方間違ってるだけでマトリクスキーを責めるのはお門違いだと思う.
まあマトリクスキーしか出力出来ないソフトはポリゴンムービーしか
想定してないということではないでしょうか...
0251デフォルトの名無しさん
2006/03/30(木) 20:50:13ムービー用途で長時間動かしたら、行列の束だけでバイナリでもMB単位。
0252デフォルトの名無しさん
2006/03/31(金) 01:12:12数フレーム毎に9x4BYTEで済むが、
マトリックスキーは毎フレーム16x4BYTE必要。
メモリ気にしないでいいPCだからこその手法ってとこだな。
0253デフォルトの名無しさん
2006/03/31(金) 01:27:591だったかもしれない。
PSに移植するときにキーフレームに直したとか。
0254デフォルトの名無しさん
2006/03/31(金) 01:58:39それは多分元データがモーションキャプチャだからね。
行列で持つにしても、せめて変化しない部分
(左作用のDirectXなら4列目)は省略するべきね。
0255デフォルトの名無しさん
2006/03/32(土) 04:30:09そんな面倒臭ぇことする必要ねぇだろ。
容量に問題有りってならする必要あるけど、ないならやらんでもいいでしょ。
メモリにはいりゃ終わりな話でしょ。
0256デフォルトの名無しさん
2006/03/32(土) 09:16:49個人的に"モーションデータはかさばる"っていうイメージが
しみついてるから、どうしてもケチくさく考えちゃうのよね。
でも、そもそもメモリ重視なら行列は選ばないんだから、
そこで小細工しなくてもいいかもね。
ホビープログラムだと、モーションデータを用意するだけで大変で、
とにかくちゃんと再生できることが重要なんだから(PC環境だからメモリも十分あるし)
変にトラブルの元を作らない方がいいのよねきっと。野暮だったわね。
0257デフォルトの名無しさん
2006/03/32(土) 09:18:510258デフォルトの名無しさん
2006/03/32(土) 09:32:46選択肢がないなら無駄に容量を食おうがブレンドできなかろうが諦めろ。
0259デフォルトの名無しさん
2006/03/32(土) 15:06:35読み込み書き出しぐらい簡単にしたいものだが
0260デフォルトの名無しさん
2006/03/32(土) 18:38:26なんかコンパイルとおらんのやけど・・・
0261デフォルトの名無しさん
2006/03/32(土) 19:06:43つまり目的は問題を解決することではなく、
エスパーを探し出すことなのか?
だったら板違いだ。
0262デフォルトの名無しさん
2006/03/32(土) 19:37:430263デフォルトの名無しさん
2006/03/32(土) 20:29:36使ってる人はいません
1人も
どこ探してもいません
諦めよう
0264デフォルトの名無しさん
2006/04/03(月) 22:30:04レジストリ(Current_User\Software\Microsoft\DirectInput)の下に
実行体の名前+Hex文字列
のキーが作られていくのですが、これを回避する方法ってないですか?
MSDN見るとレジストリにキーを作ると書いてあって、
消す方法(フラグなど)は全く見あたらないのです。
※仕様ですって言われてしまえばそれまでですけど。
どうしても消したかったら、
プログラム終了時に自力で消すしかないのでしょうか?
0265デフォルトの名無しさん
2006/04/12(水) 20:53:47これらは自前で描画するしかないのでしょうか?
CustomUIサンプルではDXUTを使ってこれらの機能をDirectXと共存させていますが
これを商業製品に使っても問題ないのでしょうか?
性能やデバッグのしやすさと言った部分での判断ができないのでDXUTを使った事がある方いらしたら教えてください。
0266デフォルトの名無しさん
2006/04/12(水) 22:15:27DirectX 使うメリットがあまりないような
0267デフォルトの名無しさん
2006/04/13(木) 00:53:330268デフォルトの名無しさん
2006/04/13(木) 01:22:26「い っ た ん」入力制御を停止するとありますが実際にはたとえばウィンドウを最小化してから最大化すると
その後入力は一切受け取ってくれないっぽいのですが再び入力受付させるにはどうしたらいいですか?
0269デフォルトの名無しさん
2006/04/13(木) 01:34:210270268
2006/04/14(金) 10:14:48もしかして毎フレームやったほうがいいですか?
0271デフォルトの名無しさん
2006/04/14(金) 10:15:540272デフォルトの名無しさん
2006/04/14(金) 13:33:40ヘルプぐらい読めよ
0273デフォルトの名無しさん
2006/04/14(金) 18:51:430274デフォルトの名無しさん
2006/04/14(金) 18:57:26ヽ、メ、〉 r〜〜ー-、__
∠イ\) ムヘ._ ノ
⊥_ ┣=レヘ、_ 了
-‐''「 _  ̄`' ┐ ム _..-┴へ
| |r、  ̄ ̄`l Uヽ レ⌒', ヽ
(三 |`iー、 | ト、_ソ } ヽ
| |`'ー、_ `'ー-‐' .イ `、
| | `ー、 ∠.-ヽ ',
__l___l____ l`lー‐'´____l. |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|| .| |
|| |__.. -‐イ
|| | ノ/
0275デフォルトの名無しさん
2006/04/14(金) 20:36:55Aquire()してもう一度リトライ
じゃなかった?
0276デフォルトの名無しさん
2006/04/20(木) 14:42:46C#だとアンチが掛かるんだがこれって何が原因かわかります?
グラボはFX5700(設定は解像度と色数以外デフォ)
別PCでノートやミレG400だとどちらもアンチは掛かる。
0277デフォルトの名無しさん
2006/04/20(木) 15:46:12アンチ・アンチウイルス・ウイルスにでも罹るのだろうか。
0278デフォルトの名無しさん
2006/04/20(木) 15:50:12このスレでそれはないだろ
0279デフォルトの名無しさん
2006/04/20(木) 15:52:19わからない。
0280デフォルトの名無しさん
2006/04/20(木) 15:53:38しらない。
0281デフォルトの名無しさん
2006/04/20(木) 17:09:550282276
2006/04/20(木) 17:43:190283デフォルトの名無しさん
2006/04/20(木) 19:14:270284デフォルトの名無しさん
2006/04/20(木) 21:47:31使うだけで恥ずかしいよ
0285デフォルトの名無しさん
2006/04/21(金) 12:34:280286デフォルトの名無しさん
2006/04/21(金) 13:29:010287デフォルトの名無しさん
2006/04/22(土) 18:23:15何かいい方法はないでしょうか?
もち、デバイスはMicrosoftシンセサイザー使用時です。
DirectMusic側だと、IDIrectMusicPortあたりから生Wavが取得できそうな雰囲気なんですが、
そこから取得できるDirectSoundBufferはLockできないぽいですし、
IDirectMusicSynthあたりのような気もするのですがこのインターフェイス、
取得させるんじゃなくて自前シンセ用のインターフェイスで設定用ぽいです。
サンプルあればいいのですが、どなたか知っている方いますか?
0288デフォルトの名無しさん
2006/04/22(土) 18:39:10もう1個exe動かして録音する
0289デフォルトの名無しさん
2006/04/22(土) 19:00:07ファイルに書き込めばいいだけの話。
なんでその辺りで思考が止まるんだろう?
0290287
2006/04/22(土) 19:43:45マジデそれだけでOK?
IDirectSoundCaptureで指定するポートって、
DirectSoundの出力ポートとは違ってサウンドカードの
録音用のポートなんだけど、それでそのままWAV出力が取れれば苦労はいらんわ。
0291287
2006/04/22(土) 19:49:45MIDIAのサウンドカードとかは出力デバイスが録音デバイスとして登録できたりするんですが、
あれってかなり特例ですし。
取り合えず騙されたと思って、IDirectMusicから取得できるDirectSoundインターフェース使って
キャプチャデバイス作ってwavに落としてみるわー
0292デフォルトの名無しさん
2006/04/29(土) 15:01:20SetFrequencyを使って低音から滑らかに高音にしようとしているのですが、階段状にしか周波数が変わりません。
200〜500単位でしか音が変わらず、ドレミファ・・・と言う感じで聞こえてしまいます。
渡している値は1500〜9900で、変化する値は21/フレーム(60fps)です。
DirectSoundやSetFrequencyに階段状に周波数をあげるような設定があるわけでもないですし、
一体何が原因でこんな現象が起こるのでしょうか。
上記の原因に直結しているのか分かりませんが、同じくSetFrequencyの値を上げ下げするとノイズが入ります。
合わせてご回答を頂ければ有難いです。
0293デフォルトの名無しさん
2006/04/29(土) 18:55:570294292
2006/04/29(土) 19:56:07処理を減らすと滑らかに変動するようになりました。
しかしノイズは変わらず残ってしまいます。
ある程度処理を減らしても変わらず、他のPCでも同じ現象が出るためドライバ云々では無いと思います。
周波数を変えなければノイズは入らないので、DSound関連のそれ以外の処理や音源に問題があるとは考え難いです。
ジージーうるさいと言うかすっごい不快感(´・ω・`)
0295デフォルトの名無しさん
2006/04/29(土) 21:34:36ノイズはバッファになんか入ってるところに上書きでいれてるとかしてね?
それとも周波数が変わってデータの扱い間違えてるとかねぇ?
ストリーミングで必要なバッファって変わったりしないっけ?
いや、よくしらんけど・・・w
0296デフォルトの名無しさん
2006/04/29(土) 21:47:240297292
2006/04/30(日) 14:54:03無音ループに変えてみたらノイズがなくなりました。
>>295
周波数を変えるのって音量を変えるぐらいの存在と思っていたのですが(´・ω・`)
5秒程度のループSEなのでややこしいことはしていないんですけど、何か処理を噛まさないといけないとか・・・?
0298デフォルトの名無しさん
2006/04/30(日) 15:20:48すまん。
変わるわけない。
思いだしたけど、無音ループで正解だ。
無音を鳴らしてないと、そういえばノイズ出たわ。
0299292
2006/04/30(日) 16:23:39×無音ループに変えて、それでノイズが出たらサウンドドライバがおかしい
○既存のプログラムに無音ループを入れる
ということですか。
確かに後者をすると他のノイズもなくなりました。
裏技っぽいやり方ですが、何か原因が特定された上での対処法なのでしょうか。
0300デフォルトの名無しさん
2006/04/30(日) 16:41:28音が少しでもあれば多少なりとも±に振れるんだから
そこで強制的に0にするからノイズが出るわけで。
0301デフォルトの名無しさん
2006/04/30(日) 18:11:07逆でしょ。
0302デフォルトの名無しさん
2006/04/30(日) 19:39:480303デフォルトの名無しさん
2006/04/30(日) 19:40:150304デフォルトの名無しさん
2006/04/30(日) 19:44:310305デフォルトの名無しさん
2006/05/13(土) 17:31:24対策で無音ループ鳴らし続けるとかしたな、それと良く似てる。
0306デフォルトの名無しさん
2006/05/13(土) 22:21:35('A`) メガネメガネ
ノ ノ)_
0307デフォルトの名無しさん
2006/05/19(金) 08:42:020308デフォルトの名無しさん
2006/05/19(金) 23:41:13一八が警察に捕まったときもザマアミロと思った。
2006年の今、そんなことが思い出さされるなんてな。それには愕然とする。
0309デフォルトの名無しさん
2006/05/22(月) 13:14:26エラーが出まくってまったくお手上げです。
0310デフォルトの名無しさん
2006/05/22(月) 13:15:580311デフォルトの名無しさん
2006/05/22(月) 13:30:28ココへ行くと良い。
http://pc8.2ch.net/test/read.cgi/tech/1143225402/l50
0312デフォルトの名無しさん
2006/05/23(火) 03:38:370313デフォルトの名無しさん
2006/05/23(火) 06:17:28いや、いきなり詳細な話から入るより、まずは軽いジャブからでしょ。
とりあえずサンプルが単純にビルドボタン一発押しただけで動かない状況を伝えて
その状況にこころ当たりがある人がいてくれればそれでいいでしょ。
で、どんなエラーが出てるのよ?って話になってはじめて詳細に触れてもいいんじゃね?
0314デフォルトの名無しさん
2006/05/23(火) 06:54:44よくない。
0315309
2006/05/23(火) 11:55:51間違いがあったらおしえてください。
0.DirectX9.0(Summer2004)をインターネットからダウンロードしてインストーラでインストールしました。
1.アニメ付きX形式のファイルを読み込む方法のサンプルを知りたくて、DirectX9.0(Summer2004)SampleのDirect3DのMultianimationをビルドしようとおもいました。
2.VC++6.0で新規作成して、win32applicationのプロジェクトを選び、サンプルフォルダをほかのもまとめてデスクトップにコピーして、使いたいサンプルの位置(略\デスクトップ\C++\DIRECT3D\)にMultiAnimationというプロジェクト名で作成しました。
3.FileviewでMultiAnimationフォルダにあるcppファイル(AllocHierarchy.cpp AnimationInstance.cpp MultiAnimation.cpp MultiAnimationLib.cpp Tiny.cpp)をソースファイル、
hファイル(MultiAnimation.h resource.h Tiny.h)をヘッダファイル、rcファイル(MultiAnimation.rc)をリソースファイルとして追加しました。
4.プロジェクトの設定でリンクタブのオブジェクト/ライブラリモジュールにdsound.lib dinput8.lib dxerr9.lib d3dx9.lib d3d9.lib d3dxof.lib dxduid.libを追加しました。
5.ビルドボタンをぽちっとな。
6.インクルード ファイルがオープンできません。'dxstdafx.h': No such file or directoryと出たので上の階層にあったそれを見つけてMultiAnimationフォルダにコピーして、FileViewでヘッダファイルにそれを追加してビルドしてみる。
7.エラーが百以上でて訳わからん(;_;)
0316309
2006/05/23(火) 11:58:03Tiny.cpp
NOTE: WINVER has been defined as 0x0500 or greater which enables
Windows NT 5.0 and Windows 98 features. When these headers were released,
Windows NT 5.0 beta 1 and Windows 98 beta 2.1 were the current versions.
For this release when WINVER is defined as 0x0500 or greater, you can only
build beta or test applications. To build a retail application,
set WINVER to 0x0400 or visit http://www.microsoft.com/msdn/sdk
to see if retail Windows NT 5.0 or Windows 98 headers are available.
See the SDK release notes for more information.
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\d3dtypes.h(109) : error C2011: '_D3DCOLORVALUE' : 'struct' で示される型としてすでに定義されています。'_D3DRECT' : 'struct' で示される型としてすでに定義されています。
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\d3dtypes.h(128) : error C2011: '_D3DRECT' : 'struct' で示される型としてすでに定義されています。
−中略−
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\dsound.h(370) : error C2061: 構文エラー : 識別子 'LPD3DVECTOR' がシンタックスエラーを起こしました。
C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\dsound.h(370) : error C2061: 構文エラー : 識別子 'LPD3DVECTOR' がシンタックスエラーを起こしました。
−中略−
C:\Documents and Settings\ユーザ名\デスクトップ\C++\Direct3D\MultiAnimation\dxstdafx.h(52) : fatal error C1083: インクルード ファイルがオープンできません。'DXUT.h': No such file or directory
AllocHierarchy.cpp
NOTE: WINVER has been defined as 0x0500 or greater which enables
Windows NT 5.0 and Windows 98 features. When these headers were released,
−後略−
0317デフォルトの名無しさん
2006/05/23(火) 12:00:02>>310
0318309
2006/05/23(火) 12:10:20エラー文の、インクルードファイルが開けないという文が以下のように変化。
C:\Documents and Settings\ユーザ名\デスクトップ\C++\Direct3D\MultiAnimation\DXUT.h(13) : fatal error C1189: #error :
"The sample framework requires a Unicode build. If you are using Microsoft Visual C++ .NET, under the General tab of the project properties change the Character Set to 'Use Unicode Character Set'."
プロジェクトの設定の一般タブに文字の設定なんかないけどどうすれば?(・ω・`)
というとこで止まってます。お願いします。
0319デフォルトの名無しさん
2006/05/23(火) 12:24:380320デフォルトの名無しさん
2006/05/23(火) 12:43:270321デフォルトの名無しさん
2006/05/23(火) 12:56:16※DirectX 9.0 Update を使った C++ アプリケーションの開発には、Visual Studio .NET 2002 以降が必要です。Visual Studio 6 はサポートされていません。
インフォメーションは穴が開くほど見た方が良い。
0322デフォルトの名無しさん
2006/05/23(火) 13:25:22教えてちゃんには、特にそう言っといた方が無難だよな。
0323309
2006/05/23(火) 14:27:17もう読んだ。
http://www.microsoft.com/japan/msdn/directx/japan/dxreadme_U04_jp.asp#d3dx
※D3DX と共に Visuao C 6.0 を使うには、Extras ディレクトリにある D3DX (Extras\D3dx Visual Studio 6\d3dx9.lib) とリンクする必要があります。
と書いてあるからきっと使えるはず。
インフォメーションは穴が開くほど見た方が良い。
0324デフォルトの名無しさん
2006/05/23(火) 14:30:450325309
2006/05/23(火) 14:31:320326デフォルトの名無しさん
2006/05/23(火) 14:42:210327デフォルトの名無しさん
2006/05/23(火) 14:45:180328321
2006/05/23(火) 14:51:28あーあれだ、あれ。
それは Visual C 6.0 じゃなく、Visuao C 6.0 の事だw
インフォメーションは穴が開くほど見た方が良い。
0329デフォルトの名無しさん
2006/05/23(火) 15:01:410330デフォルトの名無しさん
2006/05/23(火) 16:02:03VC6用のlibがあります。
VC6でリンクは出来ますが、コンパイラがサポートされていないのでコンパイルできません。
コンパイルするにはどうすればいいでしょうか?
0331デフォルトの名無しさん
2006/05/23(火) 16:04:53■ このスレッドは過去ログ倉庫に格納されています