DXライブラリ 総合スレッド その16
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2013/06/30(日) 23:57:05.06ID:j62MvD3e「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別にこうするもんだ、って話じゃない。
0424名前は開発中のものです。
2013/09/10(火) 13:23:33.80ID://nCPrx/0425名前は開発中のものです。
2013/09/10(火) 15:35:01.90ID:VwJiEoYmDXlibの使えば非同期読み込みできたんだな
これって非同期書き込みって出来ないの?
0426名前は開発中のものです。
2013/09/10(火) 15:52:46.41ID:gIhnnlB1毎年この時期に発売してるゲームグラフィックスって本は結構参考になったりならなかったりするけど面白いから読むべし
2009年版によるとナルティメットは頂点にボーンを入れて引っ張り出してる
>>422のはトレイルポリゴンというらしい
0427名前は開発中のものです。
2013/09/10(火) 18:23:10.98ID:1N7dl6m4名前ついてたのかwwありがとう
0428名前は開発中のものです。
2013/09/12(木) 07:30:32.01ID:aJt0MyQPちらほらとWindows8向けの修正が入ってるようだ
0429名前は開発中のものです。
2013/09/13(金) 10:47:00.12ID:VRcMxm/5参考になった
見た感じ無双は前者っぽいな
0430名前は開発中のものです。
2013/09/13(金) 21:57:15.39ID:fqMMV2ZF3DのRPGとかでよくキャラの足元の地面の種類によって足音や土煙を変えてる方法
ってのに
ポリゴンモデルのテクスチャによって判定してる
って答えがあったけど
今のDXlibでこれ実現する方法ってある?
指定ポリゴンに使われているテクスチャを得るような関数は無いし
その為に自分で既存の関数使って実装しようにも大まかな方向性すらちょっと分からない
0431名前は開発中のものです。
2013/09/13(金) 22:02:40.77ID:V6fOnFO40432名前は開発中のものです。
2013/09/13(金) 22:26:09.11ID:mrOA/UVsなあすごく初歩的な質問かもしれんが
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必要なメモリは今のPCの性能に比べたら大したことないんで
わざわざバッドノウハウみたいな方法を使って制約を増やす必要性がないという
0434名前は開発中のものです。
2013/09/13(金) 22:50:46.62ID:V6fOnFO4ドラクエみたいに格子状に並べるマップもそうだし、配置するオブジェクトが無規則自由配置でも同じこと
0435名前は開発中のものです。
2013/09/13(金) 23:48:26.06ID:fqMMV2ZF>>922の方法が良かったのか
しかしこれって
下から床、空間、床2、空間
みたいな位置関係のときは難しくないかな
>>432もわざわざ引用してくれてありがとう
0436名前は開発中のものです。
2013/09/14(土) 00:26:05.17ID:/6ff2SkL平面の格子じゃなく立体の格子を作ればそれも別に難しくないだろう
0437名前は開発中のものです。
2013/09/14(土) 00:31:06.20ID:p0lDHWdr>下から床、空間、床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正直作り方の下手さをスペックで補ってる感があるんで
今回の件以外の部分でかなり演算量とかメモリ使ってるからちょっと聞いてみたかった
だいぶ出来上がってきたんでそろそろエフェクトについても本腰入れて頑張ってみようかと思って昔の話題を引っ張り出してきたんだ
0441名前は開発中のものです。
2013/09/14(土) 01:44:37.73ID:F13ppTHh俺は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+8u9Gdxlibだと簡単にやってくれるんだろうけど、保存されてるシェーダー名とか分かるんだろ?
だったらゲームの中で統一した名前持って・・・
って文字列の比較はご法度?
0446名前は開発中のものです。
2013/09/14(土) 08:50:51.40ID:HK3w+y5R1フレームに数千回程度ならmapの文字列キーによる取得も可能
だがシェーダ名からそんな判別ができるかは知らん
0447名前は開発中のものです。
2013/09/14(土) 09:30:05.45ID:fcYnOgJC0448名前は開発中のものです。
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レンダリングターゲットに書き出した内容を使うよな。
例えばオフスクリーンのビットマップに書き出してそれを(画像としてに限らず)利用する。
ドロップシャドウなんかの処理書く時の影が落ちる場所の判定用に2パス処理するとかもそう
0452名前は開発中のものです。
2013/09/14(土) 15:10:45.75ID:8O2/n1/VDirectX10/シェーダモデル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:l5htwAqU0456名前は開発中のものです。
2013/09/14(土) 23:53:54.14ID:36YxFypIどっちにしても同じことばっか言ってる奴に食いつくなよ
0457名前は開発中のものです。
2013/09/15(日) 00:00:02.27ID:dC0z05bi0458名前は開発中のものです。
2013/09/15(日) 00:35:20.07ID:5Cwo6Cih0459名前は開発中のものです。
2013/09/15(日) 00:52:25.03ID:xpVRCCgSそれはともかく>>453はコピペ
0460名前は開発中のものです。
2013/09/15(日) 03:26:15.09ID:JWdA1Xml俺だって彼氏がいたことなんてねーよ
0461名前は開発中のものです。
2013/09/15(日) 07:53:52.63ID:PV2uYwqN0462名前は開発中のものです。
2013/09/15(日) 08:02:23.47ID:PV2uYwqNZバッファ書き込み
↓
裏画面に描画
↓
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:LXqJDTUq0465名前は開発中のものです。
2013/09/18(水) 09:35:37.67ID:oNVuQXT0手のフレームの取得関数が機能しない…どうやらモデルに座標入ってないみたいなんだよな、0になっちゃう
モーションの方かもしれないけど、これじゃ進まなくて困った
0466名前は開発中のものです。
2013/09/18(水) 09:59:53.97ID:Ud470By20467名前は開発中のものです。
2013/09/20(金) 08:03:49.06ID:+XZbW2by0468名前は開発中のものです。
2013/09/20(金) 08:30:02.08ID:YMpJdkx+手のフレームを取ると普通手のパーツの中心部が座標になる
0469名前は開発中のものです。
2013/09/20(金) 09:07:36.96ID:ORFi52Rn0になっちゃうんじゃなくて、もしかしてそのボーンのローカル座標系の値が返ってきてるとか。つまり変化前だから常に0。
他にオフセットがあるんじゃね
0470名前は開発中のものです。
2013/09/22(日) 20:52:26.82ID:f8ojsxQ+みんなシェーダ書くときにfxファイル何のソフト使って書いてる?
俺はサクラエディタなんかで頑張ってるんだけど
0471名前は開発中のものです。
2013/09/22(日) 21:34:15.12ID:rnlXPih00472名前は開発中のものです。
2013/09/22(日) 21:58:38.92ID:4HkV9On6同じ。サクラか、プロジェクトに含ませてる時はVCのテキストエディタ
要は、いずれにしろただのテキストエディタ
0473名前は開発中のものです。
2013/09/23(月) 00:31:52.16ID:JB8mc2dz俺みたいな統合開発環境慣れした初心者はドットとかでメンバ参照とかスペルミスの指摘が欲しくなっちゃう
FX ComposerとかRenderMonkeyってどうなのかな
0474名前は開発中のものです。
2013/09/23(月) 08:30:25.54ID:/4YGOTVQ0475名前は開発中のものです。
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:ofnkYj7IVisualStudio2012は快適だぞ
Eclipseは止まることもあるが、何使ってるの?
0478名前は開発中のものです。
2013/09/23(月) 13:36:04.69ID:7wS9S5HoウチのボロPCだとたまにあるな
ちゃんとしたPCなら大丈夫だろ
0479名前は開発中のものです。
2013/09/23(月) 20:47:36.07ID:B52vOn8cエフェクトに3Dモデルを使おうとすると、65535とか速攻でなくなりそうだけど
0480名前は開発中のものです。
2013/09/23(月) 21:21:48.56ID:7wS9S5Ho0481名前は開発中のものです。
2013/09/23(月) 22:30:14.33ID:el0dl6Vq0482名前は開発中のものです。
2013/09/23(月) 22:38:41.25ID:el0dl6Vqその内容は三角板ポリに透過画像の☆のテクスチャ貼った物が、最大512個まで表示される仕様にしたとして、
普通はモデルの管理用ハンドルなんてどう作っても1つにすると思うけど、
これを見たままの 512個用意するような設計にしてたとしたら足りなくなると思うが、そもそもその考え方自体がおかしいって話。
0483名前は開発中のものです。
2013/09/23(月) 23:29:59.22ID:MCuV8ief0484名前は開発中のものです。
2013/09/23(月) 23:40:56.58ID:el0dl6Vq0485名前は開発中のものです。
2013/09/24(火) 00:30:12.83ID:gCJpay//0486名前は開発中のものです。
2013/09/24(火) 08:47:55.94ID:3iThi5fc0487名前は開発中のものです。
2013/09/24(火) 11:51:32.61ID:NDARxT+Jローカルでの正面方向は(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:LX3VXkRZ0489名前は開発中のものです。
2013/09/24(火) 12:58:18.83ID:RHsZnJVt解説サイトとかないよね…
0490名前は開発中のものです。
2013/09/24(火) 13:55:10.86ID:LX3VXkRZMSDNの記事やリファレンスの解説見てもちんぷんかんぷんならもっと手前の文献当たって、
その文献見てもわからなければ、もっと手前の文献当たって。
0491名前は開発中のものです。
2013/09/24(火) 13:55:19.05ID:7Pln/be2どこに必要ですか?
0492名前は開発中のものです。
2013/09/24(火) 14:35:25.94ID:3iThi5fcDrawPolygon3Dでモミジの降るエフェクトでも作ってみればいい
0493名前は開発中のものです。
2013/09/24(火) 18:40:55.14ID:klVNBi9SMGetRotAxis(axis,acosf(rot));
だと思うけどその後のクォータニオンって自作しないといけないんじゃないの?
知らんくせに口挟むけど
0494名前は開発中のものです。
2013/09/24(火) 18:52:26.49ID:7Pln/be2ベクトルと軸ベクトルと回転率を与えることで、その軸で回転させたベクトルを返すっていう関数は作ったけど、
行列としては無い・・・
0495名前は開発中のものです。
2013/09/24(火) 19:35:08.68ID:NDARxT+J0496名前は開発中のものです。
2013/09/24(火) 19:41:42.78ID:NDARxT+J短いコードなのになぜこんな・・・
0497名前は開発中のものです。
2013/09/24(火) 19:42:19.73ID:klVNBi9S基本わかってないから方向とかわけわかめになる
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ありがとう、わからないまんまだけど・・
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できたわ、Crossの順序が逆だったのか・・・
0501名前は開発中のものです。
2013/09/25(水) 09:05:57.49ID:IcW1ptMQモデルが元々向いてる方向が第一引数で、それを、回転させる為の行列を得たいのだからって事。
順序にはちゃんと意味あるんだぜ
0502名前は開発中のものです。
2013/09/26(木) 13:09:27.12ID:6kYMS1ufびーるうまい
オマエラ
仕事わー
0503名前は開発中のものです。
2013/09/30(月) 12:51:00.26ID:MDOQSI/Zabcって書かれたファイルを読み込んでもプログラム文にabcって入るわけじゃないのよね
0504名前は開発中のものです。
2013/09/30(月) 13:47:43.87ID:8MdT1DdQLuaでも組み込んだら
0505名前は開発中のものです。
2013/09/30(月) 13:56:43.57ID:gwWMPctbそれだけ
0506名前は開発中のものです。
2013/09/30(月) 13:56:48.64ID:s5i3Qnz60507名前は開発中のものです。
2013/09/30(月) 14:01:09.34ID:j1OFbA2Oabcって読み込まれるんだけど、何が違うのだろうか
0508名前は開発中のものです。
2013/09/30(月) 15:57:31.86ID:L/mBCuvv0509名前は開発中のものです。
2013/09/30(月) 17:43:12.62ID:pUQjWvd30510名前は開発中のものです。
2013/09/30(月) 18:27:12.75ID:7w5M7S/astd::ifstream ifs("hoge.txt");
読み込んでも何も起きないじゃないですか!
0511名前は開発中のものです。
2013/09/30(月) 18:30:48.69ID:t84kkzgd0512名前は開発中のものです。
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なるほどねぇ
確かにプレイヤーの視覚情報になるドット視点で考える方が、体感的に矛盾も少なくなるのかな
あと、数学視点じゃなくてゲーム屋視点で調べてたら、
浮動小数点にガッツリ誤差修正入れてて境界とか曖昧になってるのが多いのねw
0515名前は開発中のものです。
2013/09/30(月) 20:07:39.17ID:L/mBCuvvさすがに今日の1ドット判定がデフォな弾幕STGをしてるプレイヤーには「自機判定が大きすぎる」とか言われるけど、
自機弾が見た目の5倍くらい当たり判定持ってることについては誰も文句言ってきてないw
0516名前は開発中のものです。
2013/09/30(月) 21:31:43.75ID:cyhHp5cj初心者の俺がエスパーすると
DrawFormatString( 0, 0, GetColor( 255 , 255 , 255 ), "hoge") ;
こんな内容の外部ファイルがあって
読み込み関数の直後にこんなプログラム文を挿入するみたいに
読み込み直後にDrawFormatStringを実行出来るってのなら便利なのになー
って考えだと予想
0517名前は開発中のものです。
2013/09/30(月) 22:40:05.44ID:w+IVtSGt0518名前は開発中のものです。
2013/10/01(火) 03:46:58.46ID:F7QtckIuこんなこと言う作者の作ったSTGなんてやりたくねえなぁ
0519名前は開発中のものです。
2013/10/01(火) 07:09:37.62ID:jvCk1W0qプレイヤー側に爽快感を与えるためのテクニックとして定番だな
ほとんどのプレイヤーは、当たり判定が厳密かどうかなんて気にしてない
0520名前は開発中のものです。
2013/10/01(火) 07:19:05.53ID:pu7yJ+pU0521名前は開発中のものです。
2013/10/01(火) 09:00:10.86ID:G5cfMRew当たってるように見えて当たってない、方が
プレイヤーに与えるストレスが少ないってベーマガに書いてあった。
ピクセル単位で当たり判定するのは、それ自体が売りになるケースだよね。
レミングスの地面判定とか。
0522名前は開発中のものです。
2013/10/01(火) 09:17:15.92ID:7b0/KPAj弾の通り抜けが困る、平面なのにジャンプしちゃう。
これをキチンと処理しないといけない。
■ このスレッドは過去ログ倉庫に格納されています