[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 10/16 22:25 / Filesize : 172 KB / Number-of Response : 810
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

DirectX総合スレ (Part9)



1 名前:名前は開発中のものです。 [2009/02/11(水) 05:00:58 ID:viN0kzG2]
言語はC++

■過去スレ

DirectX総合スレ
Part 8: pc11.2ch.net/test/read.cgi/gamedev/1205306118/
Part 7: pc11.2ch.net/test/read.cgi/gamedev/1179516297/
Part 6: pc11.2ch.net/test/read.cgi/gamedev/1163691532/
Part 5: pc8.2ch.net/test/read.cgi/gamedev/1157727402/
Part 4: pc8.2ch.net/test/read.cgi/gamedev/1132937938/
Part 3: pc5.2ch.net/test/read.cgi/gamedev/1105333209/
Part 2: pc5.2ch.net/test/read.cgi/gamedev/1095863432/
Part 1: pc5.2ch.net/test/read.cgi/gamedev/1083728025/

706 名前:名前は開発中のものです。 mailto:sage [2009/09/18(金) 01:21:18 ID:svVZT8ru]
ステンシルはいらねぇな。
->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER , D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
これで、>>689も解決だ!直ったか?


707 名前:名前は開発中のものです。 mailto:sage [2009/09/18(金) 09:05:05 ID:NpRsNZ/U]
つかー画面のクリアとポリゴン描画の半透明はまったく関係ねぇとおもうぞ

708 名前:名前は開発中のものです。 mailto:sage [2009/09/18(金) 23:14:54 ID:svVZT8ru]
そうか。最初から考えよう。

アルファ値付きPNGとアルファ値なしの画像という点で考えると、
最初の意図した描画を実現するには、
もや画像だけアルファ値付きのPNGにする。
他は通常のPNGにする。
ドローでのカラー指定はすべて、D3DCOLOR_ARGB(0xFF,0xFF,0xFF,0xFF)にする。
こうすれば、意図通りになるはず。
抜き色は普通、(0,0,0)だよな。キャラクター矩形で透明にしたいところはこれで塗りつぶしておけばいいんだよね。


709 名前:689 mailto:sage [2009/09/19(土) 00:06:43 ID:u6/AjfDD]
昨日はありがとうございました。
あれからいろいろ試した結果、
・アルファチャネルのブレンディングを有効にし、
・不透明度が大きい方を結果のアルファ値とする
このように設定すると期待通りの動作になりました。
device_->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, TRUE);
device_->SetRenderState(D3DRS_BLENDOPALPHA, D3DBLENDOP_MAX);

ttp://dl6.getuploader.com/g/1|toollove/308/WS000003.JPG
例のごとくわかりづらいですが、
「不透明なカットイン背景が半透明になって、全体背景の街が透けて見える」
という現象が無くなりました。

710 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 00:50:01 ID:FpikGG53]
>>709
なんか、もやの白が強くなって不透明に見えてるだけだね。>>692の画像と
表示のされ方は変化してないように見える。



711 名前:689 mailto:sage [2009/09/19(土) 01:29:44 ID:u6/AjfDD]
ではものすごくわかりやすい例を。
旧 ttp://dl3.getuploader.com/g/1|toollove/310/WS000005.JPG
新 ttp://dl3.getuploader.com/g/1|toollove/309/WS000004.JPG

どちらもR50%, G50%, B50% の3つのテクスチャ(不透明)をこの順に
color = D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 0xFF);
color = D3DCOLOR_ARGB(0xC0, 0xFF, 0xFF, 0xFF);
color = D3DCOLOR_ARGB(0x80, 0xFF, 0xFF, 0xFF);
でそれぞれ重ねたものです。
ソースはSetRenderStateの部分以外差異なしです。

新版では不透明(0xFF)で描画したR50%のテクスチャが
正しく不透明で表示されてるのがわかると思います。

