DirectX総合スレ (Part4)
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2005/11/26(土) 01:58:58ID:RjcSZKi5ゲーム製作技術スレに戻ってきました。
DirectXについて、にいさま達がマターリと
技術情報交換&雑談するためのスレッド。
初心者用相談室では扱わないような少し高度な話題も受け持つ。
ちなみに、言語はC++がメイン。
C# / VB.NET 使いは、専用スレの方が話がスムーズに進むと思われ。
0071名前は開発中のものです。
2006/01/03(火) 13:18:49ID:RaSlQRmC日本語おかしいぞw
SDK9は下位(SDK8)に対して互換があるから下位互換でいい。
0072名前は開発中のものです。
2006/01/03(火) 13:42:58ID:m62LrqZ6上位互換と下位互換間違っているのはお前ですよ?ぷ
いつまで経ってもこういうのが撲滅できないのは何故だろう?
0073名前は開発中のものです。
2006/01/03(火) 14:08:01ID:IhCpS2m8→ライブラリ中のインターフェィスをFixすることで、将来の互換性を保証するとか
下位互換ってのは、過去の資産に対して互換性を保証するものなんでないの?
→以前のライブラリのインターフェイスをそのまま残すことで、過去の資産に対しての互換性を保証するとか
これでいいんだよな?(´・ω・`)
0074名前は開発中のものです。
2006/01/03(火) 14:09:07ID:GbXTFLElオマエの悩みはオマエにとって下位互換という言葉が未定義だからだよ(俺も知らんがなw)
上位互換はUpper Compatibilityの訳語
ttp://e-words.jp/w/E4B88AE4BD8DE4BA92E68F9B.html
で一般に流通する言葉だから、それを使うのは正しい。つまりオマエは間違ってない(よかったな
しかし下位互換という言葉を使用する人間をオマエが撲滅すべき理由など無い
アッパーコンパチは下位にたいして互換性を持つことを言うんだ、下位互換って言葉を
一般的には上位互換という訳語を当てた<アッパーコンパチ>の新訳語と思えばいい
つまり同義語。 (これで撲滅しなくて良くなったな
まあ、上位互換が間違っていて下位互換が正しいという意見は確かにアレですが
0075名前は開発中のものです。
2006/01/03(火) 14:11:12ID:RA+XcytThttp://e-words.jp/w/E4B88BE4BD8DE4BA92E68F9B.html
>旧バージョンのアプリケーションソフトが、新バージョンのアプリケーションソフトで作成したファイルを扱える
つまり9のSDKで開発したソースがDirectX8で扱えなければならない。
>http://e-words.jp/w/E4B88AE4BD8DE4BA92E68F9B.html
今回の場合はこっち。
旧バージョン用のSDKのソースを新バージョンのSDKで扱えるように配慮されているから上位互換。
この程度のことも混同してしまう人間が、少なくとも二人いることに驚いた。
この話は何度も出てきているんだが、いつまで経っても撲滅不能。
0076名前は開発中のものです。
2006/01/03(火) 16:17:21ID:gYcG4vzGところでSDKの互換性とDirectXの互換性は別の話だっちゅうの。
2004Octじゃないとビルドできないソースとかあるでしょ。
0077名前は開発中のものです。
2006/01/03(火) 16:46:11ID:1exWxw8s完全でない下位互換ならわざわざ下位互換とか書かないよな
0078名前は開発中のものです。
2006/01/03(火) 19:42:21ID:RaSlQRmCd3dx8.hってMSにしては使ってほしくないの?
0079名前は開発中のものです。
2006/01/03(火) 20:07:49ID:9GyAyU1c0080名前は開発中のものです。
2006/01/03(火) 20:26:00ID:dr3rQ39xカメラ位置の設定がうまくできず悩んでいます。
Z軸の単位ベクトルで初期化したベクトル(0,0,1)を用意し、自キャラの向きに合わせて回転させ、
適当な倍率とマイナスをかけて、自キャラの後方をカメラ位置に設定しています。
カメラを固定位置にすると自キャラの動作は正常なのが確認できるのですが、
D3DXVECTOR3 vecEyePt = Player.vecPosition + cameraPosition;
とカメラ位置を設定すると、以下のように意図しない結果がでてしまいます。
・旋回操作をしても自キャラの向きが変わっていない(まわりの物体の位置もそのまま)
・自キャラに当たる照明の位置だけが変わっている
・カメラ位置がZ軸上から動いていない
http://syobon.com/mini/src/mini13422.txt ソース
ご指摘・アドバイス等いただけましたら幸いです。よろしくお願いいたします。
0081名前は開発中のものです。
2006/01/03(火) 20:55:48ID:77LCEHqD008280
2006/01/03(火) 21:19:10ID:dr3rQ39xまだ入門書のサンプルに毛を生やす程度の能力しかなくて、すみません。
よろしければご助力ください。あるいはスレ違いでしょうか?
0083名前は開発中のものです。
2006/01/03(火) 22:18:02ID:77LCEHqDttp://syobon.com/mini/src/mini13429.zip
0084名前は開発中のものです。
2006/01/03(火) 22:25:22ID:yoa4vEYcd3dx9_26.dllが見つからなかったため、このアプリケーションを開始できませんでした。
0085名前は開発中のものです。
2006/01/03(火) 22:28:29ID:77LCEHqD0087名前は開発中のものです。
2006/01/03(火) 22:48:43ID:77LCEHqDttp://syobon.com/upload/src/syobon37980.zip.html
DLKeyはsage
0088名前は開発中のものです。
2006/01/03(火) 22:53:45ID:yoa4vEYc0089名前は開発中のものです。
2006/01/03(火) 22:54:58ID:77LCEHqDcameraPosition = -3*vecAxisZ;//*****カメラ位置を算出*****
↑これの書く場所がマズイ
0090名前は開発中のものです。
2006/01/03(火) 22:56:39ID:KZ+4/uIFttp://www.toymaker.info/Games/html/d3dx_dlls.html
0091名前は開発中のものです。
2006/01/03(火) 23:03:07ID:y0S1Z1dn009280
2006/01/03(火) 23:49:37ID:dr3rQ39x>
>↑これの書く場所がマズイ
軸の回転前に書くとカメラが移動しなくて、回転後だとやっぱり同じ結果になってしまいます。
回転後にカメラを移動させればいいとは思うのですが、どうしたらいいでしょうか?
>>91
デバッガの使い方もままならず、四苦八苦しています。無知で大変ご迷惑をおかけします。
0093名前は開発中のものです。
2006/01/03(火) 23:50:43ID:9GyAyU1c0094名前は開発中のものです。
2006/01/03(火) 23:57:19ID:77LCEHqDカメラが考慮すべきなのはThing[1]の向きのはず。
今のままだと、謎のオブジェクトThing[3]の向きが参照されちゃうよ。
0095名前は開発中のものです。
2006/01/04(水) 00:02:04ID:77LCEHqD009680
2006/01/04(水) 00:22:31ID:I2EUgBKX解決しました。的確なアドバイスをありがとうございます。
関数が呼び出されるごとに全オブジェクトのfHeadingが参照されているのは盲点でした。
今回の失敗を忘れず精進します。重ねてお礼申し上げます。
0097名前は開発中のものです。
2006/01/04(水) 00:38:19ID:ST0owyWY0098名前は開発中のものです。
2006/01/04(水) 00:54:58ID:5Nauf3er0099名前は開発中のものです。
2006/01/04(水) 00:56:51ID:D/Giqh7w次は>>83のサンプルのように滑らかな回転・移動に挑戦してみよう。
010080
2006/01/04(水) 01:48:39ID:I2EUgBKX確かに、そのままだとガクガクしますね。
カメラの軌道が綺麗な円ではないということでしょうか?
自由に移動するには自キャラの状態を複数用意して、
前進/後退や旋回を組み合わせられるようにする必要がありますね。
010180
2006/01/06(金) 03:27:28ID:yOgH2a1dDirectInputを使って滑らかに動かせるようになりました。
ウィンドウズのメッセージは複数保持できないんですね。
0102名前は開発中のものです。
2006/01/06(金) 17:57:55ID:CzT0iPUW期待のルーキーage
0103名前は開発中のものです。
2006/01/06(金) 19:22:13ID:UJecrW5H0104名前は開発中のものです。
2006/01/08(日) 12:51:40ID:8kkYStN7ほとんど頂点の共有がないんですけど、最近はストリップ化とか気にしない時代なんでしょうか?
0105名前は開発中のものです。
2006/01/09(月) 01:19:00ID:LqKePeRw(0, 0) - (10, 0) - (0, 10) - (10, 10)
の4点で正方形のポリゴン作ったとき、正方形1辺の長さは 10 じゃなくて 11 でいいのか?
0106名前は開発中のものです。
2006/01/09(月) 01:25:25ID:RUFAIm+Nを考えれば自ずと答えが出る。
0107名前は開発中のものです。
2006/01/09(月) 02:39:50ID:QMumG5Le0108名前は開発中のものです。
2006/01/09(月) 09:35:11ID:aWgct96kSDKヘルプの「ラスタ化ルール」のページをよく読んで考えたまえ。
0109名前は開発中のものです。
2006/01/10(火) 01:53:07ID:OISJ4YrCアナログスイッチを入れると十字キーが使えず、切るとスティックが使えません。
スティックの方は押し込み(いわゆるL3・R3ボタン)入力が欲しいです。ご存知でしたらご教授お願いいたします。
0110名前は開発中のものです。
2006/01/10(火) 01:56:01ID:18zzXvay0111名前は開発中のものです。
2006/01/10(火) 02:21:13ID:mShlUrVT使えませんといわれても困るんだが……。ちゃんと使えるし、入力も受け取れるよ。
0112名前は開発中のものです。
2006/01/10(火) 02:25:08ID:18zzXvay0113名前は開発中のものです。
2006/01/10(火) 02:39:55ID:OISJ4YrCttp://www.twin-tail.jp/contents/vsdx8/di/003/index.htm
ここのサンプルで試しても入力が受け取れなくなるんですが、記述次第で解消できるんでしょうか。
0114名前は開発中のものです。
2006/01/10(火) 03:00:25ID:CgH5eV8/アナログOFF: 右スティック(-,-) 左スティック(-,-) 十字キー(lX,lY)
以前使ってたPS2コントローラ変換アダプタだと、こんな感じだったと思う。記憶違いもあるかも。
製品ごとにこの辺の仕様は違うと思うので決めうちは危険。
柔軟性の高い環境設定ツールを作って、自由に割り当てを変えられるようにするしか。
0115名前は開発中のものです。
2006/01/10(火) 03:10:46ID:OISJ4YrC十字キーをボタンに設定したら動作しました。ありがとうございます。
近いうちに設定ツールにも挑戦してみようと思います。
0116名前は開発中のものです。
2006/01/13(金) 01:19:45ID:RtyKiqPLスプライトの反転や回転が上手くいきません。
ttp://www.gdncom.jp/general/bbs/ShowPost.aspx?PostID=39912
にある方法でも、位置がずれたりします。
Matrix.Transformation2Dの引数や動作がいまいち理解出来てません。
知ってる人いたらお願いします。
0117名前は開発中のものです。
2006/01/13(金) 06:03:27ID:BgGyoFL/0118名前は開発中のものです。
2006/01/13(金) 09:06:53ID:Ghg7jH1Fがんばッ!
0119名前は開発中のものです。
2006/01/13(金) 19:13:40ID:5JJU4ubQ0120名前は開発中のものです。
2006/01/14(土) 08:33:02ID:LJK2jp1a0121名前は開発中のものです。
2006/01/14(土) 17:28:33ID:g4CwQE8J0122名前は開発中のものです。
2006/01/14(土) 18:53:28ID:giQtcL/n0123名前は開発中のものです。
2006/01/14(土) 19:15:07ID:qNke3Hgr0124名前は開発中のものです。
2006/01/15(日) 11:30:22ID:FIMsPmAL0125名前は開発中のものです。
2006/01/18(水) 01:02:29ID:XXhLgbEgクラスを作ろうと思っています。そこで迷ってるんですがDirectInputを使うときに
まず1個メインでどのインターフェースにも使用される変数とかを宣言してそれに
派生させたほうがわかりやすいんでしょうか?1個のクラスに3つのインターフェース
を動かすための変数とかを宣言するとわかりにくいかなと思って皆さんはどっちが
見やすいとかどっちだとこういう問題があるとかアドバイスありましたらお願い致します。
0126名前は開発中のものです。
2006/01/18(水) 01:49:41ID:ywg82UUl案ずるより小野ヤスシ。
0127名前は開発中のものです。
2006/01/18(水) 20:38:29ID:KD7Nsg+B0128ぶっそれんれ
2006/01/18(水) 21:56:27ID:+6B9dpNWたいしたDirectXの技術どころかC++についてもまだまだですが、Cだけでがんばってやってきました
まあそんなこんなでよろしくお願いします
0129ぶっそれんれ
2006/01/18(水) 22:02:19ID:+6B9dpNW0130名前は開発中のものです。
2006/01/18(水) 22:05:51ID:HnrOH1dc作ったんですが、マクロで3つそれぞれを使用するしないを設定したら
中が読みにくくなったんでどうしようか迷って聞いたんですよ。
0131mebius
2006/01/18(水) 22:48:12ID:zWunAqfb実行すると「d3d10.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションを
インストールし直すとこの問題は解決される場合があります。」と表示され実行できません。
再インストールも行いましたが解決できませんでした。実行するにはどうすれば良いでしょうか。
0132mebius
2006/01/18(水) 22:57:32ID:zWunAqfbWindowsXPです。
0133名前は開発中のものです。
2006/01/18(水) 23:05:44ID:fJknqpuy0134mebius
2006/01/18(水) 23:22:17ID:zWunAqfbすばやい回答ありがとうございます。ですが、私は初心者なためどうすればいいのかわかりません。
もう少し詳しく教えていただけないでしょうか。
0135名前は開発中のものです。
2006/01/18(水) 23:36:49ID:4Jwx/gGiCからやりなおすとか
0136名前は開発中のものです。
2006/01/18(水) 23:37:04ID:reEqy/wXヒント:神棚の上
0137名前は開発中のものです。
2006/01/18(水) 23:40:37ID:PU+OMtel0138名前は開発中のものです。
2006/01/18(水) 23:57:13ID:q+CTZNqR0140名前は開発中のものです。
2006/01/19(木) 00:19:13ID:wJ5oggz1十字キーがレバーでもボタンでもなく
ハットスイッチに割り当てられているので気をつけろ。
0141名前は開発中のものです。
2006/01/19(木) 01:55:57ID:ofdW8ZZ+プレビューだべよ。
0142名前は開発中のものです。
2006/01/19(木) 05:18:35ID:9aPiZjT2レバーってなんだよw
0143名前は開発中のものです。
2006/01/19(木) 09:56:26ID:wJ5oggz1lXとlYのことだYO
0144名前は開発中のものです。
2006/01/21(土) 08:41:39ID:AtSEXr0qでもパチンコでその何倍も摩る俺
0145名前は開発中のものです。
2006/01/21(土) 10:38:35ID:AkBWMdLf0146名前は開発中のものです。
2006/01/21(土) 11:20:15ID:E5l3VzaB今作ってるゲームでゲームパッド対応してるんだけど、どの
ゲームパッドでも動くか自信がない。
0147名前は開発中のものです。
2006/01/21(土) 14:16:10ID:q3UiUWCR機種によるかもしれないけど大抵、
機能的には全て(XY・スライダー・ハットスイッチ・12ボタン)を満たしていると思う。
0148名前は開発中のものです。
2006/01/21(土) 14:26:32ID:h7E5eDAGボタンだけで128個必要な罠
実際はPCでも、XBOX360コントローラーの配置が標準に
なると思うから、あれに合わせておけばOKじゃない?
0149146
2006/01/21(土) 17:34:01ID:E5l3VzaBXBOX360コントローラー買ってみる。
0150名前は開発中のものです。
2006/01/21(土) 17:35:31ID:1s2WNTOsだれもがXBOX360コンを使ってるわけじゃないし。
0151名前は開発中のものです。
2006/01/21(土) 19:11:09ID:h7E5eDAG事実上PS2のコントローラーと同じだし、今店頭に
並んでいるPC用コントローラーも、同じ配列の物が多い。
もちろん、どのボタンがどの番号に割り振られているかの、
カスタマイズは必要。
0152名前は開発中のものです。
2006/01/24(火) 03:55:25ID:Vi8mCoXD最後まで再生したら即releaseが一番単純でいいんだろうけど、
またすぐに鳴るだろうことを予測してバッファを開放しないでおいてあげよう
ということで頻出する効果音のために確保したバッファを
ある程度長い時間開放せずにとっとくようなことをしたら
いくつまでバッファを待機させておけるのかということが問題になってきた。
サウンドカードによって同時に作れるセカンダリバッファの数に違いがあるようで
といってcapsを調べてもまともに最大数を教えてくれてる様子がなく
CreateSoundBufferがFAILEDして初めて「あーもうこれ以上つくれないのか」と分かる始末。
最初に一度FAILEDするまでCreateSoundBufferしまくって最大許容量を調べなきゃならんの?
0153名前は開発中のものです。
2006/01/24(火) 05:05:57ID:mDNWO7360154名前は開発中のものです。
2006/01/25(水) 00:34:57ID:bWwmbfaN0155152
2006/01/25(水) 03:46:05ID:lcoKZLm5公開したところ、確保した数が増えてくるとCreateSoundBuffrerがINVALID_CALLを返す
環境もあるようで、いったいなんなんだこれはと困惑してる次第で。
一般に公開してるゲームを作ってる人は効果音のキャッシュ制御とか
セカンダリバッファの確保の仕方とかどうしてるの?
こういう不具合報告が来たことないですか?
>>153,154
問題がでてるのが配布した先の他人の環境なんで、ちょっと試すってわけにもいかないので
何かフラグの指定に問題があることに確信があるなら情報を書いてしまったほうがいいかも
「うまくいかない〜」「○○のオプションを指定してみたら?」「動きました〜ありがとうございます〜(^▽^)」
みたいな流れには残念ですがなりようがないです
0156名前は開発中のものです。
2006/01/25(水) 05:37:26ID:bWwmbfaN・全部DSBCAPS_LOCSOFTWAREフラグ
・DSBCAPS_LOCDEFER フラグを付けたりとかなんとかし、再生時にハードウェアに割り当てされるようにする。
やや面倒な後者のやり方をやっても、何がどう良くなったのか体感できないことが多いと思う。
なので、多くのゲームでは前者のやり方だけでやってる気がするけど、どうだろうね。
「CTRLFXのリバーブは使い物にならないからEAXを使う」ときには後者が必須だったかもしれん。
DirectSoundのリソース管理。
http://www.microsoft.com/japan/msdn/library/ja/jpdnaudio/htm/DirectX8.asp
http://www.microsoft.com/japan/msdn/library/ja/DirectX9_c/directx/htm/idirectsoundbuffer8play.asp
0157名前は開発中のものです。
2006/01/25(水) 09:37:38ID:f0zPsCZbファルコムのゲームはオプション設定見る限り真面目にやってそうだ。
0158153
2006/01/25(水) 09:39:16ID:gmXOMyeO>問題がでてるのが配布した先の他人の環境なんで、ちょっと試すってわけにもいかないので
>何かフラグの指定に問題があることに確信があるなら情報を書いてしまったほうがいいかも
>「うまくいかない〜」「○○のオプションを指定してみたら?」「動きました〜ありがとうございます〜(^▽^)」
>みたいな流れには残念ですがなりようがないです
その言葉、そっくりそのまま君に返すよ。
0159152
2006/01/25(水) 09:48:05ID:lcoKZLm5DSBCAPS_LOC* を切り替えてCreateSoundBufferしまくるプログラムをつくってみた
へたれな音チップをもってる人はぜひともためしてみてほしい
ちなみに不具合報告がきたプログラムではLOC関係のフラグは何も指定してなかった
なので、何もチェックしてない状態で数個しかバッファがつくれない人が、
SOFTWAREとかDEFERをチェックすると何個もバッファがつくれるようになった!
という事態が起これば万々歳。
効果音の管理について俺はこうしてるとかいう話も誰かあったらお願いします。
バッファをいくらでも作れるとなると、最初にステージにでてくる全部の音用に
バッファを先に作っちゃうみたいなのがスタンダードなのかな?
0160名前は開発中のものです。
2006/01/25(水) 10:40:02ID:IvJR3rHxDSBCAPS_LOCDEFER : 256以上まで問題なす。それ以降は測定してません。
DSBCAPS_LOCHARDWARE : 32個でfailed
OS : WinXP Pro SP2
Chip : ASUS P4P800-X Onboard SOUNDMAX
0161名前は開発中のものです。
2006/01/25(水) 10:58:42ID:LjkjN1ec-------------------
Creative SB Extigy(USB外付け音源)
DSCAPS.dwFreeHw3DAllBuffers = 63
DSBCAPS_LOCHARDWARE : 63個でfailed
他は256以上で問題なし
-------------------
Realtek AC97 Audio(Intel(R) 82865G オンボード)
DSCAPS.dwFreeHw3DAllBuffers = 16
DSBCAPS_LOCHARDWARE : 16個でfailed
他は256以上で問題なし
-------------------
0162161
2006/01/25(水) 11:02:09ID:LjkjN1ec0163名前は開発中のものです。
2006/01/25(水) 23:14:19ID:7lmwJHQHDSBCAPS_LOCDEFER指定すればいいと書いてあるお
0164名前は開発中のものです。
2006/01/26(木) 00:05:56ID:800Kzw0NどうやらDirectX診断ツールなどでアクセラレータレベルを、
基本以下にしていたらHARDWAREは必ず失敗する模様。
HARDWARE以外は特に問題ない模様。
0165名前は開発中のものです。
2006/01/26(木) 06:59:14ID:1Kh9mvq4不具合が起きるボードがあるという書き込みがあったので
デフォルトではソフトウェアにしてる。
今時は CPU >>> PCI/ISA なので単純なストリーム再生程度ならソフトウェアでも
十分ではなのかな、と思ったり。ハードウェアアクセラレーションを使用する
場合はそうはいかないでしょうけども。
0166165
2006/01/26(木) 07:01:33ID:1Kh9mvq4s/ハードウェアアクセラレーション/ハードウェア固有の機能/g
0167名前は開発中のものです。
2006/01/31(火) 22:30:34ID:2wKQz4F0BeginとかEndとかなくなってるっぽいんだが…
0168名前は開発中のものです。
2006/01/31(火) 22:33:55ID:h1AVmLhK0169167
2006/01/31(火) 23:14:26ID:oLECRlbcやっぱそうですか…ほんと仕様変わりすぎですわ。
とりあえずデバッグ用なんでGetDCとかでやっときます。
D3DFont回りが速くなったと聞いたんで使ってみたかった…
0170名前は開発中のものです。
2006/02/02(木) 20:02:36ID:ffj/czdZXファイルとして書き出すにはどうしたらいいのでしょうか?
リファ読んでも本屋で立ち読みしても分かりません。
■ このスレッドは過去ログ倉庫に格納されています