■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

【C++】 DirectX初心者質問スレ Part11 【C】
251 名前:デフォルトの名無しさん :2006/10/05(木) 16:31:35
シェーダーんとこ、その辺の計算省いて無い?

252 名前:デフォルトの名無しさん :2006/10/05(木) 16:36:28
>>221
いいからプログラム晒してみろって。
ソース見られるのが嫌だったらXファイルだけでも。

あとHLSL使ってるんだったらソレも。

253 名前:221 :2006/10/05(木) 16:47:10
>>252博士
博士、Xファイルだけとりあえずうpいたします。
博士、無知な私目にご教授願います。

http://aploda.net/dl.php?mode=pass&file_id=0000022281.zip

HLSLっていうのは初めて知ったんですが、
多分使ってないです。





254 名前:221 :2006/10/05(木) 16:50:46
>>252提督
シェーダーの計算とは、具体的にどこでしょうか?
当方、DirectXを独学で始めたばっかなので
よくわかっていません・・・。
提督、2階級降格ですか?

255 名前:デフォルトの名無しさん :2006/10/05(木) 16:55:57
mview で見ると法線は大丈夫っぽい
ttp://aploda.net/dl.php?mode=pass&file_id=0000022282.jpg

256 名前:221 :2006/10/05(木) 17:01:08
>>255先輩
せんぱぁ〜い、お弁当作ってきましたぁ〜。

現状をまとめます。
スキンメッシュの読み込み→再生はできます。
ただし、ライティング処理のAmbientがうまく反映されない。
スキンメッシュのファイルをただのXファイルとして扱い、
表示した場合、Ambientはちゃんと反映される。
→ライティング処理のAmbientを反映させたい。

257 名前:デフォルトの名無しさん :2006/10/05(木) 17:14:54
>>254
こっちにはなにもないのにどうやって指示するのか

258 名前:デフォルトの名無しさん :2006/10/05(木) 17:19:32
>>253
DirectX Viewerで見る限りはライティング問題なさそう。
剣がデカくなった時に暗くなってるのは気になるが・・

259 名前:デフォルトの名無しさん :2006/10/05(木) 17:31:04
>>221
> vecDirection = D3DXVECTOR3(0, -1, 1);
ライトさ、奥から手前に向かってない?
Zを-1にしてみたらどうなる??

スクリーンショットみても下から当たってるようにも見えるし
ライト関連の設定に問題がありそうなんだよね。

260 名前:221 :2006/10/05(木) 17:38:06
>>254店長
おっしゃるとおりで・・・。
正直すまんかった。

>>258部長
調べてもらってスンマセン。

>>259先生
先生、
vecDirection = D3DXVECTOR3(0, -1, -1);
にしたら、スキンメッシュ全体がかなり暗くなりました。
同じ設定(vecDirection = D3DXVECTOR3(0, -1, -1);)で
通常のXフィル用に先ほどのスキンメッシュを開いたら、いい感じに
ライティング処理が施されていまふ。

おっしゃるとおり、ライト関連がかなり怪しいです。
ライト関連ならさらせますが・・・うpしますか?

261 名前:221 :2006/10/05(木) 17:47:38
一応、ライティング関連のコードをうpします。
http://aploda.net/dl.php?mode=pass&file_id=0000022286.txt

コーディングがうんこなのは、知能障害のためです。


262 名前:デフォルトの名無しさん :2006/10/05(木) 18:17:36
DirectPlayでサーバ/クライアント型で
プログラム作ってるんだが、
サーバ開始した時点でプレイヤーが一人居るんだが
こいつはサーバ自身のプレイヤー?

こいつと普通のプレイヤー見分ける方法ある?


263 名前:デフォルトの名無しさん :2006/10/05(木) 18:34:45
まだ過去の遺物のDirectPlayを使おうとしているのか。
過去のプログラムのメンテなら分かるが、新規で使う気が知れない。

264 名前:デフォルトの名無しさん :2006/10/05(木) 18:36:02
>>263
今って通信のプログラムって何が流行りなの?


265 名前:デフォルトの名無しさん :2006/10/05(木) 18:39:06
流行も何も選択肢は一つしかない。

266 名前:デフォルトの名無しさん :2006/10/05(木) 18:41:10
>>265
Winsockでつか?

267 名前:デフォルトの名無しさん :2006/10/05(木) 18:53:07
>>263
「音声通信せよ」
との命令なんだ。
かなりローカルで使うプログラムだから許してちょ

268 名前:デフォルトの名無しさん :2006/10/05(木) 19:00:29
MediaFormatSDKを使えば、圧縮されたストリームデータを通信で送受信するぐらい簡単に書ける。
今となっては完全にDirectPlayは必要が無い。

269 名前:デフォルトの名無しさん :2006/10/05(木) 19:18:38
>>268
そんなのもあるのか
サンクス

270 名前:デフォルトの名無しさん :2006/10/05(木) 19:49:31
>>261
んーよくワカランかった(;´д`)

描画するときに-1でスケールとかしてないよね?

271 名前:デフォルトの名無しさん :2006/10/05(木) 20:00:49
>>261
SetRenderState(D3DRS_NORMALIZENORMALS, TRUE);
も試しにやってみるといいわね。

272 名前:デフォルトの名無しさん :2006/10/05(木) 20:53:00
Boost.Socketがもう少しがんばってくれたらな

273 名前:261 :2006/10/05(木) 23:02:03
>>270委員長
>んーよくワカランかった(;´д`)
>描画するときに-1でスケールとかしてないよね?
してないズラ。

>>271団長
>SetRenderState(D3DRS_NORMALIZENORMALS, TRUE);
>も試しにやってみるといいわね。
やってみた。
ダメだった。




274 名前:デフォルトの名無しさん :2006/10/05(木) 23:08:08
すいません、質問です。
2Dなんですけど、左から右に行くほどどんどん透明になっていくテクスチャ
ってのを作りたいんですけどどうやって作ればいいんでしょうか?
ちなみに画像のファイル形式はbmpです。

275 名前:261 :2006/10/05(木) 23:30:20
http://www.uploda.net/cgi/uploader2/index.php?dlpas_id=0000022300.zip

とりあえず、現状報告。
画像をうpします。

1.jpg スキンメッシュを通常のXファイル描画
2.jpg スキンメッシュをスキンメッシュモーションとして描画

多分Ambientが利いていないんだと思う。
ライティング処理関係か、SetRenderState関係が
非常にあやすぃ。

276 名前:デフォルトの名無しさん :2006/10/06(金) 00:04:55
パスがわからん・・・

もう面倒だからコンパイル環境まとめてうpしなさいな

277 名前:261 :2006/10/06(金) 00:08:03
http://aploda.net/dl.php?mode=pass&file_id=0000022309.zip
すまそ、間違えてパスつけてた。

VC++6.0で漏れの珍妙なソースコード見てくれる
ネ申はいたりますか?

278 名前:デフォルトの名無しさん :2006/10/06(金) 00:13:57
うpされれば見る、されなければ見ない。
それだけのことだろう。
見れば分かるわけでもないが、見なければまず分からない。

279 名前:261 :2006/10/06(金) 00:17:26
http://aploda.net/dl.php?mode=pass&file_id=0000022311.zip
うんこみたいなコードを晒します。

280 名前:261 :2006/10/06(金) 00:18:33
スキンメッシュファイルは
>>253
にありまつ。

281 名前:デフォルトの名無しさん :2006/10/06(金) 00:30:25
>>279
ナイス度胸!よくUPした!!

待ってろよ〜すぐ解決してやっから。
まずはリンクエラーを何とかして・・・(;´д`)

282 名前:デフォルトの名無しさん :2006/10/06(金) 00:45:01
>>279
テクスチャーファイルがねー(;´д`)
とりあえず灰色でよければライトちゃんと当たってたよ。

ところで、DirectXって左手座標系だからZ座標は手前が正(プラス)方向だよ。
カメラとライトがどっちも右手系の指定になってたのは
単にモデルを正面から見るため?

283 名前:261 :2006/10/06(金) 01:00:16
>>281大名
このバグ?で2日も悩んでる。
DQNコードだとか、DQNデザインパターンだとか
もぉ・・・、いいんです。
助け・・・、て。

>>282監督
http://aploda.net/dl.php?mode=pass&file_id=0000022316.zip
ごめんなさい。
テクスチャつきのをうpします。

>カメラとライトがどっちも右手系の指定になってたのは
>単にモデルを正面から見るため?
単に漏れがDQNなため・・・。


284 名前:デフォルトの名無しさん :2006/10/06(金) 01:05:21
>>283
なるほど、確かに暗くなるね。不思議。
いろいろ見てみる。

285 名前:261 :2006/10/06(金) 01:05:56
ちなみにバグがありまして、、、。

モーションファイルを開く
を行った後に、
Xファイルを開く
を行うと落ちます。

逆はなぜかヘイキ。

286 名前:261 :2006/10/06(金) 01:07:54
同志>>284

スキンメッシュクラスがすげぇ怪しいキガス。
スキンメッシュクラスは正直、本のコピペをちょい改悪した程度。

あと、ライティング関係も怪しいキガス。

287 名前:デフォルトの名無しさん :2006/10/06(金) 01:16:05
確かにアンビエントがボーンのときは無効になってるな。

