トップページgamedev
1001コメント354KB

DXライブラリ 総合スレッド その16

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2013/06/30(日) 23:57:05.06ID:j62MvD3e
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、
「DXライブラリ」に関するスレッドです。
DXライブラリに関するテクニックなどの情報交換などを行う事で、
多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。

【公式】
http://homepage2.nifty.com/natupaji/DxLib/

【関連スレ】
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
ゲームプログラムなら俺に聞け(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1366526476/

●DXライブラリではなくDirectXの質問ならこっちへ
【C++】DirectX初心者質問スレ【C】(プログラム技術板)
http://toro.2ch.net/test/read.cgi/tech/1370015791/
0423名前は開発中のものです。2013/09/10(火) 10:29:51.57ID:1N7dl6m4
あ、>>422 は俺が実際に考えてやった方法。
別にこうするもんだ、って話じゃない。
0424名前は開発中のものです。2013/09/10(火) 13:23:33.80ID://nCPrx/
ガンツってオンラインゲームの剣の軌跡が特徴的だった気がする
0425名前は開発中のものです。2013/09/10(火) 15:35:01.90ID:VwJiEoYm
ずっと標準関数のfopen_sとかfread_s使ってたんだけど
DXlibの使えば非同期読み込みできたんだな
これって非同期書き込みって出来ないの?
0426名前は開発中のものです。2013/09/10(火) 15:52:46.41ID:gIhnnlB1
>>421
毎年この時期に発売してるゲームグラフィックスって本は結構参考になったりならなかったりするけど面白いから読むべし
2009年版によるとナルティメットは頂点にボーンを入れて引っ張り出してる
>>422のはトレイルポリゴンというらしい
0427名前は開発中のものです。2013/09/10(火) 18:23:10.98ID:1N7dl6m4
>>426
名前ついてたのかwwありがとう
0428名前は開発中のものです。2013/09/12(木) 07:30:32.01ID:aJt0MyQP
いつの間にか3.11にバージョンが上がっとる
ちらほらとWindows8向けの修正が入ってるようだ
0429名前は開発中のものです。2013/09/13(金) 10:47:00.12ID:VRcMxm/5
>>422
参考になった
見た感じ無双は前者っぽいな
0430名前は開発中のものです。2013/09/13(金) 21:57:15.39ID:fqMMV2ZF
前スレ辺りで
3DのRPGとかでよくキャラの足元の地面の種類によって足音や土煙を変えてる方法
ってのに
ポリゴンモデルのテクスチャによって判定してる
って答えがあったけど
今のDXlibでこれ実現する方法ってある?
指定ポリゴンに使われているテクスチャを得るような関数は無いし
その為に自分で既存の関数使って実装しようにも大まかな方向性すらちょっと分からない
0431名前は開発中のものです。2013/09/13(金) 22:02:40.77ID:V6fOnFO4
テクスチャの実物じゃなくて論理マップを別に持っておくだけじゃないの?
0432名前は開発中のものです。2013/09/13(金) 22:26:09.11ID:mrOA/UVs
921 : 名前は開発中のものです。[sage] 投稿日:2013/03/19(火) 18:41:57.90 ID:uxqMY4dT [1/2回]
なあすごく初歩的な質問かもしれんが
RPGやアクションに限らず、いや3Dでも2Dでも使われてる、
よくキャラの足元の地形の設定に応じて足音や砂煙とかのエフェクトの使い分けってどうやって判定してるんだ?
一応3Dを扱ってるとして考えてるんだけど
モデルの該当箇所に簡単な形の判定用モデルでもくっつけとくぐらいしか思いつかん

922 : 名前は開発中のものです。[sage] 投稿日:2013/03/19(火) 19:41:49.38 ID:qIdhNQFl [1/1回]
古い様式のトゥームレイダーのRoomEditorの場合では、
床の形状が碁盤の目のようになっていて、
フロアデータと呼ばれるデータの格納部分があります。
そこに床ティクスチャと共に床属性を加えています。
例えば、木の上、石の上、水の上によって足音が変化する。
それら全部のデータをチャンク形式で塊にして、
レベルデータとして1ステージ分を1ファイルで管理しています。

923 : 名前は開発中のものです。[sage] 投稿日:2013/03/19(火) 20:34:44.08 ID:yJcDNlmv [1/1回]
頂点の色をIDとして分けるとか属性用のテクスチャを用意するとか
0433名前は開発中のものです。2013/09/13(金) 22:27:47.79ID:mrOA/UVs
普通に>>922の方法が現実的だと思うよ
必要なメモリは今のPCの性能に比べたら大したことないんで
わざわざバッドノウハウみたいな方法を使って制約を増やす必要性がないという
0434名前は開発中のものです。2013/09/13(金) 22:50:46.62ID:V6fOnFO4
この >>922 みたいな方法がいわゆる論理マップの持ち方だよな
ドラクエみたいに格子状に並べるマップもそうだし、配置するオブジェクトが無規則自由配置でも同じこと
0435名前は開発中のものです。2013/09/13(金) 23:48:26.06ID:fqMMV2ZF
なるほど
>>922の方法が良かったのか
しかしこれって
下から床、空間、床2、空間
みたいな位置関係のときは難しくないかな
>>432もわざわざ引用してくれてありがとう
0436名前は開発中のものです。2013/09/14(土) 00:26:05.17ID:/6ff2SkL
>>435
平面の格子じゃなく立体の格子を作ればそれも別に難しくないだろう
0437名前は開発中のものです。2013/09/14(土) 00:31:06.20ID:p0lDHWdr
>>435
>下から床、空間、床2、空間

3D空間の場合ですね、そのような場合で
床空間をRoomと呼び、
床1に碁盤の目を配置します。床2にも同様、
そして主人公が床1にいれば床1の碁盤の目を使う。
床2に移れば、床2の碁盤の目からデータを読む。
そして、
床1の部屋1から、床2の部屋2へ移動するのに
部屋同士を廊下で繋ぎます(doorと呼びます)、
その廊下を通過する時に部屋番号を切替えます。
属性データ=部屋番号、X行、Y列
このようになります。(実際は座標変換が入り複雑です)
この説明は、BSP(Binary space partitioning)の導入の部分です。

より単純な方法
単純に床の高さ違いの部屋ならば、高さで単純に切替え出来ます。
0438名前は開発中のものです。2013/09/14(土) 00:45:52.46ID:kQXZslGf
やっぱ次元増やすしかないか
それでもメモリなんて今どきならあんまり気にしなくてもいいのだろうか
格子の目をどれだけ細かくするかによるんだろうけど

>>437は高さが一定の部屋ならメモリ節約になりそうだな
詳しい説明ありがとう
今までとっつくのに躊躇いがあったけどちょっと頑張ってみるよ

ちょっと別件になるけど
みんなゲーム作る上でメモリとかどの程度占有していいと考えて作ってる?
作ってるゲームの規模とかジャンルにもよるだろうけど参考までに
0439名前は開発中のものです。2013/09/14(土) 00:53:50.80ID:7jXMDdjs
ちょっと考えればわかるけど、
アクションゲーなら高さってほかの2軸に比べれば大して量が必要ないんだよ
上に登ってくステージを作りたければそこだけ高さを増して作ればいい
RPGの場合だって、塔とか特定の地域だけ高くて面積は狭い地形にすれば特に問題ない

今のPCだとフリゲで使っていいメモリは100Mくらいかなと思ってるよ

というか、そんなふうに作ってから悩むべきことを何もできてない段階でゴチャゴチャ考えると
何もできない愚図になってしまうよ
0440名前は開発中のものです。2013/09/14(土) 01:39:47.66ID:kQXZslGf
いや3次元空間を自由に飛び回るタイプなんで俺の場合は他の2軸と等価なんだわ
正直作り方の下手さをスペックで補ってる感があるんで
今回の件以外の部分でかなり演算量とかメモリ使ってるからちょっと聞いてみたかった
だいぶ出来上がってきたんでそろそろエフェクトについても本腰入れて頑張ってみようかと思って昔の話題を引っ張り出してきたんだ
0441名前は開発中のものです。2013/09/14(土) 01:44:37.73ID:F13ppTHh
お前ら3Dの話がさらっとできて羨ましいな。
俺は2Dがやっとだっつーに。
0442名前は開発中のものです。2013/09/14(土) 02:18:36.24ID:qldeAamL
今どき数値データで専有するメモリなんて大したことないだろ
実際にどのくらいのバイト数になるのか計算して言ってるのか?
0443名前は開発中のものです。2013/09/14(土) 02:30:33.15ID:76PA/33Z
何も出来てないし、作ることもないのに心配だけしてるんだと思うよ
試算すれば今のPCで問題になるわけないのわかることだし

本当にある程度動くもんができてるんだとしたら

>やっぱ次元増やすしかないか
>それでもメモリなんて今どきならあんまり気にしなくてもいいのだろうか
>格子の目をどれだけ細かくするかによるんだろうけど

こんなこと言うわけない
ちょいと実験用のステージ作ってテストすればわかることだもんよ
0444名前は開発中のものです。2013/09/14(土) 03:13:27.71ID:qldeAamL
いや作る必要すらないよ
必要な変数の見積もり出すだけでおk
0445名前は開発中のものです。2013/09/14(土) 08:21:22.07ID:TW6+8u9G
そもそも着地してる面のシェーダーの種類によって足音を変えられたりはしないの?
dxlibだと簡単にやってくれるんだろうけど、保存されてるシェーダー名とか分かるんだろ?
だったらゲームの中で統一した名前持って・・・

って文字列の比較はご法度?
0446名前は開発中のものです。2013/09/14(土) 08:50:51.40ID:HK3w+y5R
文字列による振り分け自体はご法度ってほどでもない
1フレームに数千回程度ならmapの文字列キーによる取得も可能
だがシェーダ名からそんな判別ができるかは知らん
0447名前は開発中のものです。2013/09/14(土) 09:30:05.45ID:fcYnOgJC
直接シェーダから何か取り出すんじゃなくて、管理用の情報別に持っておけばいいって発想が真っ先に出るべき
0448名前は開発中のものです。2013/09/14(土) 11:46:45.81ID:WM0CmCTj
なんかみんなややこしい事考えてるなあ
もっと気楽に作れるものから順序立てて作ろうよ
背伸びしすぎじゃね?
0449名前は開発中のものです。2013/09/14(土) 12:00:55.05ID:F13ppTHh
シェーダーから読み込むっつーのがどうなのか知らんけど
そんなにやりたいなら、毎フレームやるんじゃなくて
起動時にまとめて変換しとけばいいだろ。
0450名前は開発中のものです。2013/09/14(土) 12:07:01.80ID:fcYnOgJC
多分経験無くてわからないまま、どこかで見た話だけを頼りにするから、無駄に複雑な方向に行くんだと思う
どうしてもシェーダの出力結果を参照しないといけないなら、上でも言ってるように事前に生成して論理情報として持っておいて、
それを管理用として使うだけだよな
0451名前は開発中のものです。2013/09/14(土) 12:12:02.50ID:fcYnOgJC
あと普通、シェーダの出力結果をCPU側で利用したい場合は、「シェーダから読み込む」んじゃなくて、
レンダリングターゲットに書き出した内容を使うよな。
例えばオフスクリーンのビットマップに書き出してそれを(画像としてに限らず)利用する。
ドロップシャドウなんかの処理書く時の影が落ちる場所の判定用に2パス処理するとかもそう
0452名前は開発中のものです。2013/09/14(土) 15:10:45.75ID:8O2/n1/V
DXライブラリには今のところ縁の無い話だが
DirectX10/シェーダモデル4から「出力ストリーム」っつって
頂点シェーダとかジオメトリシェーダの結果を
バッファに書き出す機能がある
髪の毛とかの描画に使われてたはず
0453名前は開発中のものです。2013/09/14(土) 20:39:14.70ID:AYA9xewn
ゲームなんか作ってどうするのよ
周りのみんなは受験勉強やら自己啓発で資格取得やら親しい友人と親睦深めたりしてるのに
ゲームプログラミングなんかしてても受験、就職、出世、何の評価にも繋がらないぞ
しかも10年も経てば今やってることなんざ時代遅れの何の役にも立たない糞知識と化すの分かってるのに
時間とエネルギーの無駄遣いだったなTOEICの勉強でもしてた方がなんぼかマシ残念
0454名前は開発中のものです。2013/09/14(土) 20:59:50.42ID:IDTioZ76
受験勉強
ガキは巣に帰れ
0455名前は開発中のものです。2013/09/14(土) 21:04:51.40ID:l5htwAqU
じゃあ何でこんなスレに書き込んじゃうのさ?
0456名前は開発中のものです。2013/09/14(土) 23:53:54.14ID:36YxFypI
このスレだけでも何度も見るけどこれってコピペ?
どっちにしても同じことばっか言ってる奴に食いつくなよ
0457名前は開発中のものです。2013/09/15(日) 00:00:02.27ID:dC0z05bi
ゲーム製作のおかげで彼氏♂が出来ました><
0458名前は開発中のものです。2013/09/15(日) 00:35:20.07ID:5Cwo6Cih
私は27歳だけど、未だに彼女が居た事がありません。><
0459名前は開発中のものです。2013/09/15(日) 00:52:25.03ID:xpVRCCgS
価値の無い人間ほど将来のために〜とか言って今の自分から目を逸らすもんだ

それはともかく>>453はコピペ
0460名前は開発中のものです。2013/09/15(日) 03:26:15.09ID:JWdA1Xml
>>458
俺だって彼氏がいたことなんてねーよ
0461名前は開発中のものです。2013/09/15(日) 07:53:52.63ID:PV2uYwqN
申し訳ないがホモを匂わすレスはNG
0462名前は開発中のものです。2013/09/15(日) 08:02:23.47ID:PV2uYwqN
1フレーム中に2回Zバッファから裏画面に書き込むのってできますか?

Zバッファ書き込み

裏画面に描画

Zバッファをクリア

Zバッファ書き込み

裏画面に描画

って感じ。
具体的には、視野距離を長くしたいから
1000〜1000000のクリップのZバッファで書き込んだ後に
1〜1000のクリップのZバッファを上書きすれば実現出来ないかなーと。

あとEVEオンラインってゲームはどうやってんでしょうか
0463名前は開発中のものです。2013/09/15(日) 08:22:00.60ID:xpVRCCgS
出来るんじゃね?
試してみたらいいじゃん
0464名前は開発中のものです。2013/09/15(日) 14:15:52.38ID:LXqJDTUq
Zバッファ切ってカキ割りか低ポリメッシュの遠景描画してるだけじゃないん?
0465名前は開発中のものです。2013/09/18(水) 09:35:37.67ID:oNVuQXT0
メタセコイア使ってる人いないかな?
手のフレームの取得関数が機能しない…どうやらモデルに座標入ってないみたいなんだよな、0になっちゃう
モーションの方かもしれないけど、これじゃ進まなくて困った
0466名前は開発中のものです。2013/09/18(水) 09:59:53.97ID:Ud470By2
フレームって、D3DXMESHで言うボーンの事だっけか
0467名前は開発中のものです。2013/09/20(金) 08:03:49.06ID:+XZbW2by
はい
0468名前は開発中のものです。2013/09/20(金) 08:30:02.08ID:YMpJdkx+
手とか頭とかの区切られたパーツのことよ
手のフレームを取ると普通手のパーツの中心部が座標になる
0469名前は開発中のものです。2013/09/20(金) 09:07:36.96ID:ORFi52Rn
>>465
0になっちゃうんじゃなくて、もしかしてそのボーンのローカル座標系の値が返ってきてるとか。つまり変化前だから常に0。
他にオフセットがあるんじゃね
0470名前は開発中のものです。2013/09/22(日) 20:52:26.82ID:f8ojsxQ+
なんかこんなこと聞くのも恥ずかしいけどさ
みんなシェーダ書くときにfxファイル何のソフト使って書いてる?
俺はサクラエディタなんかで頑張ってるんだけど
0471名前は開発中のものです。2013/09/22(日) 21:34:15.12ID:rnlXPih0
メモ帳
0472名前は開発中のものです。2013/09/22(日) 21:58:38.92ID:4HkV9On6
>>470
同じ。サクラか、プロジェクトに含ませてる時はVCのテキストエディタ
要は、いずれにしろただのテキストエディタ
0473名前は開発中のものです。2013/09/23(月) 00:31:52.16ID:JB8mc2dz
やっぱテキストエディタしか無いのか
俺みたいな統合開発環境慣れした初心者はドットとかでメンバ参照とかスペルミスの指摘が欲しくなっちゃう
FX ComposerとかRenderMonkeyってどうなのかな
0474名前は開発中のものです。2013/09/23(月) 08:30:25.54ID:/4YGOTVQ
VS2012使ってる
0475名前は開発中のものです。2013/09/23(月) 11:08:45.66ID:EzTdeYYx
補完の処理が働いているときに一瞬入力を受け付けなくなるのがたまらなくイラつくんだけど
そういうことを気にしないやつってどういう脳の構造してんの
0476名前は開発中のものです。2013/09/23(月) 11:10:43.78ID:7wS9S5Ho
どういうこっちゃ
主語がないぞ
0477名前は開発中のものです。2013/09/23(月) 11:54:58.22ID:ofnkYj7I
>>475
VisualStudio2012は快適だぞ
Eclipseは止まることもあるが、何使ってるの?
0478名前は開発中のものです。2013/09/23(月) 13:36:04.69ID:7wS9S5Ho
あぁVS2012のことか
ウチのボロPCだとたまにあるな
ちゃんとしたPCなら大丈夫だろ
0479名前は開発中のものです。2013/09/23(月) 20:47:36.07ID:B52vOn8c
モデルハンドルの上限ってきつくないか?
エフェクトに3Dモデルを使おうとすると、65535とか速攻でなくなりそうだけど
0480名前は開発中のものです。2013/09/23(月) 21:21:48.56ID:7wS9S5Ho
エフェクトにモデル使うのが設計的に間違ってるぞ
0481名前は開発中のものです。2013/09/23(月) 22:30:14.33ID:el0dl6Vq
エフェクト用のモデル一つ一つに個別のハンドルって言う設計が適当過ぎる
0482名前は開発中のものです。2013/09/23(月) 22:38:41.25ID:el0dl6Vq
もうちょっと言うと、仮に 「星がキラキラっとランダムな位置に、微妙にタイミングズレながら現れて消えていく」 って言うエフェクトだとして、
その内容は三角板ポリに透過画像の☆のテクスチャ貼った物が、最大512個まで表示される仕様にしたとして、
普通はモデルの管理用ハンドルなんてどう作っても1つにすると思うけど、
これを見たままの 512個用意するような設計にしてたとしたら足りなくなると思うが、そもそもその考え方自体がおかしいって話。
0483名前は開発中のものです。2013/09/23(月) 23:29:59.22ID:MCuV8ief
そういうパーティクル的なものはVERTEX3DSHADERで頂点で管理するものかと
0484名前は開発中のものです。2013/09/23(月) 23:40:56.58ID:el0dl6Vq
まぁ >>482 の例で言えばポイントスプライト使うってのはそうだけど、例えばの話
0485名前は開発中のものです。2013/09/24(火) 00:30:12.83ID:gCJpay//
そんなこと言ったって頂点なんていじったことないもん
0486名前は開発中のものです。2013/09/24(火) 08:47:55.94ID:3iThi5fc
頂点も弄れないのに3Dしようとするのが間違い
0487名前は開発中のものです。2013/09/24(火) 11:51:32.61ID:NDARxT+J
モデルがAngle3Dベクトルの方向に向いてくれません。どうしたらいいですか?
ローカルでの正面方向は(0,0,1)方向です

float rot = VDot(VNorm(angle3D),VGet(0,0,1));
VECTOR axis = VCross(VNorm(angle3D),VGet(0,0,1));
MATRIX rotMatrix = MGetRotAxis(axis,rot);

MV1SetMatrix(modelHandle,rotMatrix);
0488名前は開発中のものです。2013/09/24(火) 12:25:29.03ID:LX3VXkRZ
acosが足りない
0489名前は開発中のものです。2013/09/24(火) 12:58:18.83ID:RHsZnJVt
頂点をどうやっていじるのかすら分からない
解説サイトとかないよね…
0490名前は開発中のものです。2013/09/24(火) 13:55:10.86ID:LX3VXkRZ
これだけ読めばOKみたいなショートカットは無いよ。
MSDNの記事やリファレンスの解説見てもちんぷんかんぷんならもっと手前の文献当たって、
その文献見てもわからなければ、もっと手前の文献当たって。
0491名前は開発中のものです。2013/09/24(火) 13:55:19.05ID:7Pln/be2
>>488
どこに必要ですか?
0492名前は開発中のものです。2013/09/24(火) 14:35:25.94ID:3iThi5fc
頂点を弄るというか定義するというか
DrawPolygon3Dでモミジの降るエフェクトでも作ってみればいい
0493名前は開発中のものです。2013/09/24(火) 18:40:55.14ID:klVNBi9S
>>491
MGetRotAxis(axis,acosf(rot));
だと思うけどその後のクォータニオンって自作しないといけないんじゃないの?
知らんくせに口挟むけど
0494名前は開発中のものです。2013/09/24(火) 18:52:26.49ID:7Pln/be2
>>493
ベクトルと軸ベクトルと回転率を与えることで、その軸で回転させたベクトルを返すっていう関数は作ったけど、
行列としては無い・・・
0495名前は開発中のものです。2013/09/24(火) 19:35:08.68ID:NDARxT+J
ん?というかMGetRotAxisがクォータニオンそのものなのでは
0496名前は開発中のものです。2013/09/24(火) 19:41:42.78ID:NDARxT+J
acosfやってみましたが向いて欲しい方向から垂直を向いています
短いコードなのになぜこんな・・・
0497名前は開発中のものです。2013/09/24(火) 19:42:19.73ID:klVNBi9S
やべえ3D全然わからん
基本わかってないから方向とかわけわかめになる

MATRIX rotmtx = MGetRotVec2(VGet(0,0,1),angle3D);
MATRIX mtx = MGetTranslate(モデル位置);
mtx = MMult(mtx, rotmtx);
MV1SetMatrix(modelHandle, mtx);

3Dやってる人尊敬するわ頑張って
0498名前は開発中のものです。2013/09/24(火) 20:13:05.75ID:NDARxT+J
>>497
ありがとう、わからないまんまだけど・・
0499名前は開発中のものです。2013/09/24(火) 21:03:24.78ID:LX3VXkRZ
出先のスマホからなんで試してないけど、意味的にはこうじゃね。

//dot積は平行度合いを返すだけ
float rot = acosf(VDot(VNorm(angle3D),VGet(0,0,1));
//cross積は2つのベクトルに垂直なベクトルを返すだけだが、順序が違うと逆になる
VECTOR axis = VCross(VGet(0,0,1), VNorm(angle3D));
//任意軸を中心として指定角分の回転を表す行列を返すだけ(回転成分のみ)
MATRIX rotMatrix = MGetRotAxis(axis,rot);

MV1SetMatrix(modelHandle,rotMatrix);
0500名前は開発中のものです。2013/09/25(水) 07:51:57.01ID:xqO6E9L0
>>499
できたわ、Crossの順序が逆だったのか・・・
0501名前は開発中のものです。2013/09/25(水) 09:05:57.49ID:IcW1ptMQ
>>500
モデルが元々向いてる方向が第一引数で、それを、回転させる為の行列を得たいのだからって事。
順序にはちゃんと意味あるんだぜ
0502名前は開発中のものです。2013/09/26(木) 13:09:27.12ID:6kYMS1uf
中HIGHドライブ

びーるうまい

オマエラ

仕事わー
0503名前は開発中のものです。2013/09/30(月) 12:51:00.26ID:MDOQSI/Z
いまいち外部ファイルの使い方が分からない
abcって書かれたファイルを読み込んでもプログラム文にabcって入るわけじゃないのよね
0504名前は開発中のものです。2013/09/30(月) 13:47:43.87ID:8MdT1DdQ
スクリプトを実装したいってこと?
Luaでも組み込んだら
0505名前は開発中のものです。2013/09/30(月) 13:56:43.57ID:gwWMPctb
読み込まれたファイルはメモリ領域に確保される
それだけ
0506名前は開発中のものです。2013/09/30(月) 13:56:48.64ID:s5i3Qnz6
単にテキストファイルの中身を読み込みたいとかだと予想
0507名前は開発中のものです。2013/09/30(月) 14:01:09.34ID:j1OFbA2O
abcって内容テキストファイルを読み込んだら
abcって読み込まれるんだけど、何が違うのだろうか
0508名前は開発中のものです。2013/09/30(月) 15:57:31.86ID:L/mBCuvv
メモリとか変数とかがわかってないんではないかな。
0509名前は開発中のものです。2013/09/30(月) 17:43:12.62ID:pUQjWvd3
DxLib以前のレベルの質問が来るのはこのスレの宿命
0510名前は開発中のものです。2013/09/30(月) 18:27:12.75ID:7w5M7S/a
>>507
std::ifstream ifs("hoge.txt");
読み込んでも何も起きないじゃないですか!
0511名前は開発中のものです。2013/09/30(月) 18:30:48.69ID:t84kkzgd
それまだ読み込んでもないしな
0512名前は開発中のものです。2013/09/30(月) 18:59:22.33ID:J6i26pbr
当たり判定で、座標が重なってる時って当たり外れどっちにしてる?
座標で言えば

(0, 0)(1, 0)
(0, 1)(1, 1)

(0, 1)(1, 1)
(0, 2)(1, 2)

図だと

+-+
|a| ←こんな感じで重なってる時
+-+
|b|
+-+
0513名前は開発中のものです。2013/09/30(月) 19:22:09.36ID:L/mBCuvv
俺なら当たりにするかなぁ。

理由は1ドットの大きさ……

(0, 0)(0, 0)
(0, 0)(0, 0)

(0, 0)(0, 0)
(0, 0)(0, 0)

……のような時のため?
0514名前は開発中のものです。2013/09/30(月) 19:37:45.64ID:J6i26pbr
>>513
なるほどねぇ
確かにプレイヤーの視覚情報になるドット視点で考える方が、体感的に矛盾も少なくなるのかな

あと、数学視点じゃなくてゲーム屋視点で調べてたら、
浮動小数点にガッツリ誤差修正入れてて境界とか曖昧になってるのが多いのねw
0515名前は開発中のものです。2013/09/30(月) 20:07:39.17ID:L/mBCuvv
俺、今までSTGとか何本かリリースしてるけど、当たり判定なんて超いいかげんにやってるよw

さすがに今日の1ドット判定がデフォな弾幕STGをしてるプレイヤーには「自機判定が大きすぎる」とか言われるけど、
自機弾が見た目の5倍くらい当たり判定持ってることについては誰も文句言ってきてないw
0516名前は開発中のものです。2013/09/30(月) 21:31:43.75ID:cyhHp5cj
>>503
初心者の俺がエスパーすると

DrawFormatString( 0, 0, GetColor( 255 , 255 , 255 ), "hoge") ;

こんな内容の外部ファイルがあって
読み込み関数の直後にこんなプログラム文を挿入するみたいに
読み込み直後にDrawFormatStringを実行出来るってのなら便利なのになー

って考えだと予想
0517名前は開発中のものです。2013/09/30(月) 22:40:05.44ID:w+IVtSGt
まさか、includeの話だったのか
0518名前は開発中のものです。2013/10/01(火) 03:46:58.46ID:F7QtckIu
>>515
こんなこと言う作者の作ったSTGなんてやりたくねえなぁ
0519名前は開発中のものです。2013/10/01(火) 07:09:37.62ID:jvCk1W0q
> 自機弾が見た目の5倍くらい当たり判定持ってる
プレイヤー側に爽快感を与えるためのテクニックとして定番だな
ほとんどのプレイヤーは、当たり判定が厳密かどうかなんて気にしてない
0520名前は開発中のものです。2013/10/01(火) 07:19:05.53ID:pu7yJ+pU
自機グラフィックより大きくない限り「このゲームのあたり判定はこんなもん」って思うようになるだけだと思う
0521名前は開発中のものです。2013/10/01(火) 09:00:10.86ID:G5cfMRew
当たってないように見えて当たる、よりも
当たってるように見えて当たってない、方が
プレイヤーに与えるストレスが少ないってベーマガに書いてあった。
ピクセル単位で当たり判定するのは、それ自体が売りになるケースだよね。
レミングスの地面判定とか。
0522名前は開発中のものです。2013/10/01(火) 09:17:15.92ID:7b0/KPAj
インベーダーのようなゲームで
弾の通り抜けが困る、平面なのにジャンプしちゃう。
これをキチンと処理しないといけない。
■ このスレッドは過去ログ倉庫に格納されています