鬱だ氏のう DirectX (Part 3)
■ このスレッドは過去ログ倉庫に格納されています
初心者用相談室では扱わないような少し高度な話題も受け持つ。
■旧スレ(プログラム板)
http://piza.2ch.net/tech/kako/966/966655286.html (Part 1)
http://pc.2ch.net/test/read.cgi/tech/997101556/ (Part 2)
0259名前は開発中のものです。
02/01/01 14:42ID:???煽りにわざわざトンチンカンな反応して釣られんなよ。
マジレスしたいなら235じゃなくて215にしてやれ。
0260名前は開発中のものです。
02/01/01 15:58ID:???0261アレックス
02/01/01 16:21ID:???0262名前は開発中のものです。
02/01/01 22:16ID:???>>257
>>258
/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ハァハァ / アァ、この初々しい子たちの
Λ_Λ < 醸し出すティーンエージャーの香り・・・・
(´Д`*) \ タ、タマラナイ・・・・
//つ⌒) \____________
⊂\/ /
/ \/
□■ ノ
/ /
/ /|
( ( 、
| |、 \
| / \ ⌒l
| | ) /
ノ ) し'
(_/
0263名前は開発中のものです。
02/01/01 22:45ID:???0264連荘
02/01/02 15:53ID:OAGwebJRY軸回転とX軸回転の2つだけで済ましちゃってるんですけど、これって
ヤヴァいですか?現状ではちゃんと動いてるかのように見えます。
(全方向に動けるしモデルも向く)問題がありそうな部分があれば教えて下さい。
これに法線を使った地表との当たり判定を導入しようと思ってるんですけど
これとの相性も教えて頂きたいっす。
0265名前は開発中のものです。
02/01/02 16:18ID:???角度は三つ必要です。
二つで行けそうな気がするけど、
砲身が回転するガトリング砲を思い浮かべてみて。
砲身の向き(X軸周りとY軸周り)は表現できるけど、
回転ができないでしょ?
漏れもちょっと昔、同じところでハマタ。
0266名前は開発中のものです。
02/01/02 16:25ID:???プレイするのに快適な(面白い)ほうを選べばいいと思うよ。
ついでに、「ロール」、「ピッチ」、「ヨー」という表現を
使うと意味が通じやすくて便利だよ。googleってみ。
0267名前は開発中のものです。
02/01/02 17:39ID:XaQ5bOpVそれでもいいと思うよ。
あたり判定には関係ないでしょ。座標計算を行った後にコリジョンを行うんだから。
つーか、相性って言う所が凄い意味が分からんです。
でも、Z軸の回転入れると制御するのが大変だったりするし。
でも、例えば斜めの角度の隕石とかにぶつかった時、
物体はそれに沿って回転させるとか入れたらZ軸は必要になるねぇ。
ようはそのゲームの表現次第だと思うよ。
書き込み見る限り、あんまし3Dのこと知らんようだが、
マトリックスでの回転のデータ制御だけはゲームによってはしんどかったりするからなぁ。
0268連荘
02/01/02 20:16ID:???ご教授ありがとうございます。
このままだとロールが表現できないんですね・・・
めんどうなので全キャラに行列を持たせることに
しました。
0269名前は開発中のものです。
02/01/03 02:06ID:/v0ted2n初回起動時は音が途切れうまく再生されないのですが
2回目からはうまく再生されます
はじめはデータがメモリに読まれたからとぎれないとおもったのですが
違ってたみたいです
なにか教えてください
0270名前は開発中のものです。
02/01/03 02:19ID:???まずIDirect8Peerインターフェースを取得しようとしてこのような記述をしました。
if (FAILED(hr = CoCreateInstance(CLSID_DirectPlay8Peer, NULL, CLSCTX_INPROC_SERVER,
IID_IDirectPlay8Peer, (void **)&lpDirectPlay8Peer)))
return FALSE;
すると、次のようなエラーメッセージが表示されます。
error LNK2001: 外部シンボル "_CLSID_DirectPlay8Peer" は未解決です
error LNK2001: 外部シンボル "_IID_IDirectPlay8Peer" は未解決です
fatal error LNK1120: 外部参照 2 が未解決です。
本の通りに書いているのですがこうなります。 何か設定などが必要なのでしょうか。
とりあえず #include <dplay8.h> は書きましたけど。
0271名前は開発中のものです。
02/01/03 02:57ID:???プロジェクトの設定にある、リンク先の.libの設定が足りないんだと思うよ。
0272名前は開発中のものです。
02/01/03 03:06ID:???自分もそれが怪しいとは思ったんですが、とりあえず
dplay.libは追加設定しておきました。
他にも何か必要なのかな…
0273名前は開発中のものです。
02/01/03 03:10ID:???http://www.microsoft.com/japan/developer/library/vccore/lnk2001.htm
0274名前は開発中のものです。
02/01/03 03:14ID:???ありがと〜
0275名前は開発中のものです。
02/01/03 13:59ID:???#pragma comment(lib, "ddraw.lib")
をヘッダかソース辺にカキコしてミレ
0276名前は開発中のものです。
02/01/03 15:34ID:???で終了させると、DirectDrawが誤動作せんのら
PostMessage(hWnd,WM_CLOSE,0,NULL);
で終了させると画面モードが変わっていた人は、試してみそ
0277名前は開発中のものです。
02/01/03 16:13ID:???VC++のような開発環境がなくても(ボーランドのフリーのコンパイラなどで)
DirectXを使うことは可能なのでしょうか?
とある友人がVCを焼いてくれるといってるんですが、違法でソフトを
手に入れるのに抵抗があるもので…。
0278名前は開発中のものです。
02/01/03 18:15ID:Drqrtn3F割れ厨はN-88Basicでも使ってなさいってこった
0280名前は開発中のものです。
02/01/03 18:27ID:???アホだよお前・・・。
0281名前は開発中のものです。
02/01/03 18:31ID:???そのような方法をとらなくてもDirectXは使えます。
詳細はgoogle様にお聞きください。
>>279-280
wareに抵抗あるって言ってるんだから多めに見てやろうや。
0282277
02/01/03 19:18ID:???回答どうもです。
小遣い少ないもんで、できるだけ安く開発がしたいんです。
>>278,279,280
お気を悪くされたようで、申し訳ありませんでした。
僕も違法コピーが嫌いなもので、そういう方法でソフトを手に入れた
ことはありません。
たまたま友達に「ソフトが欲しくて金がない」といったら焼いてあげると
いわれたもので…。もちろん即断りましたけど。
0283名前は開発中のものです。
02/01/03 21:04ID:???MSDNのサポートなんかが受けられなくなるんじゃないの?
サービスパックとかが手に入らなくなるのかも。よくは分からんけど、
そうなったら後々メンドウな事になるし買った方が楽だよ。
無論、タイ―ホされると更にメンドウなことになるけど。w
0284名前は開発中のものです。
02/01/03 21:22ID:???割れツールで生成したバイナリを同人系即売会で配布することです。
色々なもので試してみると良いかもしれません。「当り」を出すのに
そう時間はかからないですから。
0285名前は開発中のものです。
02/01/03 21:24ID:???将来への投資だと言って親に金出してもらうとか。
つか、アカデミック版だと Pro で 13,400円、
Enterprise で 20,300円 なのだからお年玉で買えるような。
0286277
02/01/03 21:38ID:???親はだめでした…。
お年玉は幼稚園のころから母親が口座にためているそうです。
独り立ちする時に渡してくれるとか。あと約10年…。
とりあえずは281さんのレスの通りグーグルで検索してみます。
ご迷惑をおかけして本当に申し訳ありませんでした。
0288名前は開発中のものです。
02/01/03 22:52ID:???っていうかゲーム製作板全般、詩嚢スレ多い。
やれやれ、独立意識だけ高くて板、作ったのはいいけど
ネタがないんじゃ2chサーバーのお荷物だねぇ、おまえらゲーヲタ連中は。
0289名前は開発中のものです。
02/01/03 23:05ID:???多分>>288も狙ってるんだと思うし…言ってみるかな。
>>288
オマエモナー
0290名前は開発中のものです。
02/01/04 00:15ID:???いや、正直、>288はマジだと思うが。
漏れもプログラム板の方が雰囲気良かったと思うし。
0291
02/01/04 01:09ID:wSRhf7+N現状はあまりよくないね。いつ消されるか心配だ
プロは語りたがらないので、素人が多いのが原因かなぁ
0292プロですが何か?
02/01/04 01:44ID:0kuW71i1勉強するし、仕事するよ…
同業がいるんじゃないかと見に来てみたんだが。
…鬱だ働こう。
0293名前は開発中のものです。
02/01/04 01:49ID:???ム板からゲーム作りたい厨(ワナビー厨)を隔離する
ために作ったんでしょ?この板。
0294
02/01/04 01:57ID:wSRhf7+N0295名前は開発中のものです。
02/01/04 02:24ID:???「ゲーサク板は嫌だったので、こっちにスレ立てちゃいました〜♪」
てなもんさ。
0296名前は開発中のものです。
02/01/04 07:37ID:???ん、やけに汚い単語だな・・・
0297名前は開発中のものです。
02/01/04 07:52ID:???先生方よ、次からは2ch覗くヒマがないぐらいの量の
宿題を出してやってくれ(特にDQN中学校は)
0298名前は開発中のものです。
02/01/04 11:04ID:???×おまえらゲーヲタ連中は。
○おれらゲーヲタ連中は。
0299厨
02/01/04 23:27ID:0N5UWmUcつまり座標xyzwのwって何を意味していてその他xyzとどうイウ関係なんですか?
マトリックス内のw値はxyzに変換するとき定数項になるっていうのは
分かるんですけど、出てきたものが4っつになっててどうしたものか・・・と
悩んでますw。ズバリ説明してるHPとかあったら教えて下さーい。
0300厨
02/01/04 23:50ID:0N5UWmUc平行移動で書くと
X’=|X| |1,0,0,0|
Y’=|Y|*|0,1,0,0|
Z’=|Z| |0,0,1,0|
W’=|W| |x,y,z,1|
↑
これ!このW'が3次元座標の中で何になるのかがわかりません。
上のX’Y’Z’はそのまま使ってよろしいでしょうか?
上式でx,y,zは平行移動成分なのでTx,Ty,Tzと表現した方が(・∀・)イイ。
Wは次元を増やすためのものであり、重要性はあまりありません。
本来は3D座標に変換する際、X,Y,Zの各成分をWで各々割る必要性があります。
つまり 4次元座標(x、y、z、w) −> 3次元座標(x/w、y/w、z/w)
でも基本的にwは1ですのでwを無視して、そのまま変換後のx、y、zの値を使えば(・∀・)イイです。
誤解を招きそうな表現なので修正。
wは1ですので −> wは1にして扱うので
>>300(この式間違ってますけど、細かいことはケアレスミスとして無視します)
の式をW=1にして通常扱います。
0303厨
02/01/05 00:20ID:???ありがとうございますー!
うわー!そうだったんですか!W=1なんすね。
次元が変わってるということは全く知りませんでした・・・(ぉぃ
ほんとありがとうございましたー!!
0304厨
02/01/05 00:24ID:???あ、Wは1なんですね。スンマセン・・。
0305
02/01/05 00:47ID:PQrQjQiJ0306名前は開発中のものです。
02/01/05 01:02ID:???0307_
02/01/07 02:34ID:BpbIQZ5i今 DirectXを使って3Dのレースゲーム作っていて、
描画するオブジェクト(コースや車)の可視判定がうまくできません。
オブジェクトには、それぞれバウンディングボックスを作成して
オブジェクトを囲む8個の頂点をそれぞれスクリーン座標に変換
し画面内であるかどうか判定しています。
変換した8個の頂点のうちのどれかが 画面内で有れば描画対象という
判定はできるのですが、
描画するオブジェクトがカメラにたいしてアップの状態で、8頂点を変換したスクリーン座標が
すべて画面外のときの可視判定がわかりません どういう条件で判定できるのでしょうか?
0308
02/01/07 02:38ID:JNjsuZE70309307
02/01/07 02:48ID:BpbIQZ5iスイマセン。ちょっと書き方がまずかったみたいです。
ようするに
カメラの正面に大きな立方体があるイメージです。
0310名前は開発中のものです。
02/01/07 03:12ID:???つまり、四角錐と立方体が交差してるかどうかを調べる
ということですよね。
0311名前は開発中のものです。
02/01/07 03:23ID:???上手く説明できないが、
スクリーン座標に変換した最小の点<スクリーンの最小<スクリーンの最大<スクリーン座標に変換した最大
になるとおもうから、それで判定ってのは?
0312名前は開発中のものです。
02/01/07 03:30ID:???0313307
02/01/07 03:49ID:BpbIQZ5i>>311 スクリーンの最小<スクリーンの最大 とはどういうことなんでしょうか?
>>312
座標変換前に調べるというのは、オブジェクトのワールド座標がカメラの
視野角内であるか判定するということですよね。
0314名前は開発中のものです。
02/01/07 18:29ID:???0316名前は開発中のものです。
02/01/07 18:35ID:???0317名前は開発中のものです。
02/01/07 20:16ID:???0318名前は開発中のものです。
02/01/07 20:44ID:ejFgkT1W0319名前は開発中のものです。
02/01/07 20:58ID:???2chで聞いても馬鹿にされるだけだぞ。
0320名前は開発中のものです。
02/01/07 23:38ID:???0321名前は開発中のものです。
02/01/08 12:19ID:???0322320
02/01/08 17:46ID:???0323名前は開発中のものです。
02/01/08 17:50ID:aXMf05yUプレイヤーの機体を基準としてなんですけど、数値の大小で悪影響とか出ることはあるんで
しょうか?それともどうでもいい?
0324名前は開発中のものです。
02/01/08 18:09ID:???単位も何でもいい。インチでもメートルでもキロメートルでもセンチメートルでも
ウサマビンラディンでも何でもいい。
0325名前は開発中のものです。
02/01/08 18:13ID:???サンクスです。ウサマで逝きます。
0326名前は開発中のものです。
02/01/08 19:38ID:???有効桁6桁だから、あんまでかすぎると良くないと思うよ。
0327名前は開発中のものです。
02/01/08 20:17ID:???なってます。。ビデオカードの能力不足かと思ってました。
サンクスです。
0328名前は開発中のものです。
02/01/08 22:08ID:???どうせならオングストロームとかパーセクとか
0329名前は開発中のものです。
02/01/09 00:04ID:???0330名前は開発中のものです。
02/01/10 15:50ID:???0331名前は開発中のものです。
02/01/10 17:27ID:???0332名前は開発中のものです。
02/01/10 17:35ID:VwnKgT/a0333祭り報告
02/01/10 17:53ID:mnz5oev8みなさんも是非( ● )_( ● )を付けてスレ立ててください。
みんなであの最悪板を制圧して潰しましょう!
そしてあそこを消滅させましょう!!
今こそ団結の時じゃないでしょうか。特にペット好きの皆さんは。
0334331
02/01/11 00:54ID:8pSNS9M0何をやっても横に1.5倍ほど伸びてしまいます。サンプルにある
パーティクルと同じ画像をたくさん表示してるんですけど・・・
解決策を教えて下さい!
0335名前は開発中のものです。
02/01/11 01:09ID:???もしサンプルが正常に動いてるならそのソースを見たほうが早いかもよ。
画面全体の縦横比がおかしいなら、プロジェクションマトリクスとか
ビューポートの設定を疑ってみてはどうか?
0337331
02/01/11 02:33ID:8pSNS9M0すいません・・。どうやら画面の縦横比の問題みたいでした。
バックバッファの設定を1120:480にしたら直りました。
ありがとうございます。
0338名前は開発中のものです。
02/01/11 05:32ID:???0339338
02/01/11 05:33ID:???CONST_DIKEYFLAGS でした。スミマセン。
0340名前は開発中のものです。
02/01/11 05:42ID:???DIK_DOWNだったら %mssdk%include\dinput.h の2000行目あたり。
ただし defineされているだけで、enumされてないんじゃねーのか?。
何に使うのかは知らんが、がんばれ。
それと、grepの使い方は覚えとけ。便利だから。ていうか基本。
0341331
02/01/11 21:28ID:8pSNS9M0直ったように見えていただけでした・・・
ポイントスプライトの表示領域が真っ白に表示されるように
してみたら、なんと横長の長方形でした。比率は2:1ぐらいだと思います。
で、その長方形はバックバッファに常に平行に描画されていて、他の
オブジェクト、ポリゴンに張ったテクスチャ、ビューポートの設定、
等は全て正常でした。(ビューポートのどこの設定を変えてもこの2:1は
変化しないです。)バックバッファのサイズ比を変更しない限り変化できないのですが、
これを変えると画面の縦ラインが妙な感じになったり、フルスクリーンに
できなくなったりします。似たような症状を知っているという方、教えて下さい。
0342名前は開発中のものです。
02/01/11 21:46ID:???よく分からんが、
>1120:480
この比のせいじゃない?
4:3になるようにしてみれば?
0343331
02/01/11 21:51ID:???その比だとスプライト以外の画像がおかしくなるんです。
ウィンドウサイズ640:480で、バックバッファも
640:480にするとスプライトは2:1ですけど他は全て
正常です。フルスクリーンもできます。
0344331
02/01/11 21:54ID:???4:3(ウインドウサイズと同じ比)でスプライトがおかしく
なるといことです。
0345名前は開発中のものです。
02/01/11 22:49ID:???で、肝心のサンプルのほうはどうなの。
そっちは問題なく動いてるんだろう?
0346331
02/01/11 22:52ID:???動いてます。ウィンドウのサイズを変えても大丈夫です。
0347名前は開発中のものです。
02/01/11 23:32ID:???0348331
02/01/11 23:43ID:???アスペクト比は1.2です。変更するとスプライトの表示位置は
変わりますがサイズ(2:1)は変化無しでした・・・。
スプライトのサイズ変更処理をしても比率にはやはり変化無しです。
(D3DRS_POINTSCALEENABLE)
D3DRS_POINTSPRITEENABLE のみ、又、併用どちらもダメでした。
0349331
02/01/12 00:44ID:???方法教えて下さい・・・色々探しましたが見つかりませんでした。
お願いします。
0350名前は開発中のものです。
02/01/12 01:16ID:???0351331
02/01/12 08:28ID:kqWL79i1ようやく見つけました・・・。初期化の際、マルチサンプリングタイプを、
D3DMULTISAMPLE_2_SAMPLES にするとこの現象が起きるようです。
D3DMULTISAMPLE_NONE にしたらあっさり直りました。
でも理由が分かりません。
D3DMULTISAMPLE_2_SAMPLES はフルスクリーン・エッジアンチエイリアスを
使うために設定が必要だったんですが、もし分かる方いたら説明して頂きたいです。
共存はできないんでしょうか。
0352名前は開発中のものです。
02/01/13 00:38ID:ssMqoitnよくわからんが、ドライバがお亡くなりになってるんじゃ?
0353名前は開発中のものです。
02/01/13 00:48ID:???ビデオチップは何を使ってる?
もしHALドライバが怪しいと思ったら
リファレンスラスタライザの出力と比較するといい。
結果が異なるならビデオチップメーカーを呪うしかない。
0354名前は開発中のものです。
02/01/13 01:06ID:lenemCyg出来ないと思われ。
あれの根っこは、テクスチャの加工は拡縮比だけで転送、これに尽きる。
パラメータそのものが存在しないので、自前でシェーダ書け。
0355名前は開発中のものです。
02/01/13 04:14ID:???呪う前にバグ報告しろって
0356名前は開発中のものです。
02/01/13 17:35ID:???DirectXの初期化の方法と使い方が分かったところで、さぁ何か作ってみるかと
思っているんですが、クラスを一切つくらずに一枚のファイルに書き続けていたら
すぐにコードが破綻しそうです。
そこで、クラス設計を考えはじめたのですが、みなさんはどのように設計しますか?
例えば、Winodwを作成表示するクラス、描画を担当するクラス、入力を担当するクラス
って感じですか?
0357
02/01/13 17:44ID:aHq0GIhgサンプルみたいに d3dapplicationクラスを作って
その派生で d3dgame とかクラスを作るといいかも〜
後、DXのバージョンが上がった時に最小限の変更でいいようにしたりして
Txture管理なんかも別クラスにしておく
0358
02/01/13 18:15ID:aHq0GIhgViewPortも描画クラスの外にだして、簡単にマルチスクリーン、マルチアングルとか出来るようにしておきたい予感
■ このスレッドは過去ログ倉庫に格納されています