288 名前:デフォルトの名無しさん :2006/10/06(金) 01:20:04
pMeshMaterials[i].Diffuse = d3dxMaterials[i].MatD3D.Diffuse;
pMeshMaterials[i].Ambient Diffuse = d3dxMaterials[i].MatD3D.Diffuse;

通常のメッシュはここでアンビエントにディフーズを代入しているので、
アンビエントがかなり強くとうぜん明るい。

スキンメッシュの方は読み込んだマテリアルそのままなので、
アンビエントは低く暗い。

マテリアルの展開を統一しないから出たバグだな。

289 名前:デフォルトの名無しさん :2006/10/06(金) 01:23:00
通常メッシュと同様に、ディフーズ色をアンビエントにコピーすれば一応OK。

DirectGraphics.cpp の 693行目と925行目の後に↓を追加
// ディフーズ色をアンビエント色にコピーする
pMeshContainer->pMaterials[iMaterial].MatD3D.Ambient = pMeshContainer->pMaterials[iMaterial].MatD3D.Diffuse;

でも、できればプログラムでいじるんじゃなくて
Xファイルの方で正しくアンビエント色を設定できたほうがより良い。

290 名前:デフォルトの名無しさん :2006/10/06(金) 01:24:37
ちなみにスキンメッシュのところは

memcpy(pMeshContainer->pMaterials, pMaterials, sizeof(D3DXMATERIAL) * NumMaterials);

こう書かれている。


下のループの中で

pMeshContainer->pMaterials[iMaterial].MatD3D.Ambient = pMeshContainer->pMaterials[iMaterial].MatD3D.Diffuse;

こう書くと普通のメッシュと同じ明るさで出る。

291 名前:289 :2006/10/06(金) 01:25:10
ディフーズ → ディフューズ ね。

「FU」って変換すると単に「フ」なんだな・・(;´д`)

292 名前:289 :2006/10/06(金) 01:27:01
>>290 ナカーマ(AA略

なんか妙な達成感があったねw

293 名前:デフォルトの名無しさん :2006/10/06(金) 01:27:48
俺はアンビエントはライトだけで調整してマテリアル側には
ディフューズしか持たせてないなぁ。

一応アンビエントに半球ライティング使ってるけど。

294 名前:261 :2006/10/06(金) 01:30:34
>>288[救世主(メシア)]
漏れが超うんこであることがわかりました。
大変うんこで申し訳ないのでつが、
どのように直せばいいかヒント出してもらっていいでつか?

直すところは
AnimationMesh_Class::MY_HIERARCHY::CreateMeshContainer
の内部でつか?


295 名前:261 :2006/10/06(金) 01:32:15
カキコミしている間に
>>290 >>291 >>292 >>293 四天王
から熱いヒントが溢れてるぅううううう。


296 名前:デフォルトの名無しさん :2006/10/06(金) 01:35:31
>>293
DirectXのスキンメッシュって今回初めてだったんだが
確かにモデルのマテリアルにもアンビエントがあると混乱するね。

半球ライティング使ってるんなら特別な理由がない限りモデル単位では
アンビエントは無効になるね。

>>295
> >>290 >>291 >>292 >>293 四天王
たぶん2人だけだぜw

297 名前:261 :2006/10/06(金) 01:36:01
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
できたー。


298 名前:261 :2006/10/06(金) 01:40:48
ありがとうございますた。
これで故郷(くに)に帰れます。
DQNな漏れの汚いコードを読んでくれて、
まじ、感謝でつ。





299 名前:デフォルトの名無しさん :2006/10/06(金) 01:45:24
>>261
お疲れさん〜
まだ先は長いから頑張りな!

300 名前:261 :2006/10/06(金) 01:46:03
>>289船長
Xファイルでアンビエントを設定するというのは、
独自のXファイルを作るということでせうか?
それとも、そういう定石的なやり方があるのでせうか?

>>296隊長
クソ初心者なので、クソ躓いて、クソ混乱してしまつたよ。


あと、1つ質問なんでつが
スキンメッシュ読み込んでから、普通のXファイルを
開こうとするとエラーでソフトが落ちるんでつが、
なにかヒントなんぞあれば教えていただけないでゲスか。



301 名前:261 :2006/10/06(金) 01:52:34
>>299元首
2chに甘えることなく、次はちゃんと自分でバグを
見つけられるようになりたいでつ。





302 名前:デフォルトの名無しさん :2006/10/06(金) 01:55:37
> Xファイルでアンビエントを設定するというのは、
> 独自のXファイルを作るということでせうか?

いや良くは知らんのだが、Xファイルのマテリアル情報の中に
アンビエントってのがあるんだろタブン。で、それを設定できるんなら
した方がいいよってこと。できないんなら諦める。

> スキンメッシュ読み込んでから、普通のXファイルを
> 開こうとするとエラーでソフトが落ちるんでつが、

さっそく↓を実行したまえ。

> 2chに甘えることなく、次はちゃんと自分でバグを
> 見つけられるようになりたいでつ。


303 名前:261 :2006/10/06(金) 01:58:35
>>302国家主席

>いや良くは知らんのだが、Xファイルのマテリアル情報の中に
>アンビエントってのがあるんだろタブン。で、それを設定できるんなら
>した方がいいよってこと。できないんなら諦める。
ちょい調べてみまつ。

>さっそく↓を実行したまえ。
おっしゃるとおりで・・。
えと、自分で調べまつ。

304 名前:デフォルトの名無しさん :2006/10/06(金) 02:02:51
「とりあえず聞いてみる」じゃなくて、自分で調べた上でどうしても分からないことを
「聞いてみる」ってのが好まれます。

また行き詰った時はソース晒せば皆が見てくれるよ、タブン。

305 名前:デフォルトの名無しさん :2006/10/06(金) 08:46:29
射精した!

306 名前:デフォルトの名無しさん :2006/10/06(金) 16:02:27
>>305 オツーンヾ(´д`)ノ゜

307 名前:デフォルトの名無しさん :2006/10/07(土) 00:05:47
教えていただきたいのでつが、
LPDIRECT3DDEVICE9
って、普通、プログラム中にみなさん何個作りますか?
自分1つしか使ってないのですが・・・。


308 名前:デフォルトの名無しさん :2006/10/07(土) 00:30:09
1つ

309 名前:デフォルトの名無しさん :2006/10/07(土) 00:31:15
>>308
よかった、安心したダス。

310 名前:デフォルトの名無しさん :2006/10/07(土) 01:33:51
それにしてもLPDIRECT3DDEVICE9なんて、ダサい名前だよね

311 名前:デフォルトの名無しさん :2006/10/07(土) 01:49:04
誰かいますか?


312 名前:デフォルトの名無しさん :2006/10/07(土) 02:18:27
いるよー。

>>307
マルチウインドウ物なんかだと複数作りたくなる場合もあるんだが、
MS的に一応公式で「パフォーマンスが落ちるからやめなさい」ってことになってる。
マジぬるぽ。

313 名前:デフォルトの名無しさん :2006/10/07(土) 02:53:44
質問です。DirectX8使ってるんですが
ラジオシティでレンダリングしたような感じの描画は可能ですか?
ローズオンラインっていうネトゲの描画がそれっぽい感じだったんですが
これはテクスチャで擬似的に表現しているだけなのでしょうか?

ttp://www.4gamer.net/news_photo/roseonline/004.jpg
こんな感じです

314 名前:デフォルトの名無しさん :2006/10/07(土) 02:54:42
DQN@261です。 1日悩みました。 暇だったら教えてくれろ。

<詳しい症状>
最初に、スキンメッシュファイルを開く→描画する
次に、Xファイルを開く→描画されない。 (最初にXファイルを開く分にはぜんぜんOK)

Debugモードだと、以下のようなものが 「デバッグ欄」にいっぱい出てくる。
例外処理 (初回) は _senkoro_.exe (KERNEL32.DLL) にあります: 0xE06D7363: Microsoft C++ Exception。

<エラー行>
VOID Mesh_Class::DrawMesh()
{
// レンダリング
for( DWORD i=0; i<dwNumMaterials; i++ )
{
pDevice->SetMaterial( &pMeshMaterials[i] );
pDevice->SetTexture( 0, pMeshTextures[i] );
pMesh->DrawSubset( i ); //←ここをコメントアウトするとヘイキ。もちろんなにも描画されない
}
}
エラーが出ているときに、DrawSubsetの戻り値を見てみた。
hr = [0] (i = [0])
hr = [8876086c] (i = [1])
上記のようになっている。

→8876086cを調べてみた。
よくわからなかった。

ヒントがあれば教えてつぁさい。
ギギギギギ。
馬鹿たれ、銃は卑怯じゃ。

315 名前:261 :2006/10/07(土) 04:21:36
NEO・DQN261です。
ジークゲイツ!!

最初にスキンメッシュの方で描画を行うときに、
pDevice->SetRenderState(D3DRS_VERTEXBLEND, dwBlendMatrixAmt);
こいつ↑をコメントアウトしておくと
次にXファイルを普通に開いても問題ないっぽです。

もう少し調査して、改めて報告します。


316 名前:261 :2006/10/07(土) 04:28:01
キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
できたー。

普通のXファイルを描画するときに、
描画の前に
pDevice->SetRenderState(D3DRS_VERTEXBLEND, 0);
って入れればOKみたい。
うほぅ、2chのおかげでまたバグが一つ解けた。

自己解決だけど、
2chにカキコミながら、デバッグすると
頭が整理されるみたい。

317 名前:デフォルトの名無しさん :2006/10/07(土) 06:34:46
迷惑な話だ
チラシの裏に書け
頭を整理してから来いよ


318 名前:デフォルトの名無しさん :2006/10/07(土) 07:31:59
>>313
それはテクスチャに焼いてあるだけだよ

319 名前:デフォルトの名無しさん :2006/10/07(土) 14:58:10
言葉尻をとるようだが、擬似表現は悪くないぞ。
HDRが本物だとか偽者だとかいう変な記事があったりするけど、
見た目が気にならないぐらい同じなら、CG的にはインチキして
より少ない計算資源でやりくりしているほうが、あまった処理に
別の表現を詰め込むことが可能になるから偉いんだよ。

320 名前:デフォルトの名無しさん :2006/10/07(土) 15:47:22
>>319
言ってることは悪くないんだが、>>313には伝わらないことだな。

ラジオシティが何たるかを理解してないだけじゃなくて
DirectXで何ができるかを理解してない。要するに何も知らないんだ。

321 名前:名無しさん@お腹いっぱい。 :2006/10/07(土) 17:40:34
>HDRが本物だとか偽者だとかいう変な記事があったりするけど

別に記事は変じゃないだろ。
ほとんどの記事はただ手法を紹介しているだけで
本物だから偉いとか最初から書いてない。

322 名前:デフォルトの名無しさん :2006/10/07(土) 19:02:29
「本物」という表現が変だという理由は明らかにそれがマーケティング的な
煽りを含んでいるからだよ。そういう記事の論調は、確かに直接偉いと
までは書いてないが、単なる手法の紹介というほど公平でもないと思うが。
>320の言うように、経験が浅い人間が同じような言い回しをするのは
仕方ないのかもしれないけどね。

323 名前:名無しさん@お腹いっぱい。 :2006/10/07(土) 21:34:25
「テクスチャなの?」「テクスチャだお」
>313の質問は>318で終わるだろうに、半端に口をだすから
第三者にツッコミ入れられるんだよ。
てゆかこの流れで>319が語りだす理由が分からん。

324 名前:デフォルトの名無しさん :2006/10/07(土) 23:56:13
わかったわかった、相変わらずだお前ら。
とりあえずこれでも食って落ち着いてくれ。

つ【ようかん】

325 名前:デフォルトの名無しさん :2006/10/08(日) 00:07:51
ようかんみたいに身が詰まってる物体の表現って難しいよね
ポリゴン重ねてそれっぽくなったがまだ不自然

326 名前:デフォルトの名無しさん :2006/10/08(日) 00:45:03
http://itpro.nikkeibp.co.jp/article/COLUMN/20060929/249347/

327 名前:sage :2006/10/08(日) 18:47:27
質問です。
DirectXのサンプルを見ながら
スキンメッシュを読み込むプログラムを作っているのですが
途中で使われているConvertToBlendedMeshやConvertToIndexedBlendedMesh
のやっていることがよくわかりませんでした。
ConvertToBlendedMeshのヘルプには
"頂点単位のブレンドの重みとボーンの組み合わせテーブルを適用した
新しいメッシュを返す"
とあったのですが
頂点単位のブレンドの重みやボーンの組み合わせテーブルは
どこから取ってきているのでしょうか。
また、これらが適用されると具体的にどういったことになるのですか。


328 名前:デフォルトの名無しさん :2006/10/08(日) 20:49:23
>どこから取ってきているのでしょうか。
元データから
>これらが適用されると具体的にどういったことになるのですか。
データ形式が変わる

質問が具体的じゃないのに具体的な回答もとめちゃいかんよ

329 名前:デフォルトの名無しさん :2006/10/08(日) 21:04:06
そんなことはない。たとえば電話相談サービスは
切羽詰ってわけわからなくなった人や無知なお子様が掛けるものだから、
テレパシーでも何でも使って、相手の意図を汲むものなんだ。
このスレみたいに初心者につらく当たるスパルタ教育じゃない。




330 名前:デフォルトの名無しさん :2006/10/08(日) 21:14:52
だがうちらは電話番でもなければ先生でも両親でもない。

331 名前:デフォルトの名無しさん :2006/10/08(日) 21:16:11
プログラムするにコンパイラはこちらの意図などくみ取ってはくれない。
正確に記述しなければ、思った通りには動いてくれないんだから。
質問すらまともに出来ないのであれば、プログラムなど組めようはずもない。

332 名前:デフォルトの名無しさん :2006/10/08(日) 21:26:01
切羽詰ってわけわからなくなった人や無知なお子様は2chで質問しちゃだめだろー

333 名前:327 :2006/10/08(日) 21:30:03
>328
>>どこから取ってきているのでしょうか。
>元データから
元データといえば第一引数のID3DXMeshのことだと思うのですが
たとえばそのデータはID3DXMeshのどのメソッドを使って取れるデータですか。
ID3DXMeshのメソッド一覧には見当たらないように見えました。

>>これらが適用されると具体的にどういったことになるのですか。
>データ形式が変わる
名前にConvertとついていることや、ヘルプの新しいメッシュを返す、
というところからデータ形式が変わることはわかっています。
ヘルプの"頂点単位のブレンドの重みとボーンの組み合わせテーブルを適用した
新しいメッシュを返す" の意味がいまいちよくわからなかった為の質問でした。

1つ質問をし忘れたのですが
ConvertToIndexedBlendedMeshはConvertToBlendedMeshと比べて
インデックスが適用されるかの違いだと思うのですが
インデックスが適用されるとはどういうことですか。
(また具体的になってないかもしれない...)

334 名前:デフォルトの名無しさん :2006/10/08(日) 21:34:42
D3DXの高レベルAPIに頼らず、一度自分でファイルを読むところから作ってみるのが一番の近道。

335 名前:デフォルトの名無しさん :2006/10/08(日) 22:06:23
とはいうが、普通に高レベルAPIで組むのも全然ありな罠。
細かいところからやってくのは満足度こそ高いが、それだけだし。

使い物にならんコンポネントも多くて、そのリプレースが必要になってくる場合もあるが、
それはそれで必要になったらやりゃいいんだし。

336 名前:デフォルトの名無しさん :2006/10/08(日) 22:21:39
D3DXCreateTextureはつこてる。

337 名前:デフォルトの名無しさん :2006/10/08(日) 22:34:37
ゲームにチャット機能を付けようとしてるのですがまったくわかりません
どこかに詳しく書いてるサイトがあれば教えてください

338 名前:デフォルトの名無しさん :2006/10/08(日) 22:36:17
ソケットプログラミングの基礎から始めろ。

339 名前:デフォルトの名無しさん :2006/10/08(日) 22:38:51
文字を入力させる方法がよくわからなくて
ローマ字だけなら出来るんですが日本語入力とか変換の仕方がわかりません

340 名前:デフォルトの名無しさん :2006/10/08(日) 22:41:24
Imm系のAPIを使え。

341 名前:デフォルトの名無しさん :2006/10/08(日) 22:41:52
サンプルにIMEの入力があるね
フレームワーク使ってるやつ

最近のSDKじゃ削られてんの?

342 名前:デフォルトの名無しさん :2006/10/08(日) 22:59:16
いや、入ってる。
中々に出来もいい。
ただ、コードはやっぱりそれなりに大掛かり。
頑張ってコピれ。
俺もコピった。

343 名前:デフォルトの名無しさん :2006/10/08(日) 23:21:11
>>335
機能も分からずに使おうとして、その挙句2chで教えてクンになってる人を前にしても
そんな発言ができるなんて、>>334 の真意を理解してない証拠。

344 名前:デフォルトの名無しさん :2006/10/08(日) 23:40:23
実際に自分で作ったものを利用するかは別として、
勉強のために自分で一通り作ってみる方が理解が進む。
小学生が算数ドリルをやるのは車輪の再発明でも何でもない。

345 名前:デフォルトの名無しさん :2006/10/09(月) 00:03:08
もういいです。
他己解決しました。

346 名前:デフォルトの名無しさん :2006/10/09(月) 00:05:12
タコイカタコイカ

347 名前:デフォルトの名無しさん :2006/10/09(月) 00:06:31
理解なんかしないでも使っちまえって感じですよ。
面倒くせえ。

348 名前:デフォルトの名無しさん :2006/10/09(月) 00:27:49
>>347 は教えてクンの素質があります。

349 名前:261 :2006/10/09(月) 01:01:23
>>348部長
それを言ったら、この俺ですよ。

350 名前:デフォルトの名無しさん :2006/10/09(月) 01:02:44
>>347
へっ!折角の素質も磨かなきゃ意味がねぇな!
そんなことじゃ、この俺はもry

351 名前:デフォルトの名無しさん :2006/10/09(月) 20:18:39
立方体を複数並べてライティングする処理で
悩んでいます。