712 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 01:39:52 ID:ujIvvLBv]
つーか単にステート関連の設定をちゃんと理解してなかっただけじゃねえの

713 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 08:02:04 ID:k3VoAMfC]
ちゃんと理解してたら質問にこないわな
お前本当にコミュニケ−ションとか理解できないじゃねえの

714 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 08:29:04 ID:FpikGG53]
>>711
分かった。意図どおりになってよかったね。謎は残されたままだが。
旧タイプは重ねるごとに透明になってるのか、不思議だね。先に
不透明で描いてるのに後から重ねると透明になっていくという謎。
最終的に合成段階でピクセルの色が決められるから、そういうことも
できるのかね。加算合成?減算合成?
g_lpd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
g_lpd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
こうやって普通の半透明じゃ、旧タイプみたいに不思議状態にはならないよな。
謎だ。



715 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 08:45:39 ID:T/T+IHq2]
っていうか、ID3DXSpriteの描画の為に
レンダーステートをいぢるっておかしくねーか?
何だかなー

716 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 08:49:26 ID:Wmk2Wipy]
素直にD3DXSpriteを捨てるとか

717 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 10:14:11 ID:hPS4eY5I]
D3DXSpriteなんて使ったこと無い。
あれ、いらないと思う。


718 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 10:45:14 ID:wVuVk5OI]
すみません。
画像保管専用用のテクスチャから、表示用のテクスチャに一部画像を送りたくて
双方をLockRect()→FillMemory()→1ピクセルずつ転送
としようとしているのですが上手く行きません。

もしかして両方LockRect()する必要なんて無かったりしますか?
BMP→テクスチャなら正しく書き込めるんですが、テクスチャ同士の書き込みは初めてなもので・・ orz

719 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 10:49:27 ID:ujIvvLBv]
なんでFillMemory?
システムのサーフェイスからVRAMサーフェイスへDMA転送するメソッドあるだろ。

720 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 11:09:55 ID:wVuVk5OI]
FillMemory・・pBits Pitchの準備でもする関数と思い込んでた。全域書き込みだったのか・・。(´・ω・`)
DMA転送の意味はググっておおよそわかったけど
システムのサーフェイス VRAMサーフェイス・・色々理解してない事が多い悪寒。
DirectX勉強続けるならこれくらい読んでおけ 的なWebや書籍あったら何か教えて下さい(・ω・`)

721 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 11:09:57 ID:8SLts9QF]
「ウマクイカナイ」という奴は、その言葉を発することで、
どれだけ解決を先送りにしているか理解していないんだろうな。

「ウマクイカナイ」と言えば、どうなってほしいのかという希望と、
現状が具体的にどうなっているのかということを説明した気になっているんだから。

722 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 11:33:38 ID:T/T+IHq2]
Direct3D9は、日本語ヘルプだけ読んでればいいよ。
D3Dのみならず、3Dグラの基本を学ぶにはとても良い資料なんで。

まずはここを全ページ読む
msdn.microsoft.com/ja-jp/library/bb173466(VS.85).aspx

