09/06/04 04:49:21 BcQuLMH8
まあDirectXはどんな会社でもゲーム作れるのが売りだし
RPGツクールの作品が技術レベルとか存在しないし
501:名前は開発中のものです。
09/06/12 20:12:57 4n27VX1O
ゲームを作りたいんですが地面のデータは解像度どれくらいでやればいいとかそういう目安ってどこで知れば良いのですか?
502:名前は開発中のものです。
09/06/12 20:39:07 cLwjJz3x
>>501
見た目とフィーリングに決まってるだろ
503:名前は開発中のものです。
09/06/12 22:45:55 fSDZxlGT
パフォーマンスに影響が出ないレベルは必須として
出来上がったものを他人にみせて(製品にして)自分が許せる範囲でお好きに
504:名前は開発中のものです。
09/06/12 23:35:26 D4yGktG4
地形の見た目はポリゴン数よりテクスチャと頂点色とライティング。
FF11の背景とか見てみるとあのポリゴン数でよくやるわ、と思う。
505:名前は開発中のものです。
09/06/14 12:24:26 bw5ulBh+
>>501
プログラマの腕次第なところあるから、まずは色々試行錯誤してみろ。
ここで、いきなり100万ポリゴンとかいわれても出せないだろ?
506:名前は開発中のものです。
09/06/16 20:06:02 5Ar73aZc
D3DXCreateTextureFromFileで作ったテクスチャの画像サイズを得るには
どうすれば良いですか?
507:名前は開発中のものです。
09/06/16 20:22:38 dTJ8h2Ku
GetLevelDesc()
508:名前は開発中のものです。
09/06/20 22:39:01 Wu2JE3tK
HLSLについて質問なんですが、d3d9のフラグメント使ってみた人いますか?
使えないって評判をちらほら見るんですが
どこが不便なのか調べた限りではわかりませんでした。
使った方、よかったら感想聞かせてください。
509:名前は開発中のものです。
09/06/20 23:53:53 0e0lo+Z7
>>508
DirectX10じゃなくなってるし。
DirectX11はシェーダーでクラスの継承とかでぜんぜん違うのが搭載されてるし。
510:名前は開発中のものです。
09/06/21 00:09:16 7Yh+8Cxp
レスどうもです!
11ってそこまで進化してるのか・・・
確かにそんな高級ならテクニック数の爆発とは無縁なんだろうなぁ
511:名前は開発中のものです。
09/06/21 03:10:17 WBKEcadm
DX9出始めの頃で忘れてしまったが、
当時の俺は、多分エフェクトファイルとの親和性が低いのを
問題視していたと思う。
エフェクトインターフェイスと併用が出来ないんで、
自分で同等のものを作るか、あるいはもっとローレベルな方法を
強いられる。
また、プログラム全体を通しての最適化に難がある、、、たような。
忘れた。
512:名前は開発中のものです。
09/06/21 08:43:52 DZGoW206
ゲームの配布先で d3dx_24.dll がねーよ って現象が結構あるらしいんだけど...
DirectX9 SDK (2004 December) だと D3DX つかっても d3d9.dll にリンクしてくれるけど、
それ以降だと d3dx_**.dll がないとダメぽい。
これは最新版の DirectX 入れてくれとしかいいようがない?
513:名前は開発中のものです。
09/06/21 09:31:30 X+nPpQbO
DirectXランタイムはネット上ならMSのDirectXサイトで配布してる
CDやDVDで配布する場合はディベロッパ向けにDirectXランタイムの
再配布可能パッケージがあるからそれを同梱してやればいいんじゃね
514:名前は開発中のものです。
09/06/21 10:55:59 w322u/qr
>>512
Webインストーラなら常に最新版を入れてくれるから、
それにリンク張っとくのがいいかと。
515:名前は開発中のものです。
09/06/21 11:09:06 peHhyDD5
昔のsdkで開発すれば良い
516:名前は開発中のものです。
09/06/21 21:35:59 a14bSkta
MSIを使わない配布ならば、d3dx_**.dllを遅延ロードにして、システムに存在しないのを
検出したらDirectSetupでインストールってのが正攻法。
URLリンク(msdn.microsoft.com)(VS.85).aspx
URLリンク(msdn.microsoft.com)(VS.85).aspx
ちなみにd3dx_**.dllを実行ファイルと同じパスに置いても動くけど、
ライセンス上これはやっちゃダメなので気をつけてね。
(XAudio2はCOMサーバとしての登録が必要だったりとかD3DXが例外なんだが)
517:名前は開発中のものです。
09/06/22 08:40:41 N/j22pOh
>>516情報サンクス!
遅延読み込みにするってことは、
例えば D3DXVec3TransformCoord をつかっているなら、
D3DXVECTOR3 * (WINAPI * DynD3DXVec3TransformCoord)( .... ) = NULL;
とかやって、既存のプログラムで D3DXVec3TransformCoord 読んでるところを全て
DynD3DXVec3TransformCoord にかえておく ... (そして動的ロードする)
てことを,使っているすべての D3DX 関数でやらなきゃダメだよね。
めんどくせーーーーー
518:名前は開発中のものです。
09/06/22 08:45:06 EAX2GkrU
>>517
Xp以降でいいなら、単にVS等で、遅延ロードDLLに指定するだけでは。
519:名前は開発中のものです。
09/06/23 13:38:33 uwWTpxSM
服を着せかえるようにしたいのですがどうすれば良いですか?
520:名前は開発中のものです。
09/06/23 14:14:43 T6Q520oN
モデルを差し替える
521:名前は開発中のものです。
09/06/23 14:27:09 uwWTpxSM
今裸の状態なんだけど
522:名前は開発中のものです。
09/06/23 14:42:52 odOiP6Fc
服って言わないで、困ってる点を挙げたら?
縮尺があわないとか、半透明な部分がうまく抜けないとか
労力やデータ量あわせても520の案で裸のボディも含む
モデルを差し替えるのが実は最も適しているかもしれないし
523:名前は開発中のものです。
09/06/23 14:47:05 T6Q520oN
だから
裸のモデル→服を着たモデル
に差し替えるだってば
服が変わるとおっぱいの大きさが変わるゲームみたことあるだろ?そういうことだよ
まぁ、ベースとなるモデルのボーン構造やアニメーションを維持したままで
パーツごとにメッシュを差し替えられるように作るのがベスト
スキンメッシュの理屈がわかってればそんなに難しくない
モーションとかついてないモデルなら普通に重ねてだせばOKでしょ
524:名前は開発中のものです。
09/06/23 14:50:13 uwWTpxSM
いや、やり方が全くわからない初心者です
服は別のオブジェクトで作ったのですが、ウエイトを付けないと駄目だろうと思い
そうするとモデリングからデータの抽出からどうすればよいのかわからなくなりました
どういう感じで作業を進めていけば良いのでしょうか
525:名前は開発中のものです。
09/06/23 15:00:09 uwWTpxSM
つまり裸の物体と服の物体を同時にアニメーションさせるってことですか?
526:名前は開発中のものです。
09/06/23 15:23:06 T6Q520oN
簡単に言うと服を着た状態でもウェイトをつけておく
こいつに裸の状態のボーンやアニメーションを適用する
527:名前は開発中のものです。
09/06/23 15:44:39 uwWTpxSM
ありがとうございます
裸(ボーン)+服(ウエイトだけ設定)→一つのオブジェクトにする→アニメーション
裸→アニメーション、服→アニメーションを同時に
だとやっぱり下なのですか?
上のほうが直感的だし軽そうで最初上かなと思ったのですがウエイトの仕組みとかをまだあんまり理解して無いのですがちょっと見てみたら無理に思えてきたのですがやっぱり下なのですか?
528:名前は開発中のものです。
09/06/23 15:53:49 uwWTpxSM
いや、つまり動くのはボーンだけでメッシュを登録していく感じ?
529:名前は開発中のものです。
09/06/23 15:54:15 T6Q520oN
上であってるよ
その一つのオブジェクトにするってところがめんどくさいから
服にウェイトをつけるんじゃなくて
服をきた人体にウェイトをつけておく
必要なものは
ベース
裸の人体の頂点情報+ボーン+モーション
パーツ
服を着た人体の頂点情報(ボーンやモーションはいらない)
を用意しておいて
実際に動かすのはベースのボーンなんだけど
参照している頂点情報を切り替えることで着せかえる
530:名前は開発中のものです。
09/06/23 15:56:36 T6Q520oN
>>528
それで合ってる
531:名前は開発中のものです。
09/06/23 15:57:53 uwWTpxSM
サンクス
とりあえず方向性は確定したので頑張ってみます
532:名前は開発中のものです。
09/06/27 20:43:51 D7q9OIpz
DirectX 9の勉強に役立つ本やサイトって知ってますか?
近くの本屋にはDirectXの本がないので、ネットで買おうと思ってます。
ついでに、初心者なので専門的な言葉を使いまくってるのは、たぶん無理です。
533:名前は開発中のものです。
09/06/27 22:00:43 IJZmdZva
まずはヘルプのチュートリアル
534:名前は開発中のものです。
09/06/27 22:23:50 D7q9OIpz
ありがとうございます。やってみます
535:名前は開発中のものです。
09/06/28 00:15:10 0EFQaPrk
9.0と11.0の主な違いを教えてください
536:名前は開発中のものです。
09/06/28 00:33:09 TOQxhDB2
バージョン
537:名前は開発中のものです。
09/06/28 09:17:22 jSivxpYx
違いがわからない人は11使っちゃいかんと思う
仕様が違ってる、書籍のソースが使えないなんてのは日常茶飯事
538:名前は開発中のものです。
09/06/28 10:11:57 TOQxhDB2
>>535
マジレスするとD3DXの行列ベクトル演算の関数以外の
全部が全く違うものになってる。
539:名前は開発中のものです。
09/06/28 10:32:03 RI607p8m
11出たの?
540:名前は開発中のものです。
09/06/28 10:50:48 TOQxhDB2
βははいってる
541:名前は開発中のものです。
09/06/28 10:56:24 dMUlDk7e
10と違って11は9~10のカードでも動くから
新規で学ぶなら11で良いと思う
542:名前は開発中のものです。
09/06/28 11:13:43 kwR36hFM
10は要らない子か・・・
543:名前は開発中のものです。
09/06/28 11:32:39 dMUlDk7e
10の追加拡張が11だからな
544:名前は開発中のものです。
09/06/28 11:53:24 TOQxhDB2
8と同じ扱いと考えれば11が今後のメインになってくんだろう
545:名前は開発中のものです。
09/06/28 18:43:52 flI5dhRi
11で作ったやつが9のカードでも動くってマジ!?
ちなみに11は当然デバイスのロストとか無視して作っていいんだよな?
マジで!?
546:名前は開発中のものです。
09/06/28 19:04:20 nvJMygiz
頭の悪い奴だ
547:名前は開発中のものです。
09/06/28 19:10:30 TOQxhDB2
>>545
動く≠実用的な速度で動く
当たり前の事だろ。
DirectX10みたいな起動すらしませんってのが改善されるだけだ。
548:名前は開発中のものです。
09/06/28 19:14:50 dMUlDk7e
CPUレンダがマルチコア対応で軽くなってるから
SM2.0、3.0のアクセラレーションがあれば30以上は簡単に出せるけどね
549:名前は開発中のものです。
09/06/28 20:06:20 TOQxhDB2
SM20のアクセラレーション可能な環境でPS内でループ回してもエミュレーションで30出ると。
550:名前は開発中のものです。
09/06/28 20:26:13 Ceu0I/E1
DirectX11ってXPにも対応してますか?
551:名前は開発中のものです。
09/06/28 20:39:35 TOQxhDB2
10がVISTA以降だろ・・・
11も当然VISTA以降のみ対応。
552:名前は開発中のものです。
09/06/29 00:56:24 9PVwcXNE
URLリンク(game.watch.impress.co.jp)
> なお、DirectX 11は、正確にはWindows 7専用の機能ではなく、Windows Vistaに
>も無償提供される。提供時期もWindows 7のリリース前になる見込みだ。余談だ
>が、DirectX 11は、Windows XPには提供されない。
553:名前は開発中のものです。
09/06/29 01:37:47 gfO0eJFI
D3D11てSM2.0もサポートするの?
せっかくD3D10で下限を引き上げたのに
なんだか大変だねえ。
554:名前は開発中のものです。
09/06/29 09:59:04 HmvFiuQF
SM4.0からじゃないか?
DX10の時もSM4.0以外使えなかったような・・・
555:名前は開発中のものです。
09/06/29 11:32:13 fUTumelu
>>553
SM2.0までしかサポートしてないビデオカードでも動くってだけ。
現実的にはDirectX11対応のビデオカードじゃなきゃたかが知れてる。
556:名前は開発中のものです。
09/06/29 11:53:41 3rJ21sSL
>>553
OSの都合だろ。
557:名前は開発中のものです。
09/06/29 11:58:00 gfO0eJFI
>>555
動くってどういうこと?
SM2.0がHALで動くってこと?
つまりSM2.0がサポートされるってことか?
558:名前は開発中のものです。
09/06/29 12:35:38 fUTumelu
>>557
ソフトウェアエミュレーション
559:名前は開発中のものです。
09/06/29 13:39:43 vrifgW3h
それはありがたい
560:名前は開発中のものです。
09/06/29 13:49:46 HmvFiuQF
なんか会話がかみ合ってない気がするんだが
561:名前は開発中のものです。
09/06/29 14:22:30 gfO0eJFI
>>558
ソフトウェアエミュレーションは何を
エミュレートするの?
アンタ、日本語が不自由な人だね。
無理して答えなくていいよ。
562:名前は開発中のものです。
09/06/29 15:15:42 fUTumelu
SM2.0クラスのビデオカードでDirectX11の機能を動かす場合に
ハードウェアアクセラレーションが出来ますか?→○or×
563:名前は開発中のものです。
09/06/29 15:30:08 HmvFiuQF
そもそも>>553は
SM2.0クラスのビデオカードでDirectX11の機能が使えるかって事じゃなくて
DirectX11でSM2.0を使ったプログラム書けるのか聞いてるんじゃないのか?
564:名前は開発中のものです。
09/06/29 15:32:19 fUTumelu
ならSM2.0を使う必要がない、でFAなんじゃね。
565:名前は開発中のものです。
09/06/29 15:42:14 n+27wGuQ
誰か知っていたら教えてください。
DirectInputでマウスの入力を取得しているとき、
マウスのボタンを押したまま離していないのに勝手にボタンのUPイベントが通知される場合がありますが、
これは正しい動作なのでしょうか。
再現方法は、
1. マウスのホイールを入力 (DIMOFS_Z)
2. すぐにマウスのボタンを押下する。そのまま押したままにする。 (DIMOFS_BUTTON0とDIMOFS_BUTTON1で確認済)
3. マウスのホイールを入力 (DIMOFS_Z)
すると、なぜか2でDownしたままになっているボタンのUpイベントが来ます。
もちろん実際にはマウスのボタンは押したままです。
1.と2.はほぼ同時のタイミングで入力すると再現します。
2.と3.は時間が開いても大丈夫です。
これはSDKのサンプル (Samples\C++\DirectInput\Mouse) で確認できます。
バッファを使っても使わなくても起きます。
情報求む。
566:名前は開発中のものです。
09/06/29 15:54:28 9PVwcXNE
マウスのメーカーと型番は?
567:名前は開発中のものです。
09/06/29 16:02:21 n+27wGuQ
マウスはMicrosoft Intelli Mouse Explorer 3.0です。
型番はたぶんB75-00123だと思います。
568:名前は開発中のものです。
09/06/29 18:58:13 QhhTiuCy
結局Directx11がSM2.0までのビデオカードで動くってわけじゃないのか
569:名前は開発中のものです。
09/06/29 20:53:31 gfO0eJFI
>>565
俺んちじゃ起きないな。
>>568
ここにはは動くって書いてあるが、どういうレベルで動くのかはわからないな。
URLリンク(www.realtimerendering.com)
例えば、SM2.0のPSは最低8bit精度もOKだと思ったが、
SM4.0は最低32bit必要だ。DX9レベルのHWで動くとなると、
SM2.0のサポートは避けられないと思う。
570:名前は開発中のものです。
09/06/29 21:37:38 fUTumelu
DX9レベルのハードで動くつってもそもそも
その時代になかった機能までハードでやってくれる魔法があるわけじゃないぞ。
SM3.0世代までの整数演算だって全部FLOATでエミュレーションしてたんだし。
571:名前は開発中のものです。
09/06/30 13:45:01 07rmTjVt
URLリンク(lizsoft.jp)
この体験版をやってみたんだけど、
windows/system32/d3d8.dll とかを削除した状態でゲームを実行すると、
なんか勝手にd3d8.dllとd3d9.dll が復元されてるんだよね。
これってアリなの? っていうかどうやってるの?
付属のDLLはsotesw.dllが30MB、sotesd.dllが80MBとかも
気になる。どういう仕組みになってるんだろう??
572:名前は開発中のものです。
09/06/30 13:49:29 07rmTjVt
と思ったら自分がつくったD3D9アプリでも同じ挙動になるなあ....
OSが勝手に補完してくれるのか???
573:名前は開発中のものです。
09/06/30 14:31:43 nijAQ3rl
OS「気が利くだろう?」
574:名前は開発中のものです。
09/06/30 14:41:18 t1xKyX8f
>>572
URLリンク(support.microsoft.com)
575:名前は開発中のものです。
09/07/03 19:59:27 8p6fJxFm
漢字表示をもっとも簡単、かつ高速に行うプログラム書いてくれ
576:名前は開発中のものです。
09/07/03 20:59:57 MV84aTyT
必要もないのに毎フレーム書き直すなんてことをしない限り、
フォントイメージをテクスチャに転送してレンダリングするだけで実用速度になる。
577:名前は開発中のものです。
09/07/03 21:14:22 PxubNay2
それが簡単に思えないんじゃね?
ぐぐってパクればOKだと思うんだが…テクスチャー?
そんなん画面解像度分確保して、一文字でも変更があれば、
同時に表示する全ての文字だけ、左上からでも埋めてけばおk。
578:名前は開発中のものです。
09/07/03 21:22:28 QUqWWjI3
文字データ全部テクスチャデータ化して使う分だけ読み込んでる
自分の好きなフォント使えるし、他PCに持っていったときにそのPCに同じフォントが入って無くても使えるし
もちろんフォントの著作権の問題はあるけど
579:toya
09/07/12 01:03:44 +auraSRZ
聖書53ページ
580:名前は開発中のものです。
09/07/12 12:37:26 uzKQsXNq
よくあること
581:名前は開発中のものです。
09/07/12 13:32:12 v+1Ruet9
韓国人に近いリスト
一重
耳垢が乾燥している
ワキガじゃない
平面顔
たれ眉毛
ど直毛
体毛が薄い
3つ当てはまったら朝鮮人に近い
582:名前は開発中のものです。
09/07/12 20:40:39 lpMikX8D
質問です
XPで作ったDX9アプリがVISTAでは動きませんでした
なぜ?
583:名前は開発中のものです。
09/07/12 20:41:59 a74a9G0S
君の書いたソースがバグってるから以上の理由は無い。
584:名前は開発中のものです。
09/07/12 20:43:20 XdLS7hGc
それは本当に「Vista」だから動かなかったのかい?
ほかの開発環境の入ってないXPでも動かないってことはないかい?
585:名前は開発中のものです。
09/07/12 20:51:59 lpMikX8D
サブなんたらがなんたらというエラーが出ます
586:名前は開発中のものです。
09/07/12 20:52:45 a74a9G0S
日本語でおk
587:名前は開発中のものです。
09/07/12 20:55:42 Uccb4SA3
エラーは一字一句改変せずに
588:名前は開発中のものです。
09/07/12 21:10:33 jkZPQGRm
丁寧に書かれた質問に対しては、丁寧に回答されると思うんだな。
スクリーンショットの撮り方も知らないんだろうか
589:名前は開発中のものです。
09/07/12 21:17:07 yE1osiWd
サイドバイサイドじゃねーの?
590:名前は開発中のものです。
09/07/12 21:19:49 a74a9G0S
それならVISTAで動かないってこたないんじゃね
591:名前は開発中のものです。
09/07/12 21:22:01 lpMikX8D
サイドバイサイドでした
つまりどういう事?
592:名前は開発中のものです。
09/07/12 21:27:22 a74a9G0S
マニフェストうめろ
593:名前は開発中のものです。
09/07/12 21:31:34 XdLS7hGc
マニフィスト関係ないだろ
単なるCRT設定ミスだと思われる
オプションのコード生成のランタイムライブラリの設定が
マルチスレッドデバッグDLLかマルチスレッドDLLになってる
外に出すときはReleaseにしてマルチスレッド(/MT)にしとけ
594:名前は開発中のものです。
09/07/12 21:41:45 lpMikX8D
試してみます
595:名前は開発中のものです。
09/07/12 22:02:06 a74a9G0S
OpenMPとか使ってるとマニフェストにかいとかないとこけるじぇ
596:名前は開発中のものです。
09/07/13 13:13:57 G4TpQQWr
XPでDX10 これ最強
597:名前は開発中のものです。
09/07/13 13:14:52 G4TpQQWr
サイドバイサイド side by side 隣に
おそらくケースバイケースと言いたかったのだろう
598:名前は開発中のものです。
09/07/13 13:52:11 Enmj0qxF
そんな餌に俺様が(ry
599:奇跡age
09/07/17 10:39:11 WnY7CWjL
qwertyui
600:名前は開発中のものです。
09/07/17 22:04:11 Z3s3jxcY
マルチスレッドでも描画を先にしてから計算でおk?
コアが増えてからDirectXとどう付き合えばいいのかよくわからなくなってきたZE!
601:名前は開発中のものです。
09/07/17 22:18:35 GYNcPi+G
ウィンドウモードでメニューとか処理してる間もゲームループと描画を止めずに動かしたいんだが
移動・描画・ウィンドウメッセージのスレッドを別々にすればいいのではないかと思うんだけど
どうやればいいのかよくわからないんだよなぁ
602:名前は開発中のものです。
09/07/17 23:35:32 /RXyn8AO
どうもこうも普通にマルチスレッドのデザインパターン勉強しなされ
603:名前は開発中のものです。
09/07/18 02:41:43 WxQiL2cL
>>601
windowsのウィンドウは、それを作成したスレッドでメッセージが処理される。
メインのウィンドウは必ずプライマリスレッドで生成されるから、メインウィンドウのWM_COMMANDを
実行中は、他のメッセージは処理できない。つまりメニュー表示中は画面を更新できない。
WM_COMMAND中にPeekMessageとかやれば別だが……PeekMessage埋め込みは、思わぬ問題を
引き起こしたり、コードがぐちゃぐちゃになったりするのでお勧めできない。
これを簡単に避ける方法は2つしかない。
ひとつは、メニューをゲーム画面中に実装して、OSのメニューは使わない方法。
もうひとつは、プライマリスレッドから入力スレッドを作成して、ゲームで利用する
ウィンドウは、すべて入力スレッドで作成する方法。
これだとゲーム画面の更新は入力スレッドで行われ、メニュー操作はプライマリスレッドで
行われるので、メニュー選択中の画面は更新される。
604:名前は開発中のものです。
09/07/18 12:13:37 oqgboUIv
最初はOpenMPから始めるのがいいんじゃない?Intelに日本語資料もあるし。
商業メーカーでさえ苦労する標準のThreadなんかは初心者では途方に暮れるだけだろう。
605:名前は開発中のものです。
09/07/18 12:47:05 dvfRT27Y
VisualStudioだとtask機能が追加されたOpenMP3.0が使えないのが痛いんだよなぁ・・・。
だからといってIntelコンパイラー買うのは無理な話だし。
でもキャラの座標更新とかアニメーション更新とかにOpenMP使うとかなり効果はあるね。
606:名前は開発中のものです。
09/08/03 19:49:39 qJoBJDCs
すみません、
DirectX9の2006年版SDKを入れて開発しているのですが、
3D製作ソフトのリアルタイムシェーダが最新版への更新を要求してきます。
End-User Runtimeを更新するとSDK側も変化を受けて
これまでのコードで動作しなくなる可能性って有ると思われますでしょうか?
607:名前は開発中のものです。
09/08/03 19:54:56 ILxqg4H1
>>606
無いよ
608:名前は開発中のものです。
09/08/03 21:02:27 qJoBJDCs
>>607
無事アップデートできコードの稼動を確認できました。
素早いご回答に感謝!
609:名前は開発中のものです。
09/08/06 17:37:16 kfzgiW63
大量の直方体を動かしたいんですけれど
それぞれのローカル座標をデバイスでいじると
ビデオカードの命令量が増えて逆に遅くなったりしますか?
610:名前は開発中のものです。
09/08/06 18:31:46 kfzgiW63
ローカル座標という言葉は適切じゃなかったかも知れません。
DirectXではコマンド発行回数を100以内に抑えた方が良いって
誰かが言っていた気がするので、それだったら座標変換の
回数やモデル数も限定されるな~と思うのですが。
実際多くのキャラクターが出るゲームって少数派ですよね~。
でも出したい。ローポリゴンで出したい。その場合どうやるのが
効率的なのでしょうか?
611:名前は開発中のものです。
09/08/06 19:16:24 kbTc/fkt
まずは実装してみて、速度的な問題が発生してから聞きにきなさい。
612:名前は開発中のものです。
09/08/06 19:41:06 kfzgiW63
ですね
613:名前は開発中のものです。
09/08/06 23:45:20 IVl+GlW6
>>610
5年前のCPUとGPUで数百の3Dオブジェクトに数千のパーティクルを
バカ正直にDrawIndexedPrimitiveで描いてたが余裕で60fps出てたな
画面がゴチャゴチャしてわけわかんなかったけどな
数千の3Dオブジェクトに数万のパーティクルを描きたいとかで
なおかつSM3.0使っていいならgeometry instancingでググってみるといいかもな
ネットブックを除けば大半のPCはノートでもSM3.0対応だから問題はない
614:名前は開発中のものです。
09/08/07 00:07:02 0qw70YNq
>>613
なるほど…なんか余裕に出来そうな気がしてきました。
まずは普通にやってみようと思います。
615:名前は開発中のものです。
09/08/07 00:15:27 DBT6Hp/H
シェーダーインスタンスを試してみたけどそれ程速度速いとは思えないのですが
ハードウェアインスタンスは劇的に効果ありました
ハードウェアインスタンス対応してるボード前提ならも凄い数出しても大丈夫そうです
もっともそのボードであるならローポリといわず複雑なジオメトリ持ったモデルたくさん出せるのでしょうけど
このスレというか板にいる人がどういう理由でゲーム作っててそういうPCで遊ぶのと想定してるか次第なんですかね
同人、フリゲ、学校の課題などなど
616:名前は開発中のものです。
09/08/07 09:32:48 eDy2XJnM
ハードウェアインスタンスなんて
GeForceなら6000番台、
RadeonならXシリーズから普通に対応してるぞ。
何年前からの技術だとおもってるだ。
617:名前は開発中のものです。
09/08/07 10:09:20 XMny16vo
幅広く対応しつつ極力パフォーマンスを引き出したいなら、描画設定を選べるように
するのが単純明快じゃね?
凝りたいなら、オートで最適な描画設定を選ぶ機能か何かを追加してもいいし。
618:名前は開発中のものです。
09/08/07 11:35:31 LGjL6ivx
デバイスロストからの復旧に関してつまってしまった。
ライティングありでロストからリセットすると、Vista環境ではメッシュが真っ黒になってしまう(Lightsが有効にならない?)。
リセットまでの手順は、
1、プロジェクションやカメラの位置、Lighting、Lights、RenderState等をnewしたりコピー。
2、リセット
3、デバイスに先ほど保持した状態群を再設定し、実際に更新。
誰か分かる方いますでしょうか?
619:名前は開発中のものです。
09/08/07 16:00:58 DBT6Hp/H
>>616
6000番台以降だと6200、7050、7300等の廉価ボード?とかも対応してるのでしょうか?
2003年頃から対応ってことになるので、さすがにそれ以前の環境は考慮する必要なさそうですね
>>617
所詮はフリゲ作ってるだけなのでそこまではなかなか・・・
基本自分の作りたいゲーム作るなのでよくわからないままにハードウェアインスタンス前提で作ってます
620:名前は開発中のものです。
09/08/07 19:50:56 ChsCMQWy
>>618
ロスト時リセット前にライティングをいったん無効にしてみる。
621:名前は開発中のものです。
09/08/08 12:26:33 HIJEgu9i
板ポリゴンにテクスチャを貼って2Dの表示をやってるんだが
テクスチャの画像が元ファイルのものと比べるとぼやけた感じになる
これはちゃんと設定すれば高画質にできるものなのかな?
622:名前は開発中のものです。
09/08/08 12:55:09 wNE2Ntgl
ドライバや描画設定変更するアプリがおかしな事になってないなら出るかと
まずはフィルターの設定
表示サイズがテクスチャのサイズと合ってるか確認
フレームバッファサイズと表示サイズが合ってるか確認
623:名前は開発中のものです。
09/08/08 13:12:35 VZIInWJO
まぁたぶんフィルタの選択ミスだろうな
624:名前は開発中のものです。
09/08/08 23:24:31 HIJEgu9i
フィルターか・・・
調べてみる
625:618
09/08/08 23:59:30 3chv5U+J
>>620
ビンゴでした。ありがとうございます!
lights[i]のEnabledが単純なbool値ではなく、リセットを行うと内部的にはFalseになるのに表面上Trueになったりするっぽいです。
一度リセットの直前にEnabledをFalseにしてからリセット、再設定することで解決しました。
xpではおきませんが、余計なLights[i].Updateをリセットの直前等に挟むと場合によってはvistaでは強制終了することもあるっぽいです。
626:名前は開発中のものです。
09/08/10 10:43:18 Pixoe723
自前のプログラムでXファイル読み込んで
頂点データからモデルを表示させる方法と
モデルデータをDirectXに表示させる
みたいな方法の
2つの方法があるみたいなんですが
違いはあるんですか?
627:名前は開発中のものです。
09/08/10 11:03:24 eRuOyKno
お前は何を言っているんだ…。
628:名前は開発中のものです。
09/08/11 03:50:59 aqDLxLoV
違ってるかもしれないが、質問の内容はこうだと思う
3Dモデルデータを読み込んで、表示して、モーションさせる。
この時に、モデルデータのモーション形式に2種類あって、
①ボーン組込みのモーション付きモデル
②頂点データによる静止モデルデータの連続によるモーション付きモデル
①は、良く使われるボーンタイプ。データ量はモーションデータだけで少ない。
だから小さいデータ量でメモリ消費が少ないが、実行時に計算が必要なのでCPU負荷が増える。
一般的にはこちらが設計時の自由度が高い。
②は、フレーム毎にモデルデータ(頂点データ)があるので、データ量が多くメモリ消費が大きい。
つまり、静止モデルのデータをフレーム数だけ用意する。
その代わりに実行時に計算が無いので、CPU負荷が少ない。大きさを調節しなければならない。
メモリ消費と実行速度の兼ね合いになるだろう。
629:名前は開発中のものです。
09/08/11 17:45:49 e+6O1TbS
Windows 7 RCでDirectX 10を使いたいんだけど、ひょっとして最初から入ってたりするの?
DirectX 10単体で落とそうと思って公式のダウンロードページに行くとDirectX 9のページに強制的に飛ばされてしまうorz
630:名前は開発中のものです。
09/08/11 17:46:57 OG4YlpWq
標準装備だお
631:名前は開発中のものです。
09/08/12 01:27:51 gyYxJrA3
つか最新のDirectXSDKには9も10も入ってるだろ。
DirectX9SDKじゃなくなってんぞ。
632:名前は開発中のものです。
09/08/12 02:10:31 HRcEcaa0
DirectX9のSDKやランタイムってあったっけ
DirectX SDK、DirectX エンドユーザーランタイムにリネームされて久しいけど
633:名前は開発中のものです。
09/08/13 19:03:13 uEYnMuOo
GEMS1のCDの中身をハードディクスにコピーしたら
avastさんがトロイの木馬を発見したらしい
634:名前は開発中のものです。
09/08/13 19:16:53 62dxPxFG
誤検知だろ
神聖なるNVIDIA様がウイルスを保持しているはずがない
635:名前は開発中のものです。
09/08/13 22:20:52 uEYnMuOo
>>634
いやGAME PROGRAMMING GEMS
636:名前は開発中のものです。
09/08/14 04:52:21 mHMjoFWf
UPXか、それ系のexe packerでも使ってたんじゃないの?
637:名前は開発中のものです。
09/08/14 08:39:32 lmqZJXeH
武器(剣とか)と本体が一緒になってるXファイルのワンスキンモデルで
武器と敵の当たり判定を取ろうとしてるんですが、なにかいい方法はないでしょうか
メッシュ情報から武器のテクスチャが割り当てられてる頂点だけ取ってくる・・・
とかは考えたんですが、かなり邪道な気がするんで。。
モデル内における特定ボーンの抽出や、ボーンの当たり判定あたりがサッパリなんで、
丁度良い説明サイトとかあれば教えてくだしぃ
638:名前は開発中のものです。
09/08/14 09:50:11 oqgkNhus
まずは高レベル関数に頼らずモデルデータを自前で読み込むところから始めろ。
639:名前は開発中のものです。
09/08/14 09:57:36 mm0Clj/8
邪道じゃないと思うけど
640:名前は開発中のものです。
09/08/15 21:29:39 nUVtD6WR
すみません、多くのゲームで見られる
RGB各256段階のカラースライダで、プレイヤーが自由に色を設定できるものの
実装方法を記したサイト等を、どなたかご存知ではないでしょうか?
バーテックスカラーとテクスチャでやってみたんですが
色相変換のように綺麗に混ざってくれず、どうしたら良いものか。
641:名前は開発中のものです。
09/08/15 21:35:46 sOewXk0w
テクスチャかバーテックスのどちらかをほぼ白か黒にして
もう一方にユーザーが設定したRGBをセットして、乗算なり加算なりであわせればいいんじゃないの?
642:名前は開発中のものです。
09/08/15 21:44:45 rY2ujQOy
頂点カラーを使うのかテクスチャ自体の色を使うのかをまず明確にしろ。
それが決まったら、スライダーの設定と色を混ぜた結果を明確に定義しろ。
以上が決まったら、頂点カラーなりテクスチャなりにそれを書き込めば終わりだ。
混ざってくれないんじゃない、あやふやにやっているからその通りの結果になっているだけだ。
643:名前は開発中のものです。
09/08/15 21:51:20 sOewXk0w
多くのゲームで見られるって部分から察するに
服の青とか赤とか特定部分の色を変えたり
肌色の部分だけの色を変えたり
とかそういうのをやりたいってことなんかな?
でテクスチャーは元の色のまま、バーテックスカラーにユーザー設定RGBを入れて
それで色々とブレンドしてみたけど、どうブレンドしても思うような色が出ないと
こういうこと?
644:640
09/08/15 22:29:49 nUVtD6WR
>>641-642
ご回答ありがとうございます。
頂点カラーの合成に乗算や加算モードが有ったのですね、
モデリングツール上のビューの方式のみと勝手に思い込んでいました。
ちょっとレンダリングパイプラインのその辺りを調べなおしてみようと思います;
>>643
特定部分の色を変えるのは頂点色では無理だと学んだので
そういうものは諦めるか、2枚の画像を使って抜き色で合成でもしようかと。
もっとシンプルな方法が有れば良いのですが、今の技量ではこれが限界そうで。
ご回答ありがとうございます! orz
645:名前は開発中のものです。
09/08/15 23:40:26 rY2ujQOy
だからデバイス任せの合成なんて考えるから出来ないんだよ。
テクスチャそのものを自分の必要な色に置き換えるだけで終わりだろ。
646:640
09/08/16 02:52:33 jZle4683
>>645
多数のキャラに使うので出来るだけテクスチャデータはそのままにしたくてつい。
その手も要所要所考えて使うようにしますね。
647:名前は開発中のものです。
09/08/16 05:45:45 mPskDLhG
テクスチャーを操作しない前提で人型モデルを作るとして
例えばシェーダーで特定のテクスチャーカラーを任意の色に置き換えるとかも出来るわけでしょ
肌色箇所を抽出してユーザー設定の肌色に置き換え
髪色を抽出してユーザー設定の髪の色に置き換え
ってやっていくとか
これらにしたってグラデーション付けること考えると一工夫必要だけど
絶対にこうってやり方は無い気がする
どういう方法とってもモデルやテクスチャーの作り方に工夫が必要になると思う
648:名前は開発中のものです。
09/08/16 10:06:05 x4vwWfc/
で、例えば3Dモデルのスライムとスライムベスを表現するなら
どういう技術が一般的なの?
①テクスチャ取替え(塗り替え)
②パレット変更
ほかなんかある?
649:名前は開発中のものです。
09/08/16 10:23:54 mPskDLhG
>>648
シェーダー
650:名前は開発中のものです。
09/08/16 10:26:16 dscceYaE
別々のモデルを用意しておく。
終了
651:名前は開発中のものです。
09/08/16 10:50:59 x4vwWfc/
>>649
シェーダで何をどうするんだよ
それを聞いているだよバカ
>>650
モデルって何だよ
D3Dにモデルというリソースはねえぞノータリン
652:名前は開発中のものです。
09/08/16 10:55:45 mPskDLhG
>>651
>>647に書いただろハゲ
653:名前は開発中のものです。
09/08/16 11:18:33 4sFhpOh7
夏か・・・orz
654:名前は開発中のものです。
09/08/16 12:33:22 4e0B6aFr
>>651
俺はお前みたいな奴好きだぜ
655:名前は開発中のものです。
09/08/16 22:57:31 QVMxTMsz
バーチャファイターの1のイメージ?
656:名前は開発中のものです。
09/08/20 19:30:43 rN0vwUH9
directXで表示されてる3Dモデリングのデータを抜き出すことができるツールがあるらしいんですが
何て名称かわかる人いませんか?
657:名前は開発中のものです。
09/08/20 21:03:10 LJPa56Cu
スレ違いどころか板違い
658:名前は開発中のものです。
09/08/21 16:26:35 NIDvhpCP
Pix for windowsの事を知らない男の人って…
659:名前は開発中のものです。
09/08/22 14:49:30 qDjMgetj
すみません
3Dソフト(xsi)で出力したモーション付きXファイルを
DirectX Viewerで見ると形状が破綻して見えるのですが、
Viewer上で壊れて見えてもプログラム上では正しく表示される事って
有るでしょうか?
Viewer上で壊れていれば絶対そのまま表示されると思うべきなのでしょうか?
660:名前は開発中のものです。
09/08/22 18:18:58 DxEzBRM+
プログラムは自分で作るんだから自分次第。
661:659
09/08/22 21:14:19 qDjMgetj
>>660
なるほど。絶対ではないのですね。ありがとうございました。
662:名前は開発中のものです。
09/08/26 04:13:11 Tspzk4Z1
カメラのズームイン/アウト、キャラを中心とした上下左右の回転移動を作りたいのですが、
正しい計算式がわからず変な挙動をしてしまい困っています。
D3DXMatrixLookAtLHを使っているのですが、妥当な計算式の乗っているサイトや書籍を
となたかご存知ではないでしょうか?
663:名前は開発中のものです。
09/08/26 04:21:23 Tspzk4Z1
下げ忘れすいません;
664:名前は開発中のものです。
09/08/26 07:17:31 Qs0NWeEt
大前提としてsin、cosの使い方は理解しているのか?
665:662
09/08/26 14:58:06 o676OPLC
>>664
すみません、サンプルコードを漁り回っていたら計算式を見つける事が出来、解決できました。
Math.hからsin() cos()はちゃんと使っていたのですが、数学的な理解をしてない所為で変な回転を続けていました;
ありがとうございました orz
666:662
09/08/26 16:05:54 o676OPLC
また下げ忘れ; 度々すいません;
667:名前は開発中のものです。
09/09/02 22:00:28 RtR61rHB
迷いまくった挙句、解決策が見つからずここにたどり着いてしまった。。
あのですね。DirectMusicってマトモに使ったことある方、
今使っている方、いらっしゃいますか?
DirectMusicを使って作ったゲームって普通に動きますか?
というのは、今新しいDierctXでは既にDirectSoundと一緒に
XAudioなるものに統廃合されたと言うではありませんか。
そんなのつゆ知らず(アホかと)DirectMusicの機能を多用したゲームを
作ってたんですが、VC++上ではデバッグできるんですがexeファイルを起動すると
DirectMusic関連のものがまったく初期化されず動かせないんです。
ちなみに当方Windows7使ってますが、XP入れてるノートに移しても
起動できませんでしたが原因は違うかもしれません。
どちらにせよこれから作っていくゲームなんでvista,7で動いてもらわないと
困るという事です。
まだ説明不足な所が多くありますが、何かヒントになるような
経験だけでもよいのでお聞かせいただけると幸いです。
668:名前は開発中のものです。
09/09/02 22:33:03 TVVEdJHk
大昔にDirectSound使ったでけで、今は全く違うところ書いてるからノーチェックだったw
今ググッた。
URLリンク(mainori-se.sakura.ne.jp)
7はしょうがないとして、
XPのノートはHALが使えないからかねぇ?
想像だけどww
で、大昔の経験で言うと、Vistaどころかオンボードグラフィックまで動作対象外にしてる。
そのうち、Windows7について聞かれたら、当然動作対象外に追加するだろう。
って言っても、大して機能を使いこなしていないので、
開発環境が整えば乗り換えなり対応する可能性は否定しないけど。
669:名前は開発中のものです。
09/09/02 22:47:10 KMVfriqU
昔XAudio2が実装されたときに、これは使い勝手良い最高だ
とか思って組み込んでみたんだが、そのときエンドユーザーライブラリの方には含まれてないので
使えなかったんだけど、これはいつになれば使えるようになるんですかね?
670:名前は開発中のものです。
09/09/02 23:02:27 k0T54E11
PS3薄型と旧型の違い
旧型PS3:
Linuxインストール機能内蔵でPS3をPCとして使うことができる。
PPC Linux用の無料のソフトがいっぱい動く。
また、Cellの開発ツールも無料で入手できるので自分でCellのプログラムを作って実行させることができる。
ドルビーTrueHD、DTS-HDMAはリニアPCM変換で対応。
HDD~80G。実勢価格30000円程度
薄型PS3:
Linuxインストール機能は除去された。
ブラビアリンク機能でブラビアと連動した電源のON OFFができる。
ドルビーTrueHD、DTS-HDMAのビットストリーム出力対応。
HDD120G。低騒音・発熱・消費電力。実勢価格29980円
671:名前は開発中のものです。
09/09/02 23:22:25 TVVEdJHk
そういえばそんなハードもあったっけ?
公式覗いてみたら読みにくい色彩&必要な情報に辿り着けない構成等、
色々逝かれてるw
672:名前は開発中のものです。
09/09/02 23:28:59 kz+foxpq
Windows7使ってるというが・・・
DirectMusicは64Bit環境サポートしてないがそれじゃないかね?
所詮は見捨てられた技術だよ。
673:名前は開発中のものです。
09/09/03 01:28:24 H7ahptUL
>>669
いつの話してんのか知らんがとっくに使えんぞ
674:名前は開発中のものです。
09/09/03 14:42:21 19jN2Lgf
>>673
SDK2008MarchについてるXAudio2系サンプルをSDK入ってない環境だと実行できないのですが、
これってまだエンドユーザーライブラリ側は対応してないってことでは無いのでしょうか?
675:名前は開発中のものです。
09/09/03 16:11:06 qXOSpEld
対応デバイスが無いだけじゃないの?
676:名前は開発中のものです。
09/09/03 17:05:37 H7ahptUL
>>674
DirectXランタイムちゃんと入れてる? COM登録必要だから
d3dx9_xx.dllみたいに実行ファイルの隣に置いておくだけじゃなくて(どのみちやっちゃ駄目だが)
インストーラーもしくはDirectSetup使わんと駄目だぞ
677:名前は開発中のものです。
09/09/03 17:16:17 19jN2Lgf
サンプルが古かったようです、SDK無い環境でも再生できました
お手数かけて申し訳ないです
678:名前は開発中のものです。
09/09/09 10:48:25 v7IiPmTs
DirectMusicはバリバリ使ってる
もし、初期化できなかったらDirectShowかmciで再生すればいいだけだし
それぐらいはプログラムで自動切り替えしなよ
679:名前は開発中のものです。
09/09/09 13:36:10 GBpQxbjt
>>678
短調を長調に切り替えるとか、シーンに合わせて動的に音楽を変調している場合
mciでそれをやるのは大変じゃないの。てかそれなら全部mciでやればいいんじゃ……
680:名前は開発中のものです。
09/09/10 07:26:11 Ui0pocdX
Download details: DirectX SDK - (August 2009)
URLリンク(www.microsoft.com)
Download details: DirectX Redist (August 2009)
URLリンク(www.microsoft.com)
681:名前は開発中のものです。
09/09/13 02:08:23 jPLwTUqF
げえっ、新バージョン!
682:名前は開発中のものです。
09/09/13 07:31:11 lU9yP7G9
ひいい。
683:名前は開発中のものです。
09/09/13 13:38:09 gcZTroRJ
うぇ
684:名前は開発中のものです。
09/09/13 16:10:48 uy2iXAkI
PCリカバリ後(XPsp3)DirectX更新で
DirectX SDK Update 2006で止まってエラーになる
正常にインストール出来ませんでしたと出る
685:名前は開発中のものです。
09/09/13 16:15:40 uy2iXAkI
ここでダウンロードしてインストールするとエラーになる OSクリーンインストでXPSP3
URLリンク(www.microsoft.com)
DirectX SDK Update 2006 はってき覚えてないけどここから進まなくて止まったまま1分ほどでエラー画面正常に
インストール出来ませんでしたと出る
PC2台で確認
686:名前は開発中のものです。
09/09/14 12:39:55 dhFuSjOF
DirectXの描画処理をウィンドウプロシージャのWM_PAINTのところに書くのってダメなのかな
真っ白になって何も描画されなくなった上にボタンとかの子ウィンドウも表示がおかしくなった
687:名前は開発中のものです。
09/09/14 16:51:40 PPxuWEf+
描画メッセージで無限ループにハマることがある、らしい
詳しくはググれ
688:名前は開発中のものです。
09/09/14 20:31:09 dhFuSjOF
ググってみた
DirectXで描画しても無効領域のままだからハマッてたんだね
描画処理の後でValidateRectを呼んだらすんなり動いたよ
689:名前は開発中のものです。
09/09/17 20:24:38 4awen6sw
D3DXSpriteのアルファブレンドの挙動について質問です。
DrawメソッドのColor引数に半透明(0x33FFFFFFなど)を指定すると
それより奥に描画されるテクスチャ(不透明)まで半透明に表示されてしまいます。
これは意図された挙動なのでしょうか。
奥に描画されるテクスチャは不透明のまま表示させたい場合、どのような方法があるでしょうか。
環境はWinXPHome SP3/SDK Nov2008です。
690:689
09/09/17 20:42:50 4awen6sw
追記です。
ID3DXSpriteのインスタンスは複数のテクスチャで同じものを共有して、
Begin, EndメソッドはそれぞれDrawを複数回呼ぶ部分の最初と最後のみ呼んでいます。
691:名前は開発中のものです。
09/09/17 21:44:54 Cm0Wo+Cv
画像ウプれよ。わかんねーよ。
692:689
09/09/17 22:16:54 4awen6sw
画像です。 URLリンク(dl6.getuploader.com)
わかりにくくてすみません。
描画順は、奥から [キャラクター画像]->[カットイン背景(黒一色)]->[もや画像]->[カットイン画像]
[もや画像]のみ半透明(0xC0FFFFFF)にしていますが、
(不透明なはずの)奥の[カットイン背景]や[キャラクター画像]まで半透明になっているせいで
背景(街)が透けて見えています。
(背景のみID3DXSpriteによる描画とは別になっています)
※エンジンが吉里吉里ですが描画はDirectXに丸投げしているので問題とは無関係です。
693:名前は開発中のものです。
09/09/17 22:46:12 Cm0Wo+Cv
g_lpd3dSprite->SetWorldViewRH(NULL,NULL);
g_lpd3dSprite->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_DEPTH_FRONTTOBACK);
フラグの詳細はいま分からないけど、これは入れてある?
694:689
09/09/17 23:06:24 4awen6sw
>>693
ソートのフラグのほうは設定していなかったので追加してみましたが、結果は変化なしでした。
試しにDrawごとにBegin, Endを呼ぶようにしてみても変化なし。
695:名前は開発中のものです。
09/09/17 23:21:48 COE3+ZrI
最初から半透明(0xC0FFFFFF)を使わなきゃどうなる?
何かしら不透明で表示されるか?
696:名前は開発中のものです。
09/09/17 23:34:04 Cm0Wo+Cv
>>ID3DXSpriteのインスタンスは複数のテクスチャで同じものを共有して
ここがあやしい。スプライトのドローは実際、その時点で描画はしなくて、
g_lpd3dSprite->End();
g_lpd3dDevice->EndScene();
}
g_lpd3dDevice->Present( NULL, NULL, NULL, NULL );
まできて、ここで描画されるから、インスタンスが共有してるのがくさい。
697:名前は開発中のものです。
09/09/17 23:49:33 COE3+ZrI
俺はテクスチャ自体のアルファチャネルを疑ってるよ。
使ったことがないので、確証はないが
元のアルファが半透明だと、問答無用で半透明描画されるように見える。
698:名前は開発中のものです。
09/09/17 23:54:43 DMWsPm3W
テクスチャ画像うpはできない?
全体うpがあれならデータの一部だけでも
699:名前は開発中のものです。
09/09/17 23:58:55 4awen6sw
>>695
不透明(0xFFFFFFFF)の場合 URLリンク(dl5.getuploader.com)
正しく不透明で表示される。
透明(0x00FFFFFF)の場合 URLリンク(dl5.getuploader.com)
正しく表示される(カットイン背景の黒も意図通り不透明で表示)。
(アルファ値が0x00のときは最初から描画しない仕様になっているのか?)
>>696
処理の流れを書き出してみました。どこか問題点があるでしょうか?
レンダーターゲットをサーフェスに設定してるのでPresent は呼んでいません。
device_->SetRenderTarget(0, surface_);
device_->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0x00, 0x00, 0x00, 0x00), 0, 0);
device_->BeginScene();
sprite_->SetWorldViewRH(NULL, NULL);
sprite_->Begin(D3DXSPRITE_ALPHABLEND | D3DXSPRITE_SORT_DEPTH_FRONTTOBACK);
//ここでまとめてDraw
BOOST_FOREACH(value_type const& drawer, container_) {
drawer->draw(sprite_); //内部で sprite->SetTransform(...) と sprite_->Draw(...) を呼んでいる。
}
sprite_->End();
device_->EndScene();
//この後、GetRenderTargetData してCPUに転送
700:689
09/09/18 00:15:40 sY/rjaFg
>>698
うpしてみました。 URLリンク(www.dotup.org)
>>697
半透明アルファ(抜き用)を持ったテクスチャは
上記のうち Cutin-fg-Char.png(キャラクター画像) と Char.png(カットイン画像) の二つです。
なぜか一緒に半透明で表示されるカットイン背景などは、もともと完全に不透明です。
701:689
09/09/18 00:18:26 sY/rjaFg
誤記失礼。
× Cutin-fg-Char.png(キャラクター画像) と Char.png(カットイン画像) の二つ
○ Cutin-fg-Char.png(カットイン画像) と Char.png(キャラクター画像) の二つ
なんか長々とすみません。
702:名前は開発中のものです。
09/09/18 00:38:40 svVZT8ru
>>device_->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0x00, 0x00, 0x00, 0x00), 0, 0);
ここだな。
->Clear( 0, NULL, D3DCLEAR_TARGET && D3DCLEAR_ZBUFFER && D3DCLEAR_STENCIL, D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
で、ステンシルは無視してくれ。俺はこれで半透明の表示で問題は出てないな。
703:名前は開発中のものです。
09/09/18 00:41:43 NpRsNZ/U
フラグのBit指定なのに&&はおかしいだろ
704:名前は開発中のものです。
09/09/18 01:04:28 svVZT8ru
そうなんだ。勉強になりました。ども。
->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER | D3DCLEAR_STENCIL, D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
これでいいよな。
705:名前は開発中のものです。
09/09/18 01:07:47 NpRsNZ/U
指定の仕方はあってるけどステンシルバッファと
Zバッファ作ってセットしてないとエラーで乙るぞソレ。
706:名前は開発中のものです。
09/09/18 01:21:18 svVZT8ru
ステンシルはいらねぇな。
->Clear( 0, NULL, D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER , D3DCOLOR_ARGB(0xFF,0x00,0x00,0x00), 1.0f, 0 );
これで、>>689も解決だ!直ったか?
707:名前は開発中のものです。
09/09/18 09:05:05 NpRsNZ/U
つかー画面のクリアとポリゴン描画の半透明はまったく関係ねぇとおもうぞ
708:名前は開発中のものです。
09/09/18 23:14:54 svVZT8ru
そうか。最初から考えよう。
アルファ値付きPNGとアルファ値なしの画像という点で考えると、
最初の意図した描画を実現するには、
もや画像だけアルファ値付きのPNGにする。
他は通常のPNGにする。
ドローでのカラー指定はすべて、D3DCOLOR_ARGB(0xFF,0xFF,0xFF,0xFF)にする。
こうすれば、意図通りになるはず。
抜き色は普通、(0,0,0)だよな。キャラクター矩形で透明にしたいところはこれで塗りつぶしておけばいいんだよね。
709:689
09/09/19 00:06:43 u6/AjfDD
昨日はありがとうございました。
あれからいろいろ試した結果、
・アルファチャネルのブレンディングを有効にし、
・不透明度が大きい方を結果のアルファ値とする
このように設定すると期待通りの動作になりました。
device_->SetRenderState(D3DRS_SEPARATEALPHABLENDENABLE, TRUE);
device_->SetRenderState(D3DRS_BLENDOPALPHA, D3DBLENDOP_MAX);
URLリンク(dl6.getuploader.com)
例のごとくわかりづらいですが、
「不透明なカットイン背景が半透明になって、全体背景の街が透けて見える」
という現象が無くなりました。
710:名前は開発中のものです。
09/09/19 00:50:01 FpikGG53
>>709
なんか、もやの白が強くなって不透明に見えてるだけだね。>>692の画像と
表示のされ方は変化してないように見える。
711:689
09/09/19 01:29:44 u6/AjfDD
ではものすごくわかりやすい例を。
旧 URLリンク(dl3.getuploader.com)
新 URLリンク(dl3.getuploader.com)
どちらも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:名前は開発中のものです。
09/09/19 01:39:52 ujIvvLBv
つーか単にステート関連の設定をちゃんと理解してなかっただけじゃねえの
713:名前は開発中のものです。
09/09/19 08:02:04 k3VoAMfC
ちゃんと理解してたら質問にこないわな
お前本当にコミュニケ-ションとか理解できないじゃねえの
714:名前は開発中のものです。
09/09/19 08:29:04 FpikGG53
>>711
分かった。意図どおりになってよかったね。謎は残されたままだが。
旧タイプは重ねるごとに透明になってるのか、不思議だね。先に
不透明で描いてるのに後から重ねると透明になっていくという謎。
最終的に合成段階でピクセルの色が決められるから、そういうことも
できるのかね。加算合成?減算合成?
g_lpd3dDevice->SetRenderState(D3DRS_SRCBLEND,D3DBLEND_SRCALPHA);
g_lpd3dDevice->SetRenderState(D3DRS_DESTBLEND,D3DBLEND_INVSRCALPHA);
こうやって普通の半透明じゃ、旧タイプみたいに不思議状態にはならないよな。
謎だ。
715:名前は開発中のものです。
09/09/19 08:45:39 T/T+IHq2
っていうか、ID3DXSpriteの描画の為に
レンダーステートをいぢるっておかしくねーか?
何だかなー
716:名前は開発中のものです。
09/09/19 08:49:26 Wmk2Wipy
素直にD3DXSpriteを捨てるとか
717:名前は開発中のものです。
09/09/19 10:14:11 hPS4eY5I
D3DXSpriteなんて使ったこと無い。
あれ、いらないと思う。
718:名前は開発中のものです。
09/09/19 10:45:14 wVuVk5OI
すみません。
画像保管専用用のテクスチャから、表示用のテクスチャに一部画像を送りたくて
双方をLockRect()→FillMemory()→1ピクセルずつ転送
としようとしているのですが上手く行きません。
もしかして両方LockRect()する必要なんて無かったりしますか?
BMP→テクスチャなら正しく書き込めるんですが、テクスチャ同士の書き込みは初めてなもので・・ orz
719:名前は開発中のものです。
09/09/19 10:49:27 ujIvvLBv
なんでFillMemory?
システムのサーフェイスからVRAMサーフェイスへDMA転送するメソッドあるだろ。
720:名前は開発中のものです。
09/09/19 11:09:55 wVuVk5OI
FillMemory・・pBits Pitchの準備でもする関数と思い込んでた。全域書き込みだったのか・・。(´・ω・`)
DMA転送の意味はググっておおよそわかったけど
システムのサーフェイス VRAMサーフェイス・・色々理解してない事が多い悪寒。
DirectX勉強続けるならこれくらい読んでおけ 的なWebや書籍あったら何か教えて下さい(・ω・`)
721:名前は開発中のものです。
09/09/19 11:09:57 8SLts9QF
「ウマクイカナイ」という奴は、その言葉を発することで、
どれだけ解決を先送りにしているか理解していないんだろうな。
「ウマクイカナイ」と言えば、どうなってほしいのかという希望と、
現状が具体的にどうなっているのかということを説明した気になっているんだから。
722:名前は開発中のものです。
09/09/19 11:33:38 T/T+IHq2
Direct3D9は、日本語ヘルプだけ読んでればいいよ。
D3Dのみならず、3Dグラの基本を学ぶにはとても良い資料なんで。
まずはここを全ページ読む
URLリンク(msdn.microsoft.com)(VS.85).aspx
723:名前は開発中のものです。
09/09/19 11:46:24 wVuVk5OI
>>722
ありがとうございます。早速読み始めました。
書籍でも一応学んだ部分も有るので、知らないワードはググりながら読み進めて行こうと思います(`・ω・´)
724:名前は開発中のものです。
09/09/19 14:50:51 8FaGBwcO
ヘルプは細かい事を調べるにはいいけど、
一連の流れをつかみにくいから
DirectX実践プログラミング読みなよ。
事実上、これから始めるのがスタンダードだと思うんだけど。
725:名前は開発中のものです。
09/09/19 17:22:47 AvRxeaE8
helpが教科書
googleが先生
726:名前は開発中のものです。
09/09/20 10:01:57 3Ar764Br
Googleは実際はただの仲介業者で、Google含めたWeb全体が先生
727:名前は開発中のものです。
09/09/20 17:22:38 ZCm9dBJK
>>726
検索ヒットの末尾の方とか読まんだろ?
728:名前は開発中のものです。
09/09/20 19:11:34 X77D+Jte
いやいや、実際の学校の先生も仲介役だろう
先生を含めた世の中全体が先生って解釈もあるが
729:名前は開発中のものです。
09/09/20 21:48:19 c7TwYnTe
URLリンク(ranobe.com)
URLリンク(ranobe.com)
DirectInputの勉強をしています。一応、入力した値の取得は出来たのですが、
「アナログ→デジタル」に切り替えると、なぜか「-8」が入力され続けてしまいます。
これはどうしてでしょうか?
730:名前は開発中のものです。
09/09/20 23:27:42 r4ZVigLq
>>729
アナログは細かい誤差が出るのである程度遊びをもって入力処理するのが基本。
731:名前は開発中のものです。
09/09/21 00:39:52 4AGk9N1+
>>730
そうなんですね、ありがとうございます
732:名前は開発中のものです。
09/09/23 12:50:50 V8wqdYIK
すみませんテクスチャまわりについて2点の質問なのですが、
SetTexture関数を多用すると処理がどんどん重くなると聞き、
「連続して使う256x256のテクスチャ9枚」を切り替えまわるより
「連続ならば768x768(3個x3個)のテクスチャ1枚にした方が早い」という意味だと思うのですが
テクスチャのサイズが上がると切り替えの負担は増えるのでしょうか?
(例えば途中で1/9枚だけアクセスしたくて切り替えると無駄に重い など)
あと、水面を表現する時は「フレーム毎に別のテクスチャ」を使って表現しようと思っているのですが、
滝など流動的なものを表現する場合、テクスチャは1枚のままで
「UV座標を操作する事で表現する」なんて出来れば負荷も下がり滑らかなアニメーションが出来るかも
と思うのですが、UV座標の操作(というか抜き取りと再設定)は非現実的だったりしますでしょうか?
733:名前は開発中のものです。
09/09/23 15:25:12 3gqevorR
やってみて遅かったら考えろ
734:名前は開発中のものです。
09/09/23 15:45:24 nTo6CkVE
ハード次第なとこもあるから全て実測って訳にもいかないのがあれだけどな
735:名前は開発中のものです。
09/09/23 16:11:35 m/YblDRh
昔のイメージだと256x256に出来るだけ収めて
それの切り替え回数を出来るだけ少ないようにするってのが速かったと思うんだが
今でも底辺に合わせるならそれなんじゃねーのかな
256x256にして切り替え回数をまったく減らせないのであれば大きい方1枚がいいんじゃね?
736:名前は開発中のものです。
09/09/23 18:37:56 6iJxx7kT
キャッシュに入っちゃったときとキャッシュで出し入れしてるかでも違うだろ
単純に切り替えて「ああ、そうか」とか結論を出すのも駄目
つまり、シーン毎にやってみるしかない
737:名前は開発中のものです。
09/09/25 15:12:54 jyLx60BE
>>733-736
色々と知らなかった事情も知れて勉強になりました。
テクスチャを展開する場所も重要な訳ですね。
ありがとうございます。
738:名前は開発中のものです。
09/09/25 21:50:39 CaKKOxxc
展開する場所?
739:名前は開発中のものです。
09/09/26 18:16:15 aslwUzky
>>732
UVを変化させて水流などを表現する方法は、昔から標準的に使われていますよ。
(UVスクロールなどと呼ばれています。)
単純な技法ゆえに、一枚板ポリゴン上でおこなった場合は見た目があまり面白くありません。
しかし、グラフィックデザイナーの手によるポリゴンの繋ぎ合わせ・重ね合わせの妙のおかげで、
かなり見映えのする川や炎の表現になります。
740:名前は開発中のものです。
09/09/27 01:34:23 V6ttYBA5
少し疑問があったので質問を。初心者ですいません。
皆さんテクスチャの画像形式は何を使っていますか?
今のところ最初読んだ本に従ってbmpを毎回dds形式に統一して読み込んでいるのですが、容量ばかり多くてメモリを喰うもので。。
ついでにddsファイルの利点も教えていただけるとありがたいです。
741:名前は開発中のものです。
09/09/27 03:23:24 gpJIcbqR
多少色の再現度が落ちてもいいテクスチャーはJPGにしてる。
742:名前は開発中のものです。
09/09/27 04:12:58 jhWyqA9G
ファイル形式変わっても、メモリを食う量は一緒じゃないの?
テクスチャ圧縮とか使うならともかく。
743:名前は開発中のものです。
09/09/27 05:12:13 +LiXIQ5c
しかも読み込みの時間も延びる(ほんのわずかだけど)
744:名前は開発中のものです。
09/09/27 10:38:58 syUY7XWv
DXT、ミップマップ、キューブマップ、アルファチャンネル
このへんの機能を使うならDDSオンリーになるとおもうんだけど。
745:名前は開発中のものです。
09/09/27 12:25:33 ErInkGhk
>740
今のところddsで問題無いからddsでやってる。
まあ、テクスチャ合計で10MBくらいだから大丈夫なんだけど。
でも、圧縮かけてメモリ上に置いておくと、描画の度に展開すると速度が
犠牲になりそう。
シーンごとに必要なテクスチャを分けておいて、シーソ移動ごとに必要なものだけ
展開してメモリに置いとくとかすれば良さそう。面倒になるけど。
746:名前は開発中のものです。
09/09/27 12:29:36 cIkrjluV
っつか普通そうするだろ
747:名前は開発中のものです。
09/09/27 14:50:35 syUY7XWv
そもそも今時のGPUがつんでるメモリ量を考えての発言なのだろうか・・・。
748:名前は開発中のものです。
09/09/27 15:09:16 gpJIcbqR
困ったことに「フリゲは非力なマシンで動いて当たり前」と考えてるユーザーは少なく無い。
749:名前は開発中のものです。
09/09/27 15:09:58 gpJIcbqR
(JPGはあくまで配布の都合なんで関係ないけど)
750:名前は開発中のものです。
09/09/27 15:18:47 hp5UHszX
WindowsMeで動かないんですけど?
751:名前は開発中のものです。
09/09/27 15:19:38 syUY7XWv
WindowsMEとかサポートするのはただのオナニーだろ
752:名前は開発中のものです。
09/09/27 15:25:52 hp5UHszX
URLリンク(ja.wikipedia.org)
フリーゲームや同人の現実
753:名前は開発中のものです。
09/09/27 15:50:21 YaqXlW2n
フリゲや同人全般だと非力なスペックで動くゲームが一番人気あるからな、
その層を対象にするから中々スペック上げるのは難しい。
にしてもさすがにVRAM32ぐらいあれば家庭用ゲーには比べ物にならないぐらい潤沢ではあると思う。
よくある新しいPCなのに重いってのはノートだったりオンボだったりするのが原因だが、
これらの場合でもVRAMだけは多く取れると思う。
754:名前は開発中のものです。
09/09/27 16:07:57 HWAanpbA
極限までのメモリ節約を考えないマはただの生ゴミ
755:名前は開発中のものです。
09/09/27 16:20:30 PoOE52xi
すみません
D3DXLoadMeshFromX で読み込んだXファイルから
「法線情報」「頂点座標」「UV座標」「マテリアルNo」
にアクセス(読み書き)する方法
を解説しているサイトをどなたかご存知ではないでしょうか?
756:名前は開発中のものです。
09/09/27 16:36:43 syUY7XWv
>>754
節約するのとサポートが打ち切られているようなOSで
動くようにするのは話が違う。
757:名前は開発中のものです。
09/09/27 16:46:12 gs3GrlUZ
いやお前こそ何の話してるんだといいたい
ファイルの容量を上手く扱うための流れから勝手にズラしてるようにしか見えん
758:名前は開発中のものです。
09/09/27 17:15:04 6supplBE
あまりに非力なスペックまで相手にするのは不毛だと思う
759:名前は開発中のものです。
09/09/27 18:12:24 GCjoC8mm
内容の割に不自然に重いって感じさせなきゃいいんじゃね?
たいした事やってないのに、異様に重かったり
異常にハイスペックを要求したり、こういうのこそオナニーだよね。
760:名前は開発中のものです。
09/09/27 18:33:23 +LiXIQ5c
メッシュの頂点フォーマットを設定して頂点バッファを取得すればいい
マテリアルNoはたぶんアトリビュートテーブル
761:名前は開発中のものです。
09/09/27 18:34:46 +LiXIQ5c
あ、760は>>755へのレスです
762:740
09/09/27 19:28:26 V6ttYBA5
なるほど。参考になりました。
やはりメモリ量を増やさないよう地道に努力するほかなさそうですね。。
とりあえずはddsで進めていこうと思います。
メモリ消費量に見合う処理を実現させたいですね。
763:名前は開発中のものです。
09/09/27 20:05:19 sIMIl1Dj
DirectXがダウンロード出来なくなっちまったが、どうしたの?
764:名前は開発中のものです。
09/09/28 00:41:50 PJwvbzf0
DirectXは終了しました。あしからず
765:名前は開発中のものです。
09/09/28 10:24:06 moqSVWKN
DirectXってなかなかインパクトや説得力があってイカす名前だよな
誰が考えたのか知らんけど
766:名前は開発中のものです。
09/09/28 13:18:55 XG0JgWN6
Xファイルはドラマだか未知の謎だかで
バッドネーミングかと
767:名前は開発中のものです。
09/09/28 13:27:20 1dxmQUI2
Directダメ、必ずデバイスドライバを通せってことだよな
768:名前は開発中のものです。
09/09/28 15:48:36 iNj0Bwp/
マイクロソフトのX好きはMSXの昔の頃かららしいよ
769:名前は開発中のものです。
09/09/28 15:53:43 kBbiwz2h
XWindow
770:名前は開発中のものです。
09/09/28 16:25:24 dKxmzM/8
XNA使ったらあれほど手が出なかったゲームループが一瞬でできました
771:名前は開発中のものです。
09/09/28 17:51:23 moqSVWKN
Xファイルからメッシュを読み込んでDirectional Lightで照らそうとしているのですが、
なぜかライトが反映されません。
アンビエントライトおよびDirectionLightのAmbient値だけは反映されますが、Diffuseはチュートリアル通りに設定しても適用されません。
ライトの方向が間違っているのかと思い、ためしにライトの方向ベクトルを回してみても変化がありませんでした。
何が悪いんでしょうか。
DXViewerでは正常にグローシェーディングで陰影がつく形で表示されました。
772:名前は開発中のものです。
09/09/28 18:53:02 AKxVarcw
Attenuation とかの値は設定したかい?
773:名前は開発中のものです。
09/09/28 18:55:49 xoHW67fY
>>771
そのxファイルに法線ついてる?
法線無い場合はD3DXComputeNormalsとか使わないと駄目
774:名前は開発中のものです。
09/09/28 21:58:30 moqSVWKN
>>772
>>773
解決しました。
今回DXUTILのDXUTMeshクラスを初めて使ってみましたが、
SetFVFだけでなくSetVertexDeclで頂点データを定義することを知りませんでした。
設定すると無事ライティングが機能しましたが、DXUTMeshを使っていたことを記述するべきでしたね。
すみませんでした。
775:名前は開発中のものです。
09/09/28 22:15:42 MVcbCkFc
>>760
ありがとうございます。情報を探してみます。
776:名前は開発中のものです。
09/09/28 22:45:30 iTnMmDRC
今現在、3Dオブジェクトとスプライトの2つの当たり判定を取りたいと思っています。
そこで3Dオブジェクトのワールド座標をスクリーン座標に変換したいのですが、そういう変換関数ありますか?
777:名前は開発中のものです。
09/09/28 23:17:59 RzfBxwC3
D3DXVec3Project
778:名前は開発中のものです。
09/09/29 00:44:24 dMyVg2nC
>>777
ありがとうございます。
なんとかさっきその関数を見つけることができ、実現することが出来ました。
779:755
09/09/29 17:40:07 jAN25eYD
すみません。
D3DXLoadMeshFromX関数 から頂点/法線/マテリアル関連 の情報を取り出す為に
「ID3DXMesh インターフェイス」URLリンク(msdn.microsoft.com)
これを利用したいのですが
ID3DXMesh型の変数(?)を宣言しようとすると
>'ID3DXMesh' : 抽象クラスをインスタンス化できません。
とゴッソリエラーと警告が出てしまいます。
D3DXLoadMeshFromX関数の第8引数に渡したLPD3DXMESH型では当然「ID3DXMesh インターフェイス」は
使う事が出来ないのですが・・・どうすれば良いのでしょうか。
私はどこら辺を勉強して来ればこの辺の仕組みが解るのでしょうか orz
780:名前は開発中のものです。
09/09/29 18:57:23 dqeDC0z0
インスタンスはポインタのアドレスを生成してくれる関数に渡してもらうんだよ。
781:755
09/09/30 03:34:42 Bg91gg+z
>>780
ありがとうございました。
すみません、メンバって言葉に反応してピリオドを使ったミスでした orz
すぐ下でOptimize()でアロー演算子使って動いてるのに気付かず;
失礼しました orz
782:名前は開発中のものです。
09/10/01 23:58:42 LIkPTtwl
すみません、3D地面とキャラクターの衝突判定についてなのですが、
距離計算(内積)と反映までは出来たのですが、
1.衝突判定の処理軽減(判定対象の絞込み)にはどういうパターンが有るのか?
2.頂点と法線 どちらで判定すべきなのか?
3.内側にめり込む事の回避方法(尖っているポリゴンの境目からや処理落ちで等の)
これらの疑問でどう作れば良いかイメージができず困っています。
基本地面を歩きまわる軽いアクションゲーなのですが、
定番の方法などが有れば教えて頂けると幸いです。
783:名前は開発中のものです。
09/10/02 00:11:29 xaTOFVmz
どういう地面かによるけど
当たり判定取りたいキャラの真下の高さを取得してそれと当たりを取るのが最低限だろう
784:名前は開発中のものです。
09/10/02 00:18:49 z1JLtZk6
>>782
絞込みには、そっちには4分木が有効だろう。ちょっと敷居は高いが。
URLリンク(marupeke296.com)
後は境界球の作成から始めればいいんじゃない?
785:名前は開発中のものです。
09/10/02 09:26:28 /niBMC9g
>>783
そうですね、今は数段階の判定対象の絞り込みで軽減をしてみようかと思います。
ありがとうございます。
>>784
ありがとうございます。4分木・・今はキツいですが、いずれは勉強して取り込みたいと思います。
>境界球
なるほど。点じゃなくて立体で判定すればめり込み難そうですね。 試してみようと思います。
786:名前は開発中のものです。
09/10/07 22:53:27 1OGUvk7S
すみません
プレイヤーの数倍のサイズの敵への攻撃の衝突判定をする場合
1.円柱やボックスを大まかに中心座標から置いてそれを判定する
2.頂点数を減らした透明モデルを一緒に動かして、その面から外積(?)で判定する
この2つが思いつくのですが、
「低負担でそこそこの衝突判定」をする方法や理論が有れば助言頂けませんでしょうか?
787:名前は開発中のものです。
09/10/07 22:56:56 GxNoKgMb
当たり用の小さい球をたくさん敵につける
788:名前は開発中のものです。
09/10/07 23:06:45 1OGUvk7S
>>787
なるほど・・低負担でそこそこを楽に実現できそうですね。 ありがとうございましたっ
789:名前は開発中のものです。
09/10/12 14:26:14 puTlDpxR
WindowsへDirectX 9 と10を両方インストールして
場合に応じて切り替えることはできますか?
790:名前は開発中のものです。
09/10/12 16:22:18 hQMoF6vn
DirectXには下位互換があるんだから10をインストールすれば9も使える
791:名前は開発中のものです。
09/10/12 17:21:34 YdYmTdmP
それを言うなら上位互換
792:名前は開発中のものです。
09/10/12 21:22:38 rJ16+euJ
_ASSERT と assertって同じ?別物?
定義を見ると違うっぽいので違うのだろうけど、どう使い分けるの?
793:名前は開発中のものです。
09/10/12 21:34:24 AjxFbh57
>>789
そもそもOSに標準搭載されているのでインストールする必要性が無い。
794:名前は開発中のものです。
09/10/12 21:37:57 yXQZI7v6
>>789
SDKの話?
795:名前は開発中のものです。
09/10/18 10:52:06 lUEbzDrT
頂点バッファをD3DPOOL_DEFAULT、
インデックスバッファをD3DPOOL_MANAGEDで描画して
私のビデオカードでは問題ないようですが、このようなバッファの運用は
一般的ですか?
796:名前は開発中のものです。
09/10/18 19:50:42 lUEbzDrT
普通だよね?
797:名前は開発中のものです。
09/10/18 19:56:21 gH5KDL3H
別に変なことじゃないだろ
798:名前は開発中のものです。
09/10/18 22:08:31 lUEbzDrT
>>797 thx
frequency設定して別ストリームから合成描画する
2つの頂点バッファを別々の設定でプールしたら
バグッたんで、色々気になっていました。
799:名前は開発中のものです。
09/10/19 12:59:47 7jM4tM9s
すみません
DirectInputでマウスのボタン操作を取得してるんですが
「マウスボタンが押されっぱなし」の状態を安全(確実)に取得する特別な方法は有るでしょうか?
変数で操作の取得毎にフラグをひっくり返し続けるだけでも
大丈夫なものなんでしょうか?(外部ソフトの負荷で処理落ちして逆さになったりしないか怖くて・・)
800:名前は開発中のものです。
09/10/19 13:09:07 TPHZOR5g
マウスを扱うならWin32APIの方が確実
801:名前は開発中のものです。
09/10/19 13:34:42 7jM4tM9s
>>800
そうなんですね。ちょっと調べてみます。
ありがとうございました。
802:名前は開発中のものです。
09/10/19 16:46:13 ChZNl820
>>799
逆さになるって意味が分からんのだが。
ボタンが押されたときと離されたときで、異なる値になるんだが。
803:名前は開発中のものです。
09/10/19 21:14:06 qZo3qR1P
男女男男女ですね
ちがうわー
ってことだろ
804:名前は開発中のものです。
09/10/20 14:48:31 K18Q7LH0
嬲嫐か
805:名前は開発中のものです。
09/10/21 20:20:52 7NIJVQVY
表示された3Dモデルをクリックやオンマウスする事で
情報を表示できる様にしたいのですけれど、
・D3DXComputeBoundingBox()でバウンディングボックスを生成
・その各頂点からD3DXVec3Project()でカメラ(2D)座標にする
↑の方法で合ってるでしょうか?
D3DXComputeBoundingBox()が上手く行かず合ってるのか心配に。。
806:名前は開発中のものです。
09/10/21 22:39:00 c4Loyn9X
>>805
まあ、それで間違ってはいない。
でも俺なら、ワールド座標系で
レイを飛ばしてボックスと当たり判定をするな。
807:805
09/10/21 23:26:05 mh4+7PPm
>>806
合ってはいるんですね。ありがとうございます。
>ワールド座標系で
>レイを飛ばしてボックスと当たり判定
レイが何なのかわからず利用法がわかりませんが、
ベクトル計算を省けそうでこちらの方が軽く済みそうな予感がしますね・・。
ちょっと調べてみますが、少しヒントを頂けるとありがたいです。
808:名前は開発中のものです。
09/10/21 23:40:44 Hv8xs2nw
ヒント?ググレよ
809:805
09/10/21 23:48:28 mh4+7PPm
あー・・ググっててなんとなくおっしゃってる意味が解りました。
失礼しました。
やはりなるべく今の自分にできる程度の事でやった方が良さそうです;
ありがとうございました。