1つの立方体をXファイルから読み込み
3x3x3=27個並べてルービックキューブのような立方体を
作ってライトを当てたのですが、1つの面に含まれる9個の
ブロックが、それぞれ独立して光を反射しているように見えます
┌──┬──┬──┐
|暗□|暗□|暗□|
|□明|□明|□明|
├──┼──┼──┤
|暗□|暗□|暗□|
|□明|□明|□明|
├──┼──┼──┤
|暗□|暗□|暗□|
|□明|□明|□明|
└──┴──┴──┘

これを1枚の面のように光を反射するように
したいのですが、何に気をつければよいのでしょうか。
┌──┬──┬──┐
|暗□|暗□|□□|
|□□|□□|□□|
├──┼──┼──┤
|暗□|□□|□□|
|□□|□□|□明|
├──┼──┼──┤
|□□|□□|□□|
|□□|□明|□明|
└──┴──┴──┘



352 名前:デフォルトの名無しさん :2006/10/09(月) 20:22:59
ポイントライト

353 名前:351 :2006/10/09(月) 21:18:30
>>352
レス感謝です!
ポイントライトにしてみました
ディレクショナルライトを使用していたときより
よくなった感じはするのですが、
素材がおかしいのか、暗い位置になるほど

┌──┬──┬
|■□|■□|
|□明|□明|
├──┼──┼
|■□|■□|
|□明|□明|
├──┼──┼

が目立ってしまいます。
なめらかにならないんですよね・・・


354 名前:デフォルトの名無しさん :2006/10/09(月) 21:30:03
>>353
頂点ごとに明るさを計算して、面はそれを元に補間して色つけてるだけだよ。
もしかして立方体の頂点数って8とか少ない数じゃない?

355 名前:デフォルトの名無しさん :2006/10/09(月) 21:39:04
>>354
レスありがとうございます!
そのとおり8つの一番単純な立方体です。
少ないとライティングも荒くなるってことでしょうか?

数日前からはじめたばかりの素人なもので
頂点ごとに明るさを計算して保管するという処理が
頭にイメージできないのですが、
私のようなド素人にも簡単にできることなのでしょうか?


356 名前:デフォルトの名無しさん :2006/10/09(月) 21:40:24
書き込んで直ぐ気づいたのですが
頂点数は4点*6面=24かと思うのですが
見当違いでしたら虫してください。

357 名前:デフォルトの名無しさん :2006/10/09(月) 22:01:17
中心からオブジェクトに対してライトを焚け

358 名前:デフォルトの名無しさん :2006/10/09(月) 22:28:13
>>355
PerPixelLightingをするかポリを増やすか。

359 名前:351 :2006/10/09(月) 23:06:01
>>358
面のポリゴン数を増やしたら
自然な感じになりました。

ありがとうございました。

360 名前:デフォルトの名無しさん :2006/10/10(火) 01:44:47
おしえてください、先生がた。

http://watch.impress.co.jp/game%2Fdocs/20030214/sc16.htm
↑はソウルキャリバーの画面です。
画面の黄色い部分(剣跡)は、どのようにつくるのでしょうか?

剣を振るキャラクターのスキンメッシュモーションファイルに同梱できたりしますか?
それとも、黄色い部分(剣跡)は平面テクスチャかなんかで作っておいて、
タイミングと軸をあわせて描画させておくのでしょうか?



361 名前:デフォルトの名無しさん :2006/10/10(火) 03:08:09
>剣を振るキャラクターのスキンメッシュモーションファイルに同梱できたりしますか?

やってできないわけじゃないが、非生産的。
それにモーションの補間等が加わると一気に破綻するので、現実的でない。

基本は帯状のポリを剣の軌跡にあわせて振るで正解。
ただ、単にフレームごとの剣先の位置だけで刻むと、粒度が荒すぎて
ひどくカクカクした絵になってしまう。
ので、実際にはスプラインなんかを適用して滑らかな弧を描く様にしてやる。

こんなもんでどうだろか。

362 名前:360 :2006/10/10(火) 17:50:45
>>361
返信dクス。
優しくすると付け上がるいい例みたいな俺ですが、
続けて質問させてください。

>基本は帯状のポリを剣の軌跡にあわせて振るで正解。

となると、座標軸や描画するタイミングを合わせて、
シコシコプログラム組むわけですな。

>ただ、単にフレームごとの剣先の位置だけで刻むと、粒度が荒すぎて
>ひどくカクカクした絵になってしまう。

DQNなんで剣先の座標の取得の仕方がわからないです。
スキンメッシュを再生中にリアルタイムで
剣先の座標を取得する方法のヒントなんぞありば教えてほしぃです。



363 名前:デフォルトの名無しさん :2006/10/10(火) 18:01:46
剣の先に見えないフレームを用意しておいておけば簡単。
まさか剣をスキンにしている奴はいないだろうし。

364 名前:360 :2006/10/10(火) 18:17:36
>>363
レスdクス
めまいを覚えるくらいにDQNな俺ですが、
教えてください。

>剣の先に見えないフレームを用意しておいておけば簡単。
フレームを用意するとはどういった意味でせうか?
(独学でDirectXをはじめて間もない、なんちゃってプログラマなんすよ)
・フレームって単語自体がよくわかっておりません。

Googleで検索するうえでヒントとなる、
単語なんぞあれば教えてください。
”フレーム DirectX”って検索すると、ちょいとヒット数が多杉でつ。

365 名前:360 :2006/10/10(火) 18:35:08
>>363
フレームって、ワイヤーフレームのことでつか?

366 名前:デフォルトの名無しさん :2006/10/10(火) 19:03:51
フレームなんて用意しなくても
剣先の座標に姿勢行列かければいいじゃん

367 名前:デフォルトの名無しさん :2006/10/10(火) 19:09:21
てゆーかD3DX使わずに、とまでは思わないが座標操作が出来ないレベルなら
本一冊買って一からやり直したほうが良いと思われ

初心者だから分かりませんって訳じゃなくて初歩のレベルから始めてないから分からんのではないか?

368 名前:デフォルトの名無しさん :2006/10/10(火) 19:20:31
>>366
剣先がモデルのどこにあるのかどうやって判別するんだ?

369 名前:デフォルトの名無しさん :2006/10/10(火) 19:27:20
判別なんてせんでも自分で決めればいい
>>360が動的に剣先座標変わるモデルを操作しているとは思えんから

370 名前:デフォルトの名無しさん :2006/10/10(火) 19:35:56
モデリングした後にいちいち場所を確認するのか?
そんな馬鹿な。

371 名前:デフォルトの名無しさん :2006/10/10(火) 19:38:24
xファイルにアクセスしたら良いだけじゃない?

372 名前:デフォルトの名無しさん :2006/10/10(火) 19:56:44
xファイルのメッシュの中から、剣の先がどこだかどうやって判別するんだ?
形状認識を行うアルゴリズムが必要になる上に、誤認識の可能性まで出てくるぞ。

373 名前:デフォルトの名無しさん :2006/10/10(火) 19:59:46
モデリングツールで座標見れるやん

374 名前:デフォルトの名無しさん :2006/10/10(火) 20:11:19
だったらフレームを置いた方が早いだろ。
モデルごとにいちいち座標を確認するのか?
あまりにも阿呆すぎる。

375 名前:デフォルトの名無しさん :2006/10/10(火) 20:39:12
>374
もちつけ

376 名前:デフォルトの名無しさん :2006/10/10(火) 21:18:29
剣先の座標を得るためだけにフレーム増やすのか?
あまりにも阿呆すぎる。


377 名前:360 :2006/10/10(火) 21:23:36
えと、いろいろレスがついてありがたいっす。

難しい方法ではなく、多少見栄えが悪くとも
DQNな漏れでも実装できる方法を行いたいと考えています。

やり方としてはいくつかの流派があるみたいですが、
初心者向きのはどいつなんでしょうか?

>>367
>初心者だから分かりませんって訳じゃなくて初歩のレベルから始めてないから分からんのではないか?
正解。
造りたいという気持ちが先行して、しょっぱなを結構すっ飛ばしてます。

>てゆーかD3DX使わずに、とまでは思わないが座標操作が出来ないレベルなら
座標操作とは、X、Y、Z軸でメッシュを移動させるようなことですか?
それとももっと難しいレベルの話をしているのでしょうか?

>>369
>>360が動的に剣先座標変わるモデルを操作しているとは思えんから
動的に剣先座標が変わるとは、どういうことでしょうか?
「スキンメッシュアニメーションなので、剣を振るような動作の場合」
動的に座標が変わると考えています・・・。
(毎回決まった動作ではありますが・・・)
それとも、もっと難しいレベルの話なんでしょうか?
(剣を振るたびに毎回なにかしらの計算をさせて、パラメータによって
 剣を振る軌跡が変わるような場合のことを指すのでしょうか?)

378 名前:デフォルトの名無しさん :2006/10/10(火) 21:28:34
スキンが必用なその剣は、くにゃくにゃ曲がるのか?

379 名前:デフォルトの名無しさん :2006/10/10(火) 21:30:33
>初心者向きのはどいつなんでしょうか?

しょっぱなから勉強する方法

380 名前:デフォルトの名無しさん :2006/10/10(火) 21:31:20
最初からやり直したほうが良いだろ・・・
付け焼き刃じゃ、自分では何もできないのは分かってるはず。