723 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 11:46:24 ID:wVuVk5OI]
>>722
ありがとうございます。早速読み始めました。
書籍でも一応学んだ部分も有るので、知らないワードはググりながら読み進めて行こうと思います(`・ω・´)

724 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 14:50:51 ID:8FaGBwcO]
ヘルプは細かい事を調べるにはいいけど、
一連の流れをつかみにくいから
DirectX実践プログラミング読みなよ。
事実上、これから始めるのがスタンダードだと思うんだけど。



725 名前:名前は開発中のものです。 mailto:sage [2009/09/19(土) 17:22:47 ID:AvRxeaE8]
helpが教科書
googleが先生

726 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 10:01:57 ID:3Ar764Br]
Googleは実際はただの仲介業者で、Google含めたWeb全体が先生

727 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 17:22:38 ID:ZCm9dBJK]
>>726
検索ヒットの末尾の方とか読まんだろ?

728 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 19:11:34 ID:X77D+Jte]
いやいや、実際の学校の先生も仲介役だろう
先生を含めた世の中全体が先生って解釈もあるが

729 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 21:48:19 ID:c7TwYnTe]
ranobe.com/up/src/up397377.jpg
ranobe.com/up/src/up397378.jpg

DirectInputの勉強をしています。一応、入力した値の取得は出来たのですが、
「アナログ→デジタル」に切り替えると、なぜか「-8」が入力され続けてしまいます。
これはどうしてでしょうか?

730 名前:名前は開発中のものです。 mailto:sage [2009/09/20(日) 23:27:42 ID:r4ZVigLq]
>>729
アナログは細かい誤差が出るのである程度遊びをもって入力処理するのが基本。

731 名前:名前は開発中のものです。 mailto:sage [2009/09/21(月) 00:39:52 ID:4AGk9N1+]
>>730
そうなんですね、ありがとうございます

732 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 12:50:50 ID:V8wqdYIK]
すみませんテクスチャまわりについて2点の質問なのですが、

SetTexture関数を多用すると処理がどんどん重くなると聞き、
「連続して使う256x256のテクスチャ9枚」を切り替えまわるより
「連続ならば768x768(3個x3個)のテクスチャ1枚にした方が早い」という意味だと思うのですが
テクスチャのサイズが上がると切り替えの負担は増えるのでしょうか?
(例えば途中で1/9枚だけアクセスしたくて切り替えると無駄に重い など)

あと、水面を表現する時は「フレーム毎に別のテクスチャ」を使って表現しようと思っているのですが、
滝など流動的なものを表現する場合、テクスチャは1枚のままで
「UV座標を操作する事で表現する」なんて出来れば負荷も下がり滑らかなアニメーションが出来るかも
と思うのですが、UV座標の操作(というか抜き取りと再設定)は非現実的だったりしますでしょうか?

733 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 15:25:12 ID:3gqevorR]
やってみて遅かったら考えろ

734 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 15:45:24 ID:nTo6CkVE]
ハード次第なとこもあるから全て実測って訳にもいかないのがあれだけどな



735 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 16:11:35 ID:m/YblDRh]
昔のイメージだと256x256に出来るだけ収めて
それの切り替え回数を出来るだけ少ないようにするってのが速かったと思うんだが
今でも底辺に合わせるならそれなんじゃねーのかな

256x256にして切り替え回数をまったく減らせないのであれば大きい方1枚がいいんじゃね?

736 名前:名前は開発中のものです。 mailto:sage [2009/09/23(水) 18:37:56 ID:6iJxx7kT]
キャッシュに入っちゃったときとキャッシュで出し入れしてるかでも違うだろ
単純に切り替えて「ああ、そうか」とか結論を出すのも駄目
つまり、シーン毎にやってみるしかない

737 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 15:12:54 ID:jyLx60BE]
>>733-736
色々と知らなかった事情も知れて勉強になりました。
テクスチャを展開する場所も重要な訳ですね。
ありがとうございます。

738 名前:名前は開発中のものです。 mailto:sage [2009/09/25(金) 21:50:39 ID:CaKKOxxc]
展開する場所?

739 名前:名前は開発中のものです。 mailto:sage [2009/09/26(土) 18:16:15 ID:aslwUzky]
>>732
UVを変化させて水流などを表現する方法は、昔から標準的に使われていますよ。
(UVスクロールなどと呼ばれています。)
単純な技法ゆえに、一枚板ポリゴン上でおこなった場合は見た目があまり面白くありません。
しかし、グラフィックデザイナーの手によるポリゴンの繋ぎ合わせ・重ね合わせの妙のおかげで、
かなり見映えのする川や炎の表現になります。

740 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 01:34:23 ID:V6ttYBA5]
少し疑問があったので質問を。初心者ですいません。
皆さんテクスチャの画像形式は何を使っていますか?
今のところ最初読んだ本に従ってbmpを毎回dds形式に統一して読み込んでいるのですが、容量ばかり多くてメモリを喰うもので。。
ついでにddsファイルの利点も教えていただけるとありがたいです。

741 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 03:23:24 ID:gpJIcbqR]
多少色の再現度が落ちてもいいテクスチャーはJPGにしてる。

742 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 04:12:58 ID:jhWyqA9G]
ファイル形式変わっても、メモリを食う量は一緒じゃないの?
テクスチャ圧縮とか使うならともかく。

743 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 05:12:13 ID:+LiXIQ5c]
しかも読み込みの時間も延びる(ほんのわずかだけど)

744 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 10:38:58 ID:syUY7XWv]
DXT、ミップマップ、キューブマップ、アルファチャンネル
このへんの機能を使うならDDSオンリーになるとおもうんだけど。



745 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 12:25:33 ID:ErInkGhk]
>740
今のところddsで問題無いからddsでやってる。
まあ、テクスチャ合計で10MBくらいだから大丈夫なんだけど。
でも、圧縮かけてメモリ上に置いておくと、描画の度に展開すると速度が
犠牲になりそう。
シーンごとに必要なテクスチャを分けておいて、シーソ移動ごとに必要なものだけ
展開してメモリに置いとくとかすれば良さそう。面倒になるけど。

746 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 12:29:36 ID:cIkrjluV]
っつか普通そうするだろ

747 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 14:50:35 ID:syUY7XWv]
そもそも今時のGPUがつんでるメモリ量を考えての発言なのだろうか・・・。

748 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 15:09:16 ID:gpJIcbqR]
困ったことに「フリゲは非力なマシンで動いて当たり前」と考えてるユーザーは少なく無い。

749 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 15:09:58 ID:gpJIcbqR]
(JPGはあくまで配布の都合なんで関係ないけど)

750 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 15:18:47 ID:hp5UHszX]
WindowsMeで動かないんですけど?

751 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 15:19:38 ID:syUY7XWv]
WindowsMEとかサポートするのはただのオナニーだろ

752 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 15:25:52 ID:hp5UHszX]
ja.wikipedia.org/wiki/NScripter
フリーゲームや同人の現実

753 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 15:50:21 ID:YaqXlW2n]
フリゲや同人全般だと非力なスペックで動くゲームが一番人気あるからな、
その層を対象にするから中々スペック上げるのは難しい。
にしてもさすがにVRAM32ぐらいあれば家庭用ゲーには比べ物にならないぐらい潤沢ではあると思う。
よくある新しいPCなのに重いってのはノートだったりオンボだったりするのが原因だが、
これらの場合でもVRAMだけは多く取れると思う。


754 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 16:07:57 ID:HWAanpbA]
極限までのメモリ節約を考えないマはただの生ゴミ



755 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 16:20:30 ID:PoOE52xi]
すみません
D3DXLoadMeshFromX で読み込んだXファイルから
「法線情報」「頂点座標」「UV座標」「マテリアルNo」
にアクセス(読み書き)する方法
を解説しているサイトをどなたかご存知ではないでしょうか?

756 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 16:36:43 ID:syUY7XWv]
>>754
節約するのとサポートが打ち切られているようなOSで
動くようにするのは話が違う。

757 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 16:46:12 ID:gs3GrlUZ]
いやお前こそ何の話してるんだといいたい
ファイルの容量を上手く扱うための流れから勝手にズラしてるようにしか見えん

758 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 17:15:04 ID:6supplBE]
あまりに非力なスペックまで相手にするのは不毛だと思う

759 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 18:12:24 ID:GCjoC8mm]
内容の割に不自然に重いって感じさせなきゃいいんじゃね?
たいした事やってないのに、異様に重かったり
異常にハイスペックを要求したり、こういうのこそオナニーだよね。

760 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 18:33:23 ID:+LiXIQ5c]
メッシュの頂点フォーマットを設定して頂点バッファを取得すればいい
マテリアルNoはたぶんアトリビュートテーブル

761 名前:名前は開発中のものです。 mailto:sage [2009/09/27(日) 18:34:46 ID:+LiXIQ5c]
あ、760は>>755へのレスです

762 名前:740 mailto:sage [2009/09/27(日) 19:28:26 ID:V6ttYBA5]
なるほど。参考になりました。
やはりメモリ量を増やさないよう地道に努力するほかなさそうですね。。
とりあえずはddsで進めていこうと思います。

メモリ消費量に見合う処理を実現させたいですね。

763 名前:名前は開発中のものです。 [2009/09/27(日) 20:05:19 ID:sIMIl1Dj]
DirectXがダウンロード出来なくなっちまったが、どうしたの?

764 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 00:41:50 ID:PJwvbzf0]
DirectXは終了しました。あしからず



765 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 10:24:06 ID:moqSVWKN]
DirectXってなかなかインパクトや説得力があってイカす名前だよな
誰が考えたのか知らんけど

766 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 13:18:55 ID:XG0JgWN6]
Xファイルはドラマだか未知の謎だかで
バッドネーミングかと

767 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 13:27:20 ID:1dxmQUI2]
Directダメ、必ずデバイスドライバを通せってことだよな

768 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 15:48:36 ID:iNj0Bwp/]
マイクロソフトのX好きはMSXの昔の頃かららしいよ

769 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 15:53:43 ID:kBbiwz2h]
XWindow

770 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 16:25:24 ID:dKxmzM/8]
XNA使ったらあれほど手が出なかったゲームループが一瞬でできました

771 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 17:51:23 ID:moqSVWKN]
Xファイルからメッシュを読み込んでDirectional Lightで照らそうとしているのですが、
なぜかライトが反映されません。
アンビエントライトおよびDirectionLightのAmbient値だけは反映されますが、Diffuseはチュートリアル通りに設定しても適用されません。
ライトの方向が間違っているのかと思い、ためしにライトの方向ベクトルを回してみても変化がありませんでした。
何が悪いんでしょうか。

DXViewerでは正常にグローシェーディングで陰影がつく形で表示されました。


772 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 18:53:02 ID:AKxVarcw]
Attenuation とかの値は設定したかい?

773 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 18:55:49 ID:xoHW67fY]
>>771
そのxファイルに法線ついてる?
法線無い場合はD3DXComputeNormalsとか使わないと駄目


774 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 21:58:30 ID:moqSVWKN]
>>772
>>773
解決しました。
今回DXUTILのDXUTMeshクラスを初めて使ってみましたが、
SetFVFだけでなくSetVertexDeclで頂点データを定義することを知りませんでした。
設定すると無事ライティングが機能しましたが、DXUTMeshを使っていたことを記述するべきでしたね。
すみませんでした。



775 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 22:15:42 ID:MVcbCkFc]
>>760
ありがとうございます。情報を探してみます。

776 名前:名前は開発中のものです。 [2009/09/28(月) 22:45:30 ID:iTnMmDRC]
今現在、3Dオブジェクトとスプライトの2つの当たり判定を取りたいと思っています。

そこで3Dオブジェクトのワールド座標をスクリーン座標に変換したいのですが、そういう変換関数ありますか?


777 名前:名前は開発中のものです。 mailto:sage [2009/09/28(月) 23:17:59 ID:RzfBxwC3]
D3DXVec3Project

778 名前:名前は開発中のものです。 [2009/09/29(火) 00:44:24 ID:dMyVg2nC]
>>777

ありがとうございます。
なんとかさっきその関数を見つけることができ、実現することが出来ました。


779 名前:755 mailto:sage [2009/09/29(火) 17:40:07 ID:jAN25eYD]
すみません。
D3DXLoadMeshFromX関数 から頂点/法線/マテリアル関連 の情報を取り出す為に
「ID3DXMesh インターフェイス」msdn.microsoft.com/ja-jp/library/cc372520.aspx
これを利用したいのですが

ID3DXMesh型の変数(?)を宣言しようとすると
>'ID3DXMesh' : 抽象クラスをインスタンス化できません。
とゴッソリエラーと警告が出てしまいます。

D3DXLoadMeshFromX関数の第8引数に渡したLPD3DXMESH型では当然「ID3DXMesh インターフェイス」は
使う事が出来ないのですが・・・どうすれば良いのでしょうか。

私はどこら辺を勉強して来ればこの辺の仕組みが解るのでしょうか orz

780 名前:名前は開発中のものです。 mailto:sage [2009/09/29(火) 18:57:23 ID:dqeDC0z0]
インスタンスはポインタのアドレスを生成してくれる関数に渡してもらうんだよ。

781 名前:755 mailto:sage [2009/09/30(水) 03:34:42 ID:Bg91gg+z]
>>780
ありがとうございました。

すみません、メンバって言葉に反応してピリオドを使ったミスでした orz
すぐ下でOptimize()でアロー演算子使って動いてるのに気付かず;
失礼しました orz

782 名前:名前は開発中のものです。 mailto:sage [2009/10/01(木) 23:58:42 ID:LIkPTtwl]
すみません、3D地面とキャラクターの衝突判定についてなのですが、
距離計算(内積)と反映までは出来たのですが、
1.衝突判定の処理軽減(判定対象の絞込み)にはどういうパターンが有るのか?
2.頂点と法線 どちらで判定すべきなのか?
3.内側にめり込む事の回避方法(尖っているポリゴンの境目からや処理落ちで等の)

これらの疑問でどう作れば良いかイメージができず困っています。
基本地面を歩きまわる軽いアクションゲーなのですが、
定番の方法などが有れば教えて頂けると幸いです。

783 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 00:11:29 ID:xaTOFVmz]
どういう地面かによるけど
当たり判定取りたいキャラの真下の高さを取得してそれと当たりを取るのが最低限だろう

784 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 00:18:49 ID:z1JLtZk6]
>>782
絞込みには、そっちには4分木が有効だろう。ちょっと敷居は高いが。
marupeke296.com/COL_2D_No8_QuadTree.html

後は境界球の作成から始めればいいんじゃない?



785 名前:名前は開発中のものです。 mailto:sage [2009/10/02(金) 09:26:28 ID:/niBMC9g]
>>783
そうですね、今は数段階の判定対象の絞り込みで軽減をしてみようかと思います。
ありがとうございます。

>>784
ありがとうございます。4分木・・今はキツいですが、いずれは勉強して取り込みたいと思います。
>境界球
なるほど。点じゃなくて立体で判定すればめり込み難そうですね。 試してみようと思います。

786 名前:名前は開発中のものです。 mailto:sage [2009/10/07(水) 22:53:27 ID:1OGUvk7S]
すみません
プレイヤーの数倍のサイズの敵への攻撃の衝突判定をする場合
1.円柱やボックスを大まかに中心座標から置いてそれを判定する
2.頂点数を減らした透明モデルを一緒に動かして、その面から外積(?)で判定する
この2つが思いつくのですが、
「低負担でそこそこの衝突判定」をする方法や理論が有れば助言頂けませんでしょうか?

787 名前:名前は開発中のものです。 mailto:sage [2009/10/07(水) 22:56:56 ID:GxNoKgMb]
当たり用の小さい球をたくさん敵につける

788 名前:名前は開発中のものです。 mailto:sage [2009/10/07(水) 23:06:45 ID:1OGUvk7S]
>>787
なるほど・・低負担でそこそこを楽に実現できそうですね。 ありがとうございましたっ

789 名前:名前は開発中のものです。 [2009/10/12(月) 14:26:14 ID:puTlDpxR]
WindowsへDirectX 9 と10を両方インストールして
場合に応じて切り替えることはできますか?

790 名前:名前は開発中のものです。 [2009/10/12(月) 16:22:18 ID:hQMoF6vn]
DirectXには下位互換があるんだから10をインストールすれば9も使える

791 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 17:21:34 ID:YdYmTdmP]
それを言うなら上位互換

792 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 21:22:38 ID:rJ16+euJ]
_ASSERT と assertって同じ?別物?
定義を見ると違うっぽいので違うのだろうけど、どう使い分けるの?

793 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 21:34:24 ID:AjxFbh57]
>>789
そもそもOSに標準搭載されているのでインストールする必要性が無い。

794 名前:名前は開発中のものです。 mailto:sage [2009/10/12(月) 21:37:57 ID:yXQZI7v6]
>>789
SDKの話?




795 名前:名前は開発中のものです。 mailto:sage [2009/10/18(日) 10:52:06 ID:lUEbzDrT]
頂点バッファをD3DPOOL_DEFAULT、
インデックスバッファをD3DPOOL_MANAGEDで描画して
私のビデオカードでは問題ないようですが、このようなバッファの運用は
一般的ですか?

796 名前:名前は開発中のものです。 [2009/10/18(日) 19:50:42 ID:lUEbzDrT]
普通だよね?

797 名前:名前は開発中のものです。 mailto:sage [2009/10/18(日) 19:56:21 ID:gH5KDL3H]
別に変なことじゃないだろ

798 名前:名前は開発中のものです。 mailto:sage [2009/10/18(日) 22:08:31 ID:lUEbzDrT]
>>797  thx
frequency設定して別ストリームから合成描画する
2つの頂点バッファを別々の設定でプールしたら
バグッたんで、色々気になっていました。

799 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 12:59:47 ID:7jM4tM9s]
すみません
DirectInputでマウスのボタン操作を取得してるんですが
「マウスボタンが押されっぱなし」の状態を安全(確実)に取得する特別な方法は有るでしょうか?
変数で操作の取得毎にフラグをひっくり返し続けるだけでも
大丈夫なものなんでしょうか?(外部ソフトの負荷で処理落ちして逆さになったりしないか怖くて・・)

800 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 13:09:07 ID:TPHZOR5g]
マウスを扱うならWin32APIの方が確実

801 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 13:34:42 ID:7jM4tM9s]
>>800
そうなんですね。ちょっと調べてみます。
ありがとうございました。

802 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 16:46:13 ID:ChZNl820]
>>799
逆さになるって意味が分からんのだが。
ボタンが押されたときと離されたときで、異なる値になるんだが。

803 名前:名前は開発中のものです。 mailto:sage [2009/10/19(月) 21:14:06 ID:qZo3qR1P]
男女男男女ですね
ちがうわー

ってことだろ

804 名前:名前は開発中のものです。 mailto:sage [2009/10/20(火) 14:48:31 ID:K18Q7LH0]
嬲嫐か



805 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 20:20:52 ID:7NIJVQVY]
表示された3Dモデルをクリックやオンマウスする事で
情報を表示できる様にしたいのですけれど、

・D3DXComputeBoundingBox()でバウンディングボックスを生成
・その各頂点からD3DXVec3Project()でカメラ(2D)座標にする
↑の方法で合ってるでしょうか?
D3DXComputeBoundingBox()が上手く行かず合ってるのか心配に。。

806 名前:名前は開発中のものです。 mailto:sage [2009/10/21(水) 22:39:00 ID:c4Loyn9X]
>>805
まあ、それで間違ってはいない。
でも俺なら、ワールド座標系で
レイを飛ばしてボックスと当たり判定をするな。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<172KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef