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/
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弾の通り抜けが困る、平面なのにジャンプしちゃう。
これをキチンと処理しないといけない。
0523名前は開発中のものです。
2013/10/01(火) 13:00:43.20ID:f1+9upcx0524名前は開発中のものです。
2013/10/01(火) 22:07:38.33ID:IljiT9fFいかに安定したクオリティを感じさせるかも腕の内だろうか
0525名前は開発中のものです。
2013/10/01(火) 23:58:16.66ID:JV6pAl2h0526名前は開発中のものです。
2013/10/02(水) 01:35:17.03ID:j4eVbLO2現象が起こるんだが他にも似たような現象起こるやついるか?
0527名前は開発中のものです。
2013/10/02(水) 07:41:55.08ID:12JVqAEuDXライブラリを最新に更新したら、とか条件があるならまだしも。
0528名前は開発中のものです。
2013/10/02(水) 09:36:28.97ID:j4eVbLO2他に分かってることはDxLib_Init()を呼び出した直後にフリーズするってことくらいかな
0529名前は開発中のものです。
2013/10/02(水) 15:36:21.39ID:M6jp0IGiWindowsメッセージを送ってないとか?
0530名前は開発中のものです。
2013/10/02(水) 19:23:19.87ID:BEx3yg+7VMのwindows内で起動したらマルチメディアタイマーの精度計測に失敗して
起動しなかった、っていう事例があった気がする
まずはログを見て、起動処理のどこで止まってるか
確認するがよろしかろう
0531名前は開発中のものです。
2013/10/02(水) 20:12:13.70ID:j4eVbLO2起動時の設定をダイアログボックスでやる際のウィンドウ処理とかが関係してるみたい。・・・多分。
0532名前は開発中のものです。
2013/10/02(水) 20:52:21.57ID:LX4kyIfIhttp://jihi4541.blog.fc2.com/blog-entry-3.html
これ?
0533名前は開発中のものです。
2013/10/02(水) 22:53:47.44ID:j4eVbLO2ログはwindows/syswow64/wer.dllを読み込みました。Cannot find or open the PDB fileで止まってた
再起動してデバッグしたら
ファイル追跡ログ ファイルに Unicode バイト オーダー マーカーが見つかりませんでした。って出た
いっそのこと起動部分を作り直してみるか・・・
0534名前は開発中のものです。
2013/10/02(水) 23:39:04.47ID:j4eVbLO2もうお手上げだな。いっそのことVC2012に移行してみるか・・・XPに対応しなくなるけど
0535名前は開発中のものです。
2013/10/03(木) 00:40:00.03ID:KUDPieY2予想してた箇所は全くの見当違いであって
他にもっと単純なバグがある、って事じゃないのかな。
0536名前は開発中のものです。
2013/10/03(木) 03:09:38.93ID:VsufsxKa配列オーバーだったってことなら一度ある
今はなぜか宣言追加しても生成されないバグに悩まされてる
例えば新しくint x;x=1;って書いてデバッグするとxが値もポインタももってない
リビルドすると直る
この症状に原因あるなら教えてください
0537名前は開発中のものです。
2013/10/03(木) 03:15:29.35ID:7ILxSOK40538名前は開発中のものです。
2013/10/03(木) 06:48:15.87ID:XsYxUmPH「これ」って何?
>>533
ログってIDEの出力ウィンドウじゃなくてDxlibがexeと同じ所に吐き出すログの事だぞ。
>>534
「全部」って何?
0539名前は開発中のものです。
2013/10/03(木) 09:14:50.87ID:cUvGeNvK何事も無かったかのように動いたって経験もあるので、どうしてもダメだったら試行の候補にでも追加しておくれ。
0540名前は開発中のものです。
2013/10/03(木) 10:35:01.11ID:gPI1v/3EWindowsアプリケーションは
約60分の1秒の間隔でWindowsにメッセージを送り続ける必要があります
メッセージを送らなくてもプログラムは起動しますが
その場合、動作がどんどん重くなり誤動作を起こす原因にもなります
ゲームが重くなる、起動するだけで現象が起こる
それらの状況からWindowsメッセージではないかと思いました
1フレームという間隔で送り続ける必要があるので
60フレーム(1秒)も送らなけば、もう完全に重たくなるのではと
0541名前は開発中のものです。
2013/10/03(木) 10:42:21.98ID:meWLRvQ9PCの時計くるってない?
0542名前は開発中のものです。
2013/10/03(木) 11:06:19.70ID:PZbKFv8R引っ張ってるライブラリ、パスの通ってるライブラリについて、
32bitと64bit混在してないか?
> Cannot find or open the PDB fileで止まってた
↑これが気になったので。
0543名前は開発中のものです。
2013/10/03(木) 12:48:03.54ID:yn64SXNB発生回数は今のところ3回
1回目のとき3時間くらい時間使って諦めてリビルド
原因放置はしたくないけど後回しにしてた
0544名前は開発中のものです。
2013/10/03(木) 17:55:27.38ID:KUDPieY20545名前は開発中のものです。
2013/10/03(木) 19:27:01.40ID:LTHD4yMiまた起きたら宣言初期化周りもう一度調べてみるよ
現象の検証ばっかしててあんまり見てなかった気がする
ヘッダ含めて生成されないんだから最初のInitialzeまでかnewまわりに原因があるはずだよな
0546名前は開発中のものです。
2013/10/03(木) 20:53:45.93ID:Ulbekmlpポインタを理解してないクズが
0547名前は開発中のものです。
2013/10/03(木) 21:28:16.99ID:QMWQESyx描画コストがどのくらいかかるのか全然把握出来てないのだけど
0548名前は開発中のものです。
2013/10/03(木) 22:36:24.81ID:edQZBgYu0549名前は開発中のものです。
2013/10/04(金) 00:51:22.69ID:qihA5f5Fキー入力に合わせて回転するみたいな簡単な事はできるようになってきたけど、
設定メニューとかのようなGUIが作れない。
そもそもどう作ればいいの?
ダイアログに表示するような釦を用意するだけで手間なんだけど、
全部自作してるの?
0550名前は開発中のものです。
2013/10/04(金) 01:45:50.25ID:Ql0gzuVhそうなのか…
下手に弄るよりは任せた方が簡潔に書けるね
0551名前は開発中のものです。
2013/10/04(金) 08:57:28.28ID:8I+rYF1p純粋に表示だけならレンダリング処理のパスが省略されるはず。
ただゲームプログラミングで考えた時、裏で自分でしてる論理処理の方は視界の外の部分は省略したりするよな。
「重さ」のネックは大抵そっちにあるから。
0552名前は開発中のものです。
2013/10/05(土) 01:56:11.12ID:swZovpC2なんでこんな仕様にしたのか
0553名前は開発中のものです。
2013/10/05(土) 02:38:04.19ID:swZovpC20554名前は開発中のものです。
2013/10/05(土) 07:04:12.45ID:42i+ls1bカメラの真後ろにあるオブジェクトに対してレイを飛ばした時の判定なんてほぼ無駄なわけじゃん
0555名前は開発中のものです。
2013/10/05(土) 07:30:15.10ID:zPZwPgbhまず対象オブジェクトがカメラの後ろにあるかを判定する必要があるけど、それって結局レイ飛ばすなり「平面-オブジェクト」で判定するわけじゃん。
で、その後レイで衝突判定とるの?
他の処理の都合であらかじめオブジェクトがカメラの後ろにあるかどうか解ってる特殊な事情が絡まない限り、全探索するしかなくね?
0556名前は開発中のものです。
2013/10/05(土) 09:23:08.63ID:0JH/7YRjより細かい計算するより前に対象外として一律処理スキップとかするけど俺
0557名前は開発中のものです。
2013/10/05(土) 09:25:26.82ID:0JH/7YRj画面のドットからレイ飛ばすってのがなんか引っ掛かるけど、俺は表示物じゃなくて論理管理レベルでの計算で >>556 する。
0558名前は開発中のものです。
2013/10/05(土) 13:42:34.85ID:U+9bHzcQ>>554って環境マップとか使って擬似的な反射でも考えない限り全く無縁の話じゃないの?
光源が後ろにない限りカメラより後ろのオブジェクトが描画結果に影響することはないんじゃない?
乱反射の部分は環境光ってファクターで擬似的に表してるんだし
っていうか>>556の方が効果は大きそうだし
描画時間計測したことあるけど、ライティング関係の処理はDirectXだかDXlibだか分からんが自動で弾いてくれてるっぽいぞ
ビルボードを視野外(近く)に置いたときと、視野内の無限遠に置いた時がほとんど同じで、視野内の近くに置いた時より格段に軽かった
的外れの恥ずかしいレスじゃありませんよーに
0559名前は開発中のものです。
2013/10/05(土) 18:25:07.74ID:zPZwPgbhそれって、レイトレースとかの文脈のレイ?
>>554の言うレイは普通の半直線の事を指してると思うんだけど。
DXライブラリスレでレイトレースとか出る話題じゃないし…。
マウスクリックでオブジェクト選択みたいな処理を実装するために半直線と交差判定取ってるんだけど、
カメラの後ろにあるオブジェクトまで交差判定とるのって無駄じゃね?
って話だと思ってたけどあってるよね?
0560名前は開発中のものです。
2013/10/05(土) 18:48:29.96ID:zPZwPgbh位置ベクトル+方向ベクトル=平面
だよ。
要するにカメラの後ろ=nearクリップ平面の負の領域ってことだし。
if ( !CollidePlaneObject(nearClipPlane, obj) ) return; // プレ処理(カメラの後ろにあるか判定)
if ( !CollideRayObject(ray, obj) ) return; // レイ交差判定(本ちゃん判定)
って感じだと思うんだけど、平面-オブジェクトの判定とレイ-オブジェクトの判定って計算的に殆ど同じだから、
最初のプレ判定あんま意味なくね?計算省いてるようで実は二重に計算してね?
というのが>>555で言いたかったこと。
0561名前は開発中のものです。
2013/10/05(土) 18:49:58.53ID:TrZUJRMYウインドウ枠の「×」をクリックした時に
DxLib_End関数を評価させる方法はないでしょうか?
それとも「×」をクリックして終了した時に
自動的にDxLib_End関数が評価されるように設計されているのでしょうか?
0562名前は開発中のものです。
2013/10/05(土) 20:10:30.39ID:0JH/7YRj二度判定されるのは事実だけど、無駄じゃない。
複雑な形状を持つオブジェクトの中身に対する細かい判定とは別に、
そのオブジェクトが置かれるグローバル座標を原点とする半径や最大立法体で判定して、先に一回「明らかな範囲外」を落とすんだよ。
実際に運用されてる有名な例で言うと、bulletphysics等がそう。
0563名前は開発中のものです。
2013/10/05(土) 20:13:55.33ID:0JH/7YRj視野内での計算と視野外での計算が完全に同じで事足りるケースだけ
0564名前は開発中のものです。
2013/10/05(土) 20:38:31.68ID:OUqe1t+Lひいいドットから出るレイとか言うからレイトレーシングの方だと思ってた恥ずかしい
このスレって突然DirectXの話題になったりCの話題になったり結構カオスだから勘違いしてましたごめんなさい
0565名前は開発中のものです。
2013/10/08(火) 03:59:08.46ID:FyCpCW0B1加工済みアニメを3D空間or画面に2D描画(ペラペラだけど我慢orカメラとの角度固定)
2加工済みアニメを透明なマテリアルにテクスチャアニメーションとして張り付けてx→3D描画
3アニメーションまで読み込んでその場でエフェクトを作る
今まで視点固定なので1で作っていて、次は3D視点のものを作ろうと思ってて、描画方法考えています。
2そもそもテクスチャアニメーションをx化できるのか、あと球の中心とかあると張り付け不可。
3リアルタイムの負荷&処理方法実装の難しさとか、シェーダの延長でなんとかするしかない?
先人様がいらっしゃれば知恵を分けてほしいです。
■ このスレッドは過去ログ倉庫に格納されています