381 名前:デフォルトの名無しさん :2006/10/10(火) 21:55:25
軌跡はもうテンプレにでも入れとこうぜ。不毛すぎ。

Q. 剣の軌跡を作るにはどうしたらいいですか?

A. 剣の切っ先とつばあたりまでの直線を作れ
それを毎フレーム記録してできる帯をポリゴンにすればおk。
滑らかにしたい場合は、スプライン補間でもしとけ。
これで分からない場合は、基礎がなってないから出直せ。

382 名前:デフォルトの名無しさん :2006/10/10(火) 21:58:24
綺麗にできるかは謎

383 名前:デフォルトの名無しさん :2006/10/10(火) 23:52:43
そこから先は座標補間の領分じゃなくってエフェクト表現そのものの領分だしな。
帯部分をステンシルで抜いて、1フレーム前の絵を加工して出すなんて実装もあった希ガス。
剣の軌跡の中に僅かにずれた絵が出るのは、重量感もあって中々格好よかった。

384 名前:デフォルトの名無しさん :2006/10/11(水) 00:56:41
形状認識を行うアルゴリズム ワロタ

385 名前:デフォルトの名無しさん :2006/10/11(水) 17:47:52
#include <d3dx9.h>

が fatal error C1083: include ファイルを開けません。'd3dx9.h': No such file or directory」
になります.SDKはインストール済みなのですが,何が原因なのでしょうか?

・環境
WinXP pro
DX 9.0 SDK(August 2006)
VS pro 2005
(VS.net 2003もインストールされています)

よろしくお願いします.

386 名前:デフォルトの名無しさん :2006/10/11(水) 18:56:41
includeファイルが開けないのが原因ですよp(^▽^)q

387 名前:デフォルトの名無しさん :2006/10/11(水) 19:17:21
>VS pro 2005
>VS.net 2003
どうみても違法コピーです。本当にありがとうございました。

388 名前:デフォルトの名無しさん :2006/10/11(水) 20:16:57
アカデミックアライアンスって知ってる?

389 名前:デフォルトの名無しさん :2006/10/11(水) 20:23:43
386ではないが、昔Visual Studio .NET theSpoke Premium 2003 ってのが学生限定で5000円くらいで売ってて、
サービスが終了するときのキャンペーンで2005がただで貰えたがな。

390 名前:デフォルトの名無しさん :2006/10/11(水) 20:49:40
そんなのを未だに使ってるって就職失敗かニート?

391 名前:デフォルトの名無しさん :2006/10/11(水) 20:53:36
>>390
おいおい、>>385みたいな初心者にEnterpriseやTeam Systemを使わせる気かよw

逆の意味で言ってるなら、
VSのアカデミック版は卒業後も永久使用可能で学生時から商用利用可だ

392 名前:デフォルトの名無しさん :2006/10/11(水) 21:02:53
てゆかエラーメッセージに解答出てる。

393 名前:デフォルトの名無しさん :2006/10/11(水) 21:31:16
2年

394 名前:デフォルトの名無しさん :2006/10/11(水) 21:50:53
>>385
ファイルが開けないって書いてあるだろ。
SDKインスコしたら勝手にファイルが開けるようになると思ってるか?

>>387
俺は2003も2005も普通にPro版買ったが?
Pro版ならそこまで高くないし十分元が取れるソフトだろ。

395 名前:デフォルトの名無しさん :2006/10/11(水) 22:44:17
そりゃPro版買っておいて、元が取れないと嘆くやつが
おったらただのアフォだw

396 名前:385 :2006/10/11(水) 23:34:15
大学のライセンスなので正規品です。
全然使えなくて困ってる
です。

>>394
ち、違う


397 名前:385 :2006/10/11(水) 23:38:44
途中で送信しちゃったorz

大学のライセンスなんで正規品です。
全く使いこなせてないので困ったもんです。

>>394
違うんですか!?

398 名前:デフォルトの名無しさん :2006/10/11(水) 23:50:10
インクルードディレクトリとかでパス通してから出直せ。

399 名前:デフォルトの名無しさん :2006/10/12(木) 01:13:46
こういう人ってあれだよね、Makefileすら書いたことないんだろうね
もしくは今まで標準関数しか使ってなかったとか
-Iを見てどう思うんだろうか


400 名前:デフォルトの名無しさん :2006/10/12(木) 01:27:22
Makefileってマニュアルとかある?

401 名前:デフォルトの名無しさん :2006/10/12(木) 02:17:50
本もあるし、ググレば情報も出てくる。
まぁ正直今時Makefileから書くってのも滅多にやらなくなったけどな。
俺はPS2やってたときが最後だわ。

つかパス通すのはMakefileうんぬんの前に大抵のお勉強サイトにも書かれてるだろ。

402 名前:デフォルトの名無しさん :2006/10/12(木) 02:51:19
Makefileかー、この数年手で書いた記憶ねーなあ。
eclipseのCDTとか勝手にMakefile作ってくれて便利やで。

つーかお前らそんなんぐだぐだ言うくらいなら、VCのお勉強サイトでも教えてあげなさいよ。


403 名前:デフォルトの名無しさん :2006/10/12(木) 03:50:29
V・・・VC初心者スレじゃないんだからねっ!

404 名前:デフォルトの名無しさん :2006/10/12(木) 22:12:38
モーション付XファイルをD3DXLoadMeshFromXで読み込んだのですが
表示はされるのですが、動きません。
モーション付Xファイルを動かすためにはどのような処理が必要
なのでしょうか?
サンプルがあれば解析しますので、ご提示いただければ助かります。
よろしくお願いいたします。

環境です。
Visual studio C2005 VC++
winXP
Microsoft DirectX SDK (December 2005)

405 名前:デフォルトの名無しさん :2006/10/12(木) 22:19:27
サンプルならSDKにはいっとるだろ・・・
スキンメッシュのやつだ。
ちゃんと見れ。

406 名前:デフォルトの名無しさん :2006/10/12(木) 22:26:59
ありがとうございました。

407 名前:デフォルトの名無しさん :2006/10/12(木) 22:44:58
カメラワークについて質問です。

原点にポリゴンがあって、カメラは原点から少し離れた
位置にあって、常にポリゴン(原点)の方を向いています。
いまマウスで画面をドラッグして上下左右に動かすと
カメラの位置が原点を中心に球状に移動するようにしたのですが
どうも、うまくいきません。
なにか参考になるHPや、アドバイスありましたら
よろしくです


408 名前:デフォルトの名無しさん :2006/10/12(木) 22:50:00
何がどううまくいかないんだ?

409 名前:デフォルトの名無しさん :2006/10/12(木) 22:50:42
原点から伸びるベクトルAがあったとする。
このベクトルAから原点を見るようにカメラを作る。

マウスの上下左右移動に応じて、このベクトルを回転させる。


410 名前:407 :2006/10/12(木) 22:57:15
あるていど回転するのですが、
X軸を中しんにカメラを半周すると天地逆転すると思うのですが
逆転したときにマウスの移動方向と逆回転してしまいます
あたりまえかと思うのですが、これの防ぎ方がいまいちピンと
きていません。

>マウスの上下左右移動に応じて、このベクトルを回転させる。
この回転方法がよくわかっていないのかもしれません。

例えば
マウスがX軸方向に1ドット移動すると、カメラが1度回転するとします。
このときカメラをY軸について回転させれば、思い通りになるのですが
マウスが斜め方向に移動したときに、変な回転になっている気がします。

わかりにくくてすいません

411 名前:デフォルトの名無しさん :2006/10/12(木) 22:58:11
そう言えば昔、3D初心者がアニメーションツール作るぞ!ってホームページがあった。
メタセコのカメラワークをコピーしたかったらしいが、それすら出来ずに終了。
しまいには「メタセコのカメラワークは非常に高度なアルゴリズム!」とか語ってたが
お前がアホなだけちゃうんかと。
見たところ、D3DXMatrixLookAtのようにカメラ座標、視点座標からMatrix計算してた。
そりゃ妙な動きする罠。




412 名前:407 :2006/10/12(木) 23:02:07
連続すいません

要するに、マウスカーソルがX方向にXドット、Y方向にYドット移動したとき、
カメラの座標(Cx,Cy,Cz)が、どの軸に中心に何度回転すればよいかが
あやふやな状態です。


413 名前:デフォルトの名無しさん :2006/10/12(木) 23:08:18
ttp://up.spawn.jp/file/up44290.zip
こういうことか?

414 名前:407 :2006/10/12(木) 23:44:53
すいません
自己解決?というか妥協しました。

マウスが斜めに移動した場合は
X成分とY成分のうち移動量の多いほうにだけ
カメラを回転させるようにしたら、うまくいきました。

おさわがせしました。
レスくれた方々に感謝します。


415 名前:デフォルトの名無しさん :2006/10/13(金) 02:16:32
質問です。
DirectX9.0c 2005April FullScreenでアプリを作成中です。
マウスをクリック(右でも左でも)すると、強制で非アクティブ(最小化)になって困っています。

ウィンドウメッセージを調べたら、
WM_NCACTIVATE
WM_ACTIVATE
WM_DISPLAYCHANGE
WM_ACTIVATEAPP
WM_PAINT
上記の命令が上から順に送られてきて、非アクティブになっているようです。
どこで発行されているかは分かりませんでした。(調べ方を知りません)

この現象が何故起こる知りたいのですが、分かる方お願いいたします。

416 名前:デフォルトの名無しさん :2006/10/13(金) 02:34:18
>>415
それは全画面化している様に見えて、実際のウインドウが裏にいないんだ。
ウインドウ作った後で

ShowWindow(m_hWindowHandle, SW_SHOWNORMAL);
UpdateWindow(m_hWindowHandle);

とかしてやれば、多分収まる。

417 名前:デフォルトの名無しさん :2006/10/13(金) 04:58:22
DirectInputのフォースフードバック
まず、ゲームではちゃんと効果が出ています。
同じプログラムで入力設定用のダイアログを開いて、テスト用のボタンを押して、
フォースフードバックをさせようとしても何も反応しません。
DirectInputのDISCL_EXCLUSIVEだからだと思うのですが、こういうものなんでしょうか?


418 名前:415 :2006/10/13(金) 11:53:09
>>416
返答ありがとうございます。
DXUTCreateDeviceの後に(DXUTを使ってます)コードを挿入してみたのですが、駄目でした。

5台で確認したのですが、XP GeFo4 MX440 1台でのみ発生します。
その他のマシンでこの事象は発生しません。
グラボが同じ 2000 GeFo4 MX440 でも発生しませんでした。

>>416さんの仰る通り実際のウィンドウが小さくなっている気がします。
画面の左上の方をクリックしても非アクティブにはならない事がわかりました。
実際のウィンドウが小さく左上にある感じがします。
(デスクトップのサイズは1280x960 フルスクリーンは1024x768)

419 名前:415 :2006/10/14(土) 07:23:53
マルチモニター機能がいつの間にかONになってましたw
マウスが別画面に行ってたっぽいです。

お騒がせしました〜。


420 名前:デフォルトの名無しさん :2006/10/14(土) 22:38:47
DrawPrimitiveUPを使うときは
頂点シェーダって使えない?


421 名前:420 :2006/10/14(土) 23:48:15
すまん、寝ぼけてたw
ぜんぜん使えたw

422 名前:デフォルトの名無しさん :2006/10/15(日) 21:45:35
DirectPlayで
IDirectPlay8Address::AddComponent(DPNA_KEY_PORT〜〜〜
で設定するポート番号って何に使うの?
DirectPlayは47624,2300-2400を使うんじゃなかったの?

ユーザにはどのポート空けるように言えばいいのか教えてくれぃ


423 名前:デフォルトの名無しさん :2006/10/15(日) 22:11:21
DirectPlayなんて使わないでくれぃ

424 名前:デフォルトの名無しさん :2006/10/15(日) 22:38:08
WinSockマジオヌヌメ

425 名前:デフォルトの名無しさん :2006/10/15(日) 22:44:59
winsock知ってるやつが楽するために使うのがDirectPlay

426 名前:デフォルトの名無しさん :2006/10/15(日) 22:57:23
いち初心者なんですが、本当のところ
DirectPlayって使わないものなのでしょうか?
やっと描画系を覚えたド素人なのですが
今後、DirectPlayを勉強しようかなってときです。
WinSockで十分ならDirectPlayは
参考程度に斜め読みしますよ。


427 名前:デフォルトの名無しさん :2006/10/15(日) 23:08:34
DirectPlayの方が簡単。

428 名前:デフォルトの名無しさん :2006/10/15(日) 23:11:57
>winsock知ってるやつが楽するために使うのがDirectPlay
ネタ?

429 名前:デフォルトの名無しさん :2006/10/15(日) 23:16:44
DirectPlayはもはやレガシー

430 名前:デフォルトの名無しさん :2006/10/15(日) 23:24:36
winsockって答えてるやつはどんなプロトコルも自前で書く気か?
趣味やパッケージソフトの世界だな

431 名前:デフォルトの名無しさん :2006/10/15(日) 23:40:58
DirectPlayはMS自体がサポートしない旨を明記しているのに、
今更、新規の案件で使う意味が分からない。

432 名前:デフォルトの名無しさん :2006/10/16(月) 00:06:49
漏れはDirectPlayの時のがしんどかった
DirectPlayで書く方が絶対コード量多い

433 名前:デフォルトの名無しさん :2006/10/16(月) 00:14:33
NAT超えやボイスチャット、ロビー機能、UPnP対応

なんて実装しねーよバカ

434 名前:デフォルトの名無しさん :2006/10/16(月) 01:06:57
DirectPlay、あんなもん使ってるやつがいたのか
世界は広いぜ、ちくしょう

435 名前:デフォルトの名無しさん :2006/10/16(月) 06:55:58
結局>>422の質問に誰も答えてあげてないのにバロスwww

436 名前:デフォルトの名無しさん :2006/10/16(月) 08:32:42
そんなん誰も使ってねーよと
それが答え。


437 名前:デフォルトの名無しさん :2006/10/16(月) 09:51:25
俺はLinuxやPS2と通信する時にDirectPlayではどうにもならなかったので早々にWinSockに移行した。

438 名前:385 :2006/10/16(月) 17:35:25
>>386-395,398-403
超遅レスですが出来ました!
(インクルードディレクトリ,ライブラリディレクトリを追加)
ありがとうございました.

439 名前:デフォルトの名無しさん :2006/10/16(月) 18:31:33
明日の朝8時マスターアップです!
ちょっと聞きたいんですが、
テクスチャを重ねる処理を加えたら勝手に終了するようになってしまいました。
何かメモリ的なことだと思ったんですがよくわからない状態です。
具体的には今まではテクスチャは1枚だけくっつけて表示してたんですが、
今日の夕方にやっと正式なテクスチャがあがってきたと思ったらマルチテクスチャ?になっていて、
急遽この処理を追加したんです。
そしたらメニューからSTARTを選んでゲームを始めると、
一瞬だけゲーム画面が出るんですが即終了しちゃうんです。
もしかするとマルチテクスチャにこういうバグが潜んでるのかもしれません。
どなたか同じ経験にあわれた方いませんか?

440 名前:デフォルトの名無しさん :2006/10/16(月) 21:40:42
マルチテクスチャにそんな寒いバグはない。
普通に1ポリゴンに8枚貼ったり出来る。

君のプログラムがバグっているだけだろう。
ある今マルチテクスチャが対応してないほど古いビデオカード使っているか。


というかDirectXで開発してて、何のエラーも出ずに即終了ってありえないんだが・・・。
デバッグランタイム使いつつ、VisualStudioでデバッグモードでちゃんと動かしてるのか?


そもそもどんな環境なのかもDirectXのバージョンも分からなければレスのしようもないぜ。

いや、してるけど。

441 名前:デフォルトの名無しさん :2006/10/16(月) 23:33:18
質問です
D3DX系のAPIを使うとd3dx9_xx.dllというのが必要ですと
エラーが出ると思うのですが、これの解決方法をネットで
調べていたら、エンドユーザにこれをさせるのは結構面倒
そうなので、D3DX系を使わないでコーディングするという
のは常識でしょうか?それともエンドユーザにランタイムを
インストールしてもらうほうが普通でしょうか。



442 名前:デフォルトの名無しさん :2006/10/16(月) 23:37:06
常識なんて物はない。
自分が必用だと思う手段をとればいい。

443 名前:デフォルトの名無しさん :2006/10/16(月) 23:45:38
パッケージソフト→インストーラを作る
フリーソフト→再配布パッケージインストールしてねとドキュメントに書く

444 名前:デフォルトの名無しさん :2006/10/16(月) 23:57:38
レス、サンキューです
失礼しました、常識って言葉が悪かったですね。

いやー、個人的な話でもうしわけないんですが
PCに無知な友人(複数)にプレイしてもらいたくとも
ランタイムインストールしてって一言で言えなかったりして。

そういう場合は、やっぱ使わないんでしょうねD3DX。
ありがとでやんす

445 名前:デフォルトの名無しさん :2006/10/17(火) 00:00:53
D3DXはShader、Effect、Texture関連がねー
これD3Dプログラミングでは、ほぼ必須
自前で実装は無理だしね、素直にユーザにやらせろ

446 名前:デフォルトの名無しさん :2006/10/17(火) 00:03:49
>>445
やっぱ、d3dx便利ですよねー

なして配布がこんなに面倒になったのか。
きっと理由があるんでしょうけど。


447 名前:デフォルトの名無しさん :2006/10/17(火) 00:07:17
面倒だから添付して一緒にインストールしちまえ。
コアは変わってないから俺はlib時代のやつ使ってるけど。

448 名前:デフォルトの名無しさん :2006/10/17(火) 00:31:05
DLLにかわった理由ってなんだろ?
バグが見つかったとき、MSが静かに修正できるようにするためなのかな。

449 名前:デフォルトの名無しさん :2006/10/17(火) 00:33:53
もう面倒だからいっしょのフォルダにdllをぶち込んだとしても誰が文句など言おうか・・・
とか考えてる奴は俺だけじゃないはず・・・。

450 名前:デフォルトの名無しさん :2006/10/17(火) 00:40:10
>>448
多分、馬鹿がdllにするとカッコイイ的なこと考えてぶち込んだんだと思う。
っていうかlibがアフォ過ぎて嫌いって奴がいてdllにしたらもっとアフォなことになったとかそんな感じだと思う。

俺もlibはコンパイルオプションが少しでも狂うとリンクできなくなるから嫌い。
でも、今のdllの状況はそれよりアフォだと思う。
でも、dllにした奴がWindowsUpdateで配ってくれるだろう・・・とか考えていたなら、当てが外れてカワイソス。
ついでに俺等もカワイソス

451 名前:デフォルトの名無しさん :2006/10/17(火) 01:09:55
DirectXのバージョンを上げてくれたら、こんなに悩まなくてもいいのに。
そうだったら

エンドユーザ<お、DX9.0c2なんてやつがでてる。俺ゲーム好きだからアップデートしとこ。

となってくれそうなのに。

452 名前:デフォルトの名無しさん :2006/10/17(火) 02:06:59
そして
「なんだよ、アップデートしたら動かなくなったぞ、こんちくしょう
 おれのPCじゃつかえねーのに何でアップデートすんだよ!」
とかクレームが

453 名前:デフォルトの名無しさん :2006/10/17(火) 02:07:39
テキスト入力について質問です。
丁度>>340が回答していたので横から参考にさせてもらっていますがimm系のAPIとは
猫のWindows SDK編278〜283章( ttp://www.kumei.ne.jp/c_lang/sdk3/sdk_278.htm など)
に書かれていることで、これを組み込めばいいのでしょうか?
用途はいろいろあるのにモノにするまでテラナガス(´・ω・)

454 名前:デフォルトの名無しさん :2006/10/17(火) 02:29:23
まさにそれ。
漏れも組み込んだ。
そこそこ面倒くさいぞ。

455 名前:デフォルトの名無しさん :2006/10/17(火) 02:32:30
>>454
dd


456 名前:デフォルトの名無しさん :2006/10/17(火) 04:39:45
すみません。誰か教えてください。

typedef struct VERTEXDATA {
floatx,y,z,rhw;
D3DCOLORcol;
} VERTEXDATA;
VERTEXDATA v[3] = {
{32.0f, 0.0f, 0.0f, 1.0f, D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 0xFF) },
{ 0.0f,32.0f, 0.0f, 1.0f, D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 0xFF) },
{32.0f,32.0f, 0.0f, 1.0f, D3DCOLOR_ARGB(0xFF, 0xFF, 0xFF, 0xFF) }
};
pDev->SetFVF(D3DFVF_XYZRHW | D3DFVF_DIFFUSE);
pDev->DrawPrimitiveUP(D3DPT_TRIANGLELIST, 1, v, sizeof(VERTEXDATA));

これだと三角形が表示されないのですが、理由分かるひと教えてください。
頂点は
  0
 12
だと描画できずに
  0
 21
の順番だと描画できます。

457 名前:デフォルトの名無しさん :2006/10/17(火) 05:08:12
カリング

458 名前:デフォルトの名無しさん :2006/10/17(火) 05:11:05
あれ、これだとカリングで捨てられちゃうのか・・・・。点の位置が変わるだけでそうなるのね。。。

459 名前:デフォルトの名無しさん :2006/10/17(火) 05:18:11
>>457
うまくいった
ありがとうございます orz


460 名前:デフォルトの名無しさん :2006/10/17(火) 07:55:45
>>440
あーレスサンクスです!
朝6時までかかりましたが無事に解決しました。
原因はマルチテクスチャをカウントするときグローバルのiDを使ってたことでした。
処理の流れを決める変数も同じiDなんですが、
テクスチャを貼らないときはiD=0になってました。
それでswitchで処理を振り分けてるんですが、
iDが0だとどれにもひっかからずにゲーム終わっちゃってました。
とりあえず間に合いました!

461 名前:デフォルトの名無しさん :2006/10/17(火) 08:00:24
お前の腐乱死体のような処理フローなどどうでもいい


462 名前:デフォルトの名無しさん :2006/10/17(火) 08:10:38
まったくだ
いますぐソース削除して、ちんこ切ってグラフィックカードのファンにつっこめ

463 名前:デフォルトの名無しさん :2006/10/17(火) 08:11:56
>>457
なぜカリングで削られるんすか?


464 名前:デフォルトの名無しさん :2006/10/17(火) 08:24:14
>>463
じゃあ逆に、何ならカリングで削られると思うんだ?

465 名前:デフォルトの名無しさん :2006/10/17(火) 08:25:49
>>460
そんなん、その場所をステップ実行したら5分で分かると思うんだが・・・

466 名前:デフォルトの名無しさん :2006/10/17(火) 08:38:32
>>461
問題を解決したときは詳しく書いておいたほうが、
同じミスで悩んでる人のヒントになるのは常識でしょう。

>>465
そりゃあ終わってしまう原因と解決策を俺が書いたからでしょう。
原因不明な状態ではマルチテクスチャを追加したことを疑うのが先。

467 名前:デフォルトの名無しさん :2006/10/17(火) 08:45:36
>>466
普通にDirectXをデバッグランタイムで動かしている場合、
DirectX内部のエラーはすべて報告される。
D3Dエラー発生時にブレークするようにも出来る。

エラーダイアログも出ずに即終了の時点でDirectX関係のエラーの可能性はまずない。

そもそもマルチテクスチャとフロー関係の変数を同じもので
使いまわすというその学生並みの設計を何とかしろ。


468 名前:デフォルトの名無しさん :2006/10/17(火) 11:14:26
>>467
エラーが報告されるといってもそれはMSが想定した範囲でしょう。
想定外のエラーは報告されないどころか感知すらできない。
これが原因で終了していたのならエラーなんて表示されないでしょう。
それから変数をグローバルにするのは、
メモリ節約と速度アップに効果的なことぐらいゲームプログラマなら知っておくべき。
もっとも限られたメモリでプログラム組んだことないんだろうけどな。
うちの会社はコンソールとWIN両方やってるけど、
WINプログラマだからって好き勝手メモリ使うバカなんて1人もいないけどね。

469 名前:デフォルトの名無しさん :2006/10/17(火) 11:16:18
>それから変数をグローバルにするのは、
>メモリ節約と速度アップに効果的なことぐらいゲームプログラマなら知っておくべき。

えーとそのなんだ。
釣りだよね?

470 名前:デフォルトの名無しさん :2006/10/17(火) 11:49:27
ローカル変数を使った方が、最適化されたコードを吐きやすいとか、
CPUキャッシュにヒットしやすいとかゲームプログラマなら知っておくべき。

ただし該当部分だけグルグルまわすベンチをとって、
プログラム全体ではほとんど影響がないのに、
ほら早くなっただろうとか声高にアホを晒す必要はない。

471 名前:デフォルトの名無しさん :2006/10/17(火) 12:33:14
>>469
意見は具体的にどうぞ。社会に出てからそんな口聞いてるとクビだよ。

>>470
autoよりregisterのほうが速いの知ってるかな。知らないなら議論の無駄だね。

472 名前:デフォルトの名無しさん :2006/10/17(火) 12:39:33
>>471
無茶に敵を作らない方が良いよ。
無視する事もできるでしょ?

473 名前:デフォルトの名無しさん :2006/10/17(火) 12:59:05
>>471
registerは無用に使うと最適化の妨げになるだけなので、
VisualC7.1辺りではキーワードが完全に無視されている。
確かに知らないのなら議論の無駄だね。

474 名前:デフォルトの名無しさん :2006/10/17(火) 19:14:39
あのね、お兄ちゃん。
DirectXでわからないところがあったんだけど、
一生懸命がんばったら、1人でできたよ。
何度もお兄ちゃんに聞こうと思ったよ、
でも、いつまでもお兄ちゃん(2ch)にべったりだと、
また子供(DQN)扱いされちゃうから、がんばったんだよ。
頭撫でててね。エヘッ。

でだ。
DirectGraphics関係のクラスを実装して、
ある程度、自由に描画関係などを組めるようになったんだが、
どこから組めば頭いいの?
サウンド関係のクラスとかをぜんぜん作ってなくて、
そっちの方のクラスを実装してからの方が賢いのか?
その他、ゲームの実際の動きとか造る前にエフェクト関係とかを
先に実装すべきでつか?

簡単なアクションゲームを造ろうと思うのだが、
どのように造っていけばいいかが分からないのでつよ。

「お好きなところからどうぞ」
という回答の場合、
貴方ならどのように組んでいくかをご教授願いたいでゴザルよニンニン。

475 名前:デフォルトの名無しさん :2006/10/17(火) 21:48:06
>>468
MSが想定していないDirectXの関数は存在しない。
デバッグランタイムにはすべての処理にチェッカーが埋められている。
そもそもエラー発生時にアプリが何も言わずに終了というのはVisualStudio上デバッガではまずありえない。
ルーチンがおかしいとかじゃなくアプリが強制終了なんてメモリ破壊とか致命的なものでなきゃおきないぞ?

新しい仕様を盛り込んだ瞬間に発生したバグに対して自分のコードではなく
実績あるライブラリを疑うことがもう過信もいいところ。

携帯機なんかでメモリをギリギリまで絞るのは当然のことだが、
WindowsのようにOSがすべて管理してくれて高度な最適化をもった
コンパイラを使ってる状況で、同じグローバル変数を使いまわすなんて愚の骨頂。

わずかな速度アップの為にくだらないバグ仕込むような保守性の低さになんとも思わないか?
時代についてこれないのが悪いとはいわないが、自分がついてこれていない事もみとめたほうがいい。

>>474
サウンドは既存のライブラリつかいまわーし。
Oggのストリーム対応とかいくらでもあるっしょ。

476 名前:デフォルトの名無しさん :2006/10/18(水) 01:04:49
>>474
音なんか最後でいいから、とにかくゲームを作るべき。

寄り道するとすぐ飽きる。

477 名前:デフォルトの名無しさん :2006/10/18(水) 01:42:31
>>476
俺は初心者のときは寄り道も含めた勉強は大事だと思うけどな。
ゲームを完成させることは必ずしも大事なことじゃ無い気がする。
ショボイゲーム作ったところでそれがなんだって気はするけどね。
初心者のころは自作ライブラリを作る→それを使ってなんか作る(別にゲームでなくてもいい)
→また、新しいライブラリを作る→それを使って・・・
を繰り返したほうが力が付くと思う。

ゲームだけでも駄目だし、ライブラリだけでも駄目だと思う。
よく、開発者で「3Dデモよりゲームを作ってきた人を評価する」なんて人がいるけど
そんなのは他の人がそうするから違う視点でみれる俺を褒めろ的ナちょっと違う俺様アピールでしかない。
〜よりとか〜した方がじゃなくて、なんでも必要だし、なんでも大事だよ。

478 名前:デフォルトの名無しさん :2006/10/18(水) 02:30:09
まあ自分で納得行くようにやれやと。
好きこそ物の上手なれと申しましてな。

479 名前:474 :2006/10/18(水) 09:53:17
あのね、お兄ちゃん。
デザインパターンはという言葉すら知らないくらいに子供のときに1回ゲーム造ったんだけど、
「めちゃくちゃ」なコーディングになっちゃったの。
そのときは、気合とコミケの締め切りがなかったら絶対に完成
できなかったと思うの。
(も、もちろんお兄ちゃんがそのともたくさん教えてくれたのはわかってるよ)
そろそろ、大人の階段の登り方を教えて欲しいな・・・って思ってるんだよ。
エヘッ。


でだ、
>>475
漏れも、サウンド関係は既存のライブリを使まーす。

>>476 >>477 >>478

寄道すると飽きるのは分かるが、
がんがんコーディングして、ニッチもサッチもいかなくなると
挫折感のせいで、前に進めなくなる経験をしている俺がいる。
とりあえず、好きなようにコーディングして、ゴタクの前に血反吐ゲロゲロ吐くのが
一番近道ってことだと了解したよ。
それで、挫折するようならゲーム造るな、ってことなんだと思う。


480 名前:デフォルトの名無しさん :2006/10/18(水) 10:38:16
サウンド関係の話が出てるけど、古いPCで動かす場合に
サウンド関係で動かなかったりすることってある?

ビデオ関係だと特定の機能がビデオカードになくて、エミュレーションしたり
動かなかったりするけど、サウンド関係でもそんなことあるのかな?

481 名前:デフォルトの名無しさん :2006/10/18(水) 11:11:59
>>474
いい加減そのアホな書き込み止めたら?
初心者プログラマーにありがちな浮かれ加減が出てて気持ち悪い。
「やったー!動いたー!俺って天才!?」的な感じだろ?どうせ。

482 名前:デフォルトの名無しさん :2006/10/18(水) 12:51:12
ちょいと質問なんだが、何を動かそうとしてもDirect3Dが初期化出来ないのだが、何故?
ゲーム関係は全くと言っていいほど動かないorz

483 名前:デフォルトの名無しさん :2006/10/18(水) 12:59:26
デバッガーで帰ってきたエラーコード調べりゃ良いじゃない。

484 名前:デフォルトの名無しさん :2006/10/18(水) 13:01:01
>>480
http://www.alicesoft.com/support/soundn.html#s008
↑みたいなことも可能性としてあるみたいだ。
はずしてたらスマソ。

>>481
DirectXできたら1流プログラマの仲間になれると
思っている房は放置しておけよ。
下手にレスされるともっとうざい。

>>482
「初期化ができない」では、ちょっと回答しにくい。
まずは環境(コンパイラ、DirectXのバージョン、グラフィックボード)くらいは
教えてくれ。

485 名前:デフォルトの名無しさん :2006/10/18(水) 13:37:25
>>484
ありがとう。
ドライバの不具合など以外は、機能面では大丈夫ってことかな?

486 名前:デフォルトの名無しさん :2006/10/18(水) 13:39:09
>>484
すまん、自己解決した
ありがとう

487 名前:デフォルトの名無しさん :2006/10/18(水) 18:46:53
昨日の夜は打ち上げ飲み会やったんですよ。
他のプログラマとか外注さんとか参加してたんで話題に出たんですが、
みんなこのスレ見てたようですねー。
やっぱ現役の声のほうが確かですわな。
結論は「あいつらホビープログラマだろw」で全員一致しました。
いろいろな意見が出ましたが「メガデモとか知らねぇんじゃねぇ?」とかもありましたよ。
まあこの話はこれで終わりということで。

488 名前:デフォルトの名無しさん :2006/10/18(水) 19:02:37
今時、メガデモとか言い出すダメプログラマでも、
仕事で何とかやっていけるのが土方プログラマの世界。

489 名前:デフォルトの名無しさん :2006/10/18(水) 21:26:31
いきなりすいません。今ネットゲームやろうと思いましてダウンロードしたところゲームが出来なかったのです。
そしてdirectX9.0をダウンロードしていないことが原因と判明したのでインストールしようとしたら
なぜかダウンロードが1秒で終わってしまうのです。そしてネットゲームを繋いでみると・・・。
すぐ落ちてしまい、そのあとフリーズ。なぜかわかりますでしょうか?わかる方おりましたらレス下さい。

490 名前:デフォルトの名無しさん :2006/10/18(水) 21:31:04
>>489
Windows95ではDirectX9は動かないよ。

491 名前:デフォルトの名無しさん :2006/10/18(水) 21:53:55
Direct3Dの各サンプルにて、Commonフォルダ内のファイル内容を変えずに
WinMain(もしくはWinMainがあるファイル)内でデバイスのアドレス(LPDirect3DDevice9)を取得するにはどうすればいいのでしょうか。


492 名前:デフォルトの名無しさん :2006/10/18(水) 21:54:12
逆に言うと95とNT以外は全部サポートしてるんだから地味にいいバージョンだよな。


ちなみにサウンドに関してはサウンドバッファをハードウェアに作るのはかなり地雷。
多少の負荷は目をつぶってでもシステムメモリに作って全部CPUでやらせたほうがいい。

493 名前:デフォルトの名無しさん :2006/10/18(水) 21:57:39
>>490 いえ、Meなんです。。言い忘れてました。。

494 名前:デフォルトの名無しさん :2006/10/18(水) 22:09:09
>>493
Me(OS)のバージョン最大限に上げる。
関係ないと思うけど、ビデオカードのドライバのバージョンを
最新のものにする。

ハードディスクの空き容量が足りないっていうオチだったら
ぬっころす。

マイクロソフトのソフトって、ネットからソフトの本体を落としたりするから
セキリュティソフトとかの問題も疑ってみるべき。

外してたらすまそ。

495 名前:デフォルトの名無しさん :2006/10/18(水) 22:15:46
完璧に板違い。

496 名前:デフォルトの名無しさん :2006/10/18(水) 22:26:37
C++(CLIではありません)でDirectXを使い始めた者です。
現在Direct3D9のチュートリアルを見ているところです。
サンプルではIDirect3D*をグローバルに持っているのですが、これを
スマートポインタに入れたいと思いました。
WEBで探してみると_com_ptr_tを使えば良さそうだと思いました。
ところが_com_ptr_tはInterfaceをメンバに持つクラスのオブジェクト
でなければならないようで駄目でした。

何か良い方法はございませんでしょうか?

497 名前:デフォルトの名無しさん :2006/10/18(水) 23:14:34
それ単に思いついただけっぽい書き込みだな・・・。
本当にその必要があるのかどうか考えてからのほうが良いぞ・・

498 名前:496 :2006/10/18(水) 23:59:31
ATLというライブラリのCComPtrを使えば良いようですね。
他に良い方法はありますでしょうか?

>>497
IDirect3DDevice9の開放のタイミングがよくわかってません。
やはりCreateDeviceの引数にハンドルを渡したウィンドウが消
される前でないとまずいのでしょうか?
グローバルなスマートポインタで持っておいてWinMain終了後に
開放だと駄目なのかなと。

499 名前:デフォルトの名無しさん :2006/10/19(木) 00:40:32
別にウィンドウ消されたあとでも問題ないが、
ウィンドウ消されたあとでPresent()呼ぶと当然エラーで落ちる。


500 名前:デフォルトの名無しさん :2006/10/19(木) 01:02:51
Direct3D 全体を管理するクラス作って、デストラクタで開放すればいいんちゃうの


■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.