DXライブラリ質問&雑談掲示板2
[トップに戻る] [使いかた] [ワード検索] [管理用]
おなまえ
題  名
メッセージ
削除キー (記事削除用。英数字で8文字以内)
クッキー情報を保存

[2468] 無題 投稿者:さげ 投稿日:2009/11/06(Fri) 18:40 [返信]
通信関係のところで、
うけつける、とひらがなになっているところがありました。

[2467] Re:[2465] ご返信 投稿者:バトーキン 投稿日:2009/11/06(Fri) 10:21 [返信]
> 管理人様
ありがとうございます、最新版いただきました。
まだモーションブレンドまで辿り着いていないのですが;;
動作確認できたら、また報告させていただきます。

プログラムが楽しい部分だけやって、色々なことが実現できるので、
本当にDXライブラリ様々です♪

動画の方で、MMDモデルの質感に対するコメントが多いので、
とりあえず、マテリアルのスペキュラカラーを 1/10 にした版を配り始めました。
反応が集まったら、こちらもまた報告しますー。

[2466] アナログ 投稿者:romデス4 投稿日:2009/11/05(Thu) 23:21 [返信]
>>管理人さん
そうですか。。 切り替えのボタンが反応悪くなってきたので、
接続の有無のような感じで処理ができたらなと思ったのです…

[2465] ご返信 投稿者:管理人 投稿日:2009/11/05(Thu) 12:51 [返信]
> 2009/11/02 16:49 16:27 名無しさん
ご報告ありがとうございます
修正しておきます

> 2009/11/02 19:39 名無しさん
あると便利そうですね
ただ既に似たような機能があるので優先順位を考えると他のことを先にやりたいです
すいません

> バトーキンさん
動画拝見させていただきました
凄いです、というかこんなに早く3D機能を活用していただけるとは思っていませんでした(・・;
( 因みにMMD対応をあの期間でできたのはMMD形式を解析された先人の方々のお陰です )

歩いたり走ったりになると今度はモーションブレンドが必要になると思いますが、
恐らくバトーキンさんがお持ちのバージョンではMMDモーションのブレンドが正常に
行えないと思いますので、もしモーションブレンドを行う際はこちらのバージョンを
お使いになってみてください m(_ _)m
				
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe	// VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe	// BorlandC++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)

[2464] Re:[2463]成果報告 投稿者:バトーキン 投稿日:2009/11/04(Wed) 10:29 [返信]
> Himaさん
どもです、ありがとうございます♪

海と川のアニメーションは、テクスチャをズラしているだけなんです。
使っているのは、
MV1SetFrameTextureAddressTransform();
UVの値を、少しずつズラしています。
拡大・回転は今のところ未使用です。

海の方は、海面の波と、打ち寄せる波の二種類を分けています。
半透明なので、表示順などに注意が必要ですが、
配布のプログラムに同梱の、Model/batokin_island3.mqo など、
参考にしていただけるかもしれません。

[2463] Re:[2462] 成果報告 投稿者:Hima 投稿日:2009/11/04(Wed) 03:06 [返信]
> バトーキンさん
動画を見ました。 本当にすごいです! 海と川のアニメーションはどう作りましたのですか? よろしければ教えてください。

[2462] 成果報告 投稿者:バトーキン 投稿日:2009/11/03(Tue) 19:48 [返信]
3Dゲーム制作に挑戦中です。
質問掲示板の方では、色々と新機能の追加・対応ありがとうございました。

動画の続きをupしたので、宣伝……いや、報告にきました。
www.nicovideo.jp/watch/sm8701388

やっぱり、MMDモデル・モーションが使えると、
一気に印象が変わりました。
テクスチャアニメーションの方も重宝しています。

マップの方は置いておいて、
次は歩いたり走ったりに挑戦したいと思います。

[2461] 要望です 投稿者:名無し 投稿日:2009/11/02(Mon) 19:39 [返信]
Dxライブラリで、独自仕様の圧縮ファイルにはFileRead系の関数で普通にアクセスできるようですが、
同様の関数でzipファイルにもシームレスにアクセスできるようにして欲しいです。

[2460] バグ報告のバグ報告(連投すみません) 投稿者:名無し 投稿日:2009/11/02(Mon) 16:49 [返信]
[2459]のプログラムですがサンプルの意味を考えると

「 HitPoly = MV1CollCheck_Line( ModelHandle, 0 , StartPos , EndPos ) ; 」

が正しかった様です。

つまんない事で連続投稿申し訳ありません;;

[2459] サンプルプログラムバグ報告(既出かもしれませんが・・) 投稿者:名無し 投稿日:2009/11/02(Mon) 16:27 [返信]
初めまして、管理人さんのライブラリにはすごくお世話になってます。

コリジョン関係のMV1SetupCollInfo( )関数のサンプルプログラムなのですが、

「 HitPoly = MV1CollCheck_Line( ModelHandle, StartPos, EndPos, 0 ) ; 」

の部分、引数でエラーがでます。

「 HitPoly = MV1CollCheck_Line( ModelHandle, -1 , StartPos , EndPos ) ; 」

、だと正常に動くみたいです。既に耳にタコかもしれませんが一応報告します。

[2458] 現状報告 投稿者:管理人 投稿日:2009/10/31(Sat) 23:09 [返信]
PMDファイルの読みこみ機能は一応物理演算も実装してみましたが、本家ソフト上での挙動は再現できませんでした・・・
この辺りの完成度を上げる前にやるべきことがまだ沢山あるので、中途半端ですが今はここまで・・・うーん悔しい


> 匿名さん
Vistaより7の方がXPとの互換性が高いという点で、2000とXPの関係に似ていませんか?


> romデス4さん
切り替えボタンが DirectInput から見えるようになっていないと難しいですね・・・
一般的な方法では不可能だと思います

[2457] Re:[2454] 現状報告 投稿者:arata 投稿日:2009/10/27(Tue) 13:23 [返信]
管理人様
ご対応ありがとうございました。

問題なく実装する事ができました。

[2456] アナログ 投稿者:romデス4 投稿日:2009/10/26(Mon) 14:07 [返信]
ジョイパッドの、
アナログ・デジタルの状態を取得切り替えすることはプログラムで可能でしょうか。。
(ps2パッドをpcにつないでいて、実際のゲーム機のように 起動したらアナログモードがonになったらと思ったのですが・・)

[2455] 無題 投稿者:匿名 投稿日:2009/10/26(Mon) 12:16 [返信]
>>管理人様
98→2000が大変で98→XPが楽だった理由は、98が家庭向けの9x系列OSで2000は企業向けのNT系列OS、XPは9x系とNT系を統合することがコンセプトの一つだったから…
だと思いますよ

[2454] 現状報告 投稿者:管理人 投稿日:2009/10/24(Sat) 14:42 [返信]
Windows7 インストールしてみました、折角なので 64bit版を・・・
デスクトップ画面がシングルバッファからマルチバッファになっているせいかキーやマウスの入力に対するレイテンシがXPより大きい気がします
それ以外は概ね良好です、DXライブラリのソフトも DirectX9版は警告などもなく快適に動いています
DirectX7版は動きますがやっぱり重いです
DirectX11 は・・・対応ハードが手元にないので試せていません
それ以外は・・・特に何も試していません、最低限の環境を整えるだけで結構時間が掛かってしまったので力尽きました
でも、確かに XP→Vista より XP→Win7 の方が移行が楽そうだなと思いました、98→Win2000 より 98→XP の方が楽だったのとなんだか似ています

今のところメインで Windows7 を使用する予定はありませんが、これでテスト環境は整いました


> えずらさん
すいません、ちゃんと羽ばたくように修正したバージョンをアップしました m(_ _;m
				
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe	// VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe	// BorlandC++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)

http://homepage2.nifty.com/natupaji/DxLib/DxLibModelViewerTest.zip

Windows7 ですが、まだXPで不都合がない方はXPで良いような気がします
標準的に使用されるメモリの容量が4GBを軽く超えるようになったり
DirectX11 が今の DirectX9 並に使用されるようになってからでも遅くはないかと・・・


> arataさん
デスクトップ画面の解像度は GetDefaultState という関数で取得することができます

// 起動時のデスクトップの画面モードを取得する
int GetDefaultState( int *SizeX , int *SizeY , int *ColorBitDepth ) ;

使用例

int Width, Height, ColorBitDepth ;
GetDefaultState( &Width, &Height, &ColorBitDepth ) ;


縦横比を維持せずにウインドウのサイズを変更できるようにするにはこちらの関数を使用します

// ウインドウのサイズを変更できるかどうかのフラグをセットする( FitScreen:ウインドウのクライアント領域に画面をフィットさせる(拡大させる)かどうか  TRUE:フィットさせる  FALSE:フィットさせない )
int SetWindowSizeChangeEnableFlag( int Flag, int FitScreen ) ;

サイズ変更可能でウインドウ内に画面が収まるように画面を拡大・縮小させない場合は以下のようにします

SetWindowSizeChangeEnableFlag( TRUE, FALSE ) ;

この場合、ある時点でのウインドウのクライアント領域のサイズを
取得したくなると思いますが、それは GetWindowSize 関数を使用して取得できます

// ウインドウモードのウインドウののクライアント領域のサイズを取得する
int GetWindowSize( int *Width, int *Height ) ;

よろしければお使い下さい m(_ _)m

[2453] ウィンドウサイズの変更について 投稿者:arata 投稿日:2009/10/19(Mon) 20:31 [返信]
管理人様、以前のご対応ありがとうございました。

ウィンドウサイズについてのご質問なのですが
SetWindowSizeChangeEnableFlagでウィンドウサイズをユーザーが自由に変更できますが
そのウィンドウサイズ変更時に縦横の比率を維持して大きさが変更する部分を
比率維持をさせずに変更させるようにする事はできますでしょうか?
(ユーザーが縦(横)だけ長くする)

起動時に画面いっぱいにウィンドウモードで起動させたいのですが、DXライブラリ
関数内に画面の解像度を取得する関数などはありますでしょうか?

こちらが大変特殊な事をしようとしているのは承知ですが・・
ご解答していただけたら大変助かります。


[2451] Re:[2450] ご返信 投稿者:えずら 投稿日:2009/10/19(Mon) 00:42 [返信]
> 管理人さん
早速の対応ありがとうございます。
ビューアーで確認してみたところ、フレームに出ているアニメーションは
動作するようになったと思ったのですが、蝶の羽根がはばたいていませんでした><
DirectX SDKに付属のMeshViewで見ると速度が早かったので、ソースを開いて
mdraw.cpp内のTrivialData::UpdateAnimationメソッド内にある
pde->fCurTime += fSecsPerFrame;
を
pde->fCurTime += fSecsPerFrame/100.0f;
に変更してコンパイルした物で確認してみたところ羽根は、はばたいています。
暇な時にでも確認してみてください><


Windows7を購入予定なんですねw
自分は評価版で色々なソフトを試したところ不都合が多かったので、しばらく様子見の
予定ですよ^^;;
OS自体は安定してていい感じなんですけどねぇ〜><

[2450] ご返信 投稿者:管理人 投稿日:2009/10/18(Sun) 23:00 [返信]
> えずらさん
読み込めないXファイル、アニメーションが正常に再生できないXファイルは
幸い根が浅かったのですぐ修正することができました (^ ^;
よろしければお使い下さい

<ライブラリ>				
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe	// VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe	// BorlandC++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)

<ビューアー>
http://homepage2.nifty.com/natupaji/DxLib/DxLibModelViewerTest.zip

Windows7 の評価版、ダウンロードできたんですか〜
知りませんでした orz
早速インストール、と思ったのですが、どうやら製品版をインストールする際は
クリーンインストールをしなければならないみたいです・・・
短期間に開発環境を2回構築するのはちょっと辛いので、次の週末にでも製品版を
購入してテストしたいと思います

ちなみに動画は Ogg Theora 形式なら間違いなく再生できますので( インストールされている
コーデックを使用するタイプではなく、デコードライブラリがDXライブラリのパッケージに
含まれているので )よろしければ Ogg Theora 形式も検討してみてください

[2449] Re:[2448] ご返信 投稿者:えずら 投稿日:2009/10/18(Sun) 21:00 [返信]
> 管理人さん
根が深そうですか・・・><
3D対応は待望の機能だったので、是非がんばって頂きたいですm(_ _)m

あと、大きなお世話かもですがWindows LiveIDが必要ですが、Windows7の評価版は今でもダウンロードできますw
前に公開されていたRC版ではなく、Build7600(RTM?)なのでより製品に近い物になっていると思います。
technet.microsoft. com/ja-jp/evalcenter/cc442495.aspx
(↑半角スペースを除いてください)
Enterpriseとなってますが、機能的にはUltimateと同等なので問題ないと思います。

だからといって修正を急がせるつもりは全くないです。
Windows7自体まだ発売前ですし、浸透にも時間がかかると思いますので、
ゆっくりで良いので気が向いたら対応して下さい。

これからもDXライブラリの開発応援してます。m(_ _)m

[2448] ご返信 投稿者:管理人 投稿日:2009/10/18(Sun) 19:30 [返信]
> えずらさん
メールありがとうございます
ビューアーで現象を確認してみました、なんだか根が深そうな・・・
これからバグ取りしたいと思います

ムービーに関しては、了解いたしました
評価版の Windows7 をダウンロードするのを忘れていたので現在試せる環境がありません
Windows7 が発売されたらなるべく早く環境を構築して確認してみたいと思います

あと、すいません、2のn乗の話はモデルのテクスチャとして動画を貼り付ける場合や、
DrawPolygon3D で描画するポリゴンに動画を貼り付ける場合のことです
普通に2Dの画像として動画を再生する場合は2のn乗かどうかを気にする
必要は無いようになっています

ご紹介していただいたサイトのプログラムでも2のn乗のテクスチャしか扱えない
グラフィックスデバイスでは動画が収まる最小の2のn乗サイズのテクスチャを作成して
そこに動画を転送して、ポリゴンを描画する際には頂点のUV値を調整するということをしています
( サンプルプロジェクトの movietex.cpp の 464行目辺りでUV値を調整しています )

2のn乗サイズ以外のテクスチャも扱えるグラフィックスデバイスが増えてきたので
何れ2のn乗サイズしか扱えない場合は、という分岐は必要なくなると思いますが
それはもうちょっと先の話になりそうです


> mocomocoさん
すいません、単純に入れ忘れました orz
今ダウンロードできるパッケージには DxModelLoader3.cpp が含まれていますので
大変お手数ですがもう一度ダウンロードしてください

[2447] DXライブラリソースファイルについて 投稿者:mocomoco 投稿日:2009/10/18(Sun) 17:48 [返信]
現在配布されているDXライブラリ3.00dのソースファイルに
DxModelLoader3.cppが含まれていないのですが、
調整中という認識でよろしいのでしょうか?

[2446] Re:[2445] 現状報告 投稿者:えずら 投稿日:2009/10/18(Sun) 17:26 [返信]
アニメーションが含まれるフレームは、どのフレームも黄色となっており、
クリックするとアニメーション要素もしっかり表示されます。
メールでXファイルを送らせて頂いたので、確認してみてください。m(_ _)m

ムービーの件ですが、説明不足だったのですが、以前作成した物を現在の最新では
ないのですが、恐らく一個前に公開されていたバージョンのDXライブラリに差し替えて
リビルドしたのですが、表示されませんでした。

自前でDirectShowで作成したムービーテクスチャ表示プログラム
(www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow001.htm)
↑ここら辺を参考にして作ったものに関しては特に縦幅横幅が2のn乗サイズで
なくとも正常に表示されたので、てっきりDirectShowを使ってないのかと思いましたが、
違うみたいですね><

[2445] 現状報告 投稿者:管理人 投稿日:2009/10/18(Sun) 12:50 [返信]
MikuMikuDance、歩きや走りといった通常のアニメーションの作成に適しているのかどうかは
分かりませんが、デモシーンの作成にはとても適していそうですね
いえ、元々その( 長時間アニメーションを作成する )ためのソフトなので当然なのですが (^ ^;


> えずらさん
ご報告ありがとうございます

・3Dについて
多分バグだと思います
DxLibModelViewer.exe でアニメーションをアタッチすると、下の枠に表示されている
フレーム一覧の内、アニメーションのあるフレームの文字だけ黄色になるようになっています
1番目のフレームのアニメーションだけ適応されるというフレーム名は黄色になっていますでしょうか?
あと、もし不都合がありませんでしたらDxLibで正常に再生できないXファイルを
BQE00322(あっとまーく)nifty.com に送っていただけないでしょうか?
				
・ムービー再生について
Vistaでオーバーレイが使用できない( というか使用しようとすると強制的に Aero が切られる )
現象については以前ライブラリの内部処理を変更して対応しましたので、件のプログラムを
最新版のDXライブラリでコンパイルし直せば Windows7 でも正常に動画が再生されるように
なるかもしれません

あと、DXライブラリの動画再生処理は DirectX7版のころから DirectShow に頼っています (^ ^;
( 唯一 DirectShow に頼らず再生できる動画は Ogg Theora だけです )
最適化はしていないので動作は遅いかもしれませんが、現在でも LoadGraph + PlayMovieToGraph + DrawGraph による
動画の再生では動画をテクスチャに転送した上で描画するという手順を踏んでいますので
縦幅横幅が2のn乗サイズの動画を LoadGraph で読み込んで MV1SetTextureGraphHandle でモデルのテクスチャと
差し替えれば今のバージョンでもモデルのテクスチャとして動画を使用するということは可能です

< MV1SetTextureGraphHandle >
http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_3d.html#R15N3

[2444] Re:[2443] いろいろ 投稿者:えずら 投稿日:2009/10/18(Sun) 08:59 [返信]
↓に追記ですが、DXライブラリ付属のDxLibModelViewer.exeでも、Xファイルの
アニメーションは同じ感じで表示されます。

[2443] いろいろ 投稿者:えずら 投稿日:2009/10/18(Sun) 08:54 [返信]
いつも使わせて頂いてます。m(_ _)m

・3Dについて
いつの間にか3D対応になってたので早速ためしてみたのですが、
Xファイルのアニメーションが正常に描画されませんでした><
Xファイルの内容は、アニメーションデータは1個なのですが、
複数のフレームが存在し、各フレームに個々のアニメーションが
設定されている感じの物です。

表示結果は、1番目のフレームのアニメーションだけ適用されて、
残りのフレームは時間0の状態のまま描画されるといった感じです。
もし、仕様であれば諦めますが・・・


・ムービー再生について
もうすくWindows7が発売となりますが、Windows7 Enterprise 90日 評価版
で過去に作成したプログラムを実行するとムービーが再生されませんでした。
音声は再生されるのですが画像だけ・・・
おそらく、Vistaからオーバーレイ処理が出来なくなった関係かと思いますが、
DXライブラリがDirectX9ベースになったのでDirectShowで対応出来ると思うのですが、
対応予定ってありますか?

もし対応されるようであれば、せっかくなのでムービーをテクスチャとして貼り付ける
機能もあると嬉しいです^^;

お忙しいと思いますが、検討よろしくお願いします。m(_ _)m

[2442] ご返信 投稿者:管理人 投稿日:2009/10/16(Fri) 08:26 [返信]
> Himaさん
メールありがとうございます
添付していただいたモデルファイルを正常に表示できるように修正したバージョンを
アップしましたので、宜しければお試しになってみて下さい
( すいません、ビューアーはアップし忘れました
明日の早い内にアップしますので少々お待ちください m(_ _;m )
				
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe	// VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe	// BorlandC++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)


> 憂煉さん
ご情報ありがとうございます
もし今のコンパイラを紛失することがあったら試してみたいと思います

[2441] インラインアセンブラの使えるBCC32 投稿者:憂煉 投稿日:2009/10/15(Thu) 18:05 [返信]
私は一時期C++Builderの体験版からbin、include、libフォルダを抜き出して使ってました。
今でも通用するか断言できませんが試す価値はあるかと思います。

[2440] 現状報告 投稿者:管理人 投稿日:2009/10/14(Wed) 09:06 [返信]
今回の三連休は結婚式に参加したり祖父母に会いに行ったりしていました
今週ももう水曜日で、なんだか時間の経過が早いです


> timeさん
ご報告ありがとうございます
現在DXライブラリ内で使用しているインラインアセンブラをアセンブルできるアセンブラ付き
BorlandC++ Compiler が新規で手に入るのかどうか私にもわかりません
BorlandC++ 側は数年前に時が止まっていますし、VisualC++ にはなかったユーザー登録も
今ではしないといけませんし、DXライブラリを利用する上で今から BorlandC++ を使う理由は
だんだん少なくなってきたと思います
なので、恐らく私の手元にあるコンパイラ実行ファイルを紛失したらそこで BorlandC++ 版の配布は
終了すると思います( 今のところは紛失する予定はありませんが・・・ )


> TYUさん
全然無敵じゃないですよ


> situmonさん
うーん駄目でしたか・・・
エラーが発生してしまうゲームパッドがあれば原因を調べてみたいのですが・・・


> BCCさん
憂煉さんのお書き込みの通り、まだダウンロードできます


> 憂煉さん
迷惑書き込み対策で URL が貼り難くてすいません


> kuroさん
ご報告ありがとうございます
修正しておきます


> Himaさん
TimeType はアニメーションキーの時間の形式です

One : 
 アニメーションキーセット全体で「最初のキーの時間」と「すべてのキー共通のキー同士の間隔」の値
 だけが保存されているタイプで、「One」は時間に関する情報が全でのキーで一つだけという意味です

Key :
 アニメーションキーセットのキー一つ一つに時間の情報が含まれています
 キーの数が多ければ多いほど One よりもデータサイズが大きくなります

Key になるとモデルのアニメーションが変になるというのは恐らくDXライブラリのバグです
もし不都合がありませんでしたら BQE00322(アットマーク)nifty.com まで不具合の発生する
モデルファイルとモーションファイルを送っていただけないでしょうか?


> BCCさん
コンパイラが無償というのは凄いことですよ

[2439] 無題 投稿者:BCC 投稿日:2009/10/13(Tue) 17:52 [返信]
ボーランドから移っていつの間にやら登録が必要になったんですね。。
面倒なことこの上なし・・

[2438] TimeType? 投稿者:Hima 投稿日:2009/10/12(Mon) 02:55 [返信]
DxLibModelViewerでモデルのアニメーションを見るとフレームのアニメーションのTimeTypeのことを気になります。そのTimeTypeなんですか? 
二つのTimeTypeがあると思います。 わたしは間違いないならOneとKeyのTimeTypeがあると思います。 
実はKeyになると、モデルのアニメーションは変になるのです。 ですから、TimeTypeの意味を教えてくださいです。 よろしくお願いします。

[2437] リファレンス 投稿者:kuro 投稿日:2009/10/12(Mon) 02:38 [返信]
管理人さん
リファレンスの
GetSoftImageSizeとFillSoftImageの名前が被ってます
FillSoftImageの<A NAME="R20N6">はR20N7かもです

[2436] 無題 投稿者:憂煉 投稿日:2009/10/11(Sun) 20:28 [返信]
www.codegear.com(スラッシュ)jp/downloads/free/cppbuilder
(スラッシュ)を/に変えて、先頭にURLでお決まりのあれをくっつけてください

[2435] 無題 投稿者:BCC 投稿日:2009/10/10(Sat) 14:35 [返信]
BCCコンパイラももう置いてないような気が。。



[2434] 無題 投稿者:situmon 投稿日:2009/10/09(Fri) 23:01 [返信]
返事が遅れてしまいすいません。
やはり解決されないのでビルドして実行するときはゲームパッドをはずします。
親切な対応ありがとうございました。

[2433] ついに3D対応 投稿者:TYU 投稿日:2009/10/09(Fri) 19:34 [返信]
久々に見にきたところ・・・ついに3D対応していて驚きました。

これで、親切なリファレンスさえ導入されれば無敵ライブラリですね。
ライバルはセイレーンといったところでしょうか。

[2432] 無題 投稿者:time 投稿日:2009/10/09(Fri) 12:32 [返信]
DXライブラリのプロジェクトファイル内にある
C++ BuilderX Personalのアドレス、切れてると思います。
というより、C++ BuilderX が配布終了してますね・・・

[2431] ご返信 投稿者:管理人 投稿日:2009/10/07(Wed) 08:50 [返信]
> arataさん
ご報告ありがとうございます
正常に動作したようで何よりです (^ ^


> cdromromさん
今のところDXライブラリで DirectX11 を使う予定はありませんが、
仮にDXライブラリが DirectX11 を使うことがあるとしても、DirectX11 が
使えない環境のために DirectX9 を使うプログラムも残しておくと思います

[2430] 無題 投稿者:cdromrom 投稿日:2009/10/03(Sat) 16:32 [返信]
DX11が出ようとしてますが、
ライブラリもDX11になっちゃったら、かなり環境が限られちゃいますね・・。

といううちはDX9性能のvistaですがorz

[2429] 現状報告 投稿者:arata 投稿日:2009/10/01(Thu) 17:10 [返信]
本日作成していただいた
・スクリーン座標をワールド座標に変換する
・画面上におけるカメラが見ている映像の中心の座標を設定する

上記2関数でやりたかった事が問題無く実装する事ができました。
ご対応ありがとうございました。

[2427] 現状報告 投稿者:arata 投稿日:2009/10/01(Thu) 10:10 [返信]
管理人様、お忙しい中いくつもの関数を作成していただきありがとうございます。

実際に組み込むまでに少々時間が掛かりそうですので
動作状況などは組み込み次第、ご報告させていただきたいと思います。

[2426] ご返信 投稿者:管理人 投稿日:2009/10/01(Thu) 09:10 [返信]
> arataさん
3D表現を用いたSLGを作ったことが無いので一般的にはどうやっているのかは
わかりませんが、マウスポインタの座標を3D上の線分に変換して、その線分と
3D内のモデルとの当たり判定を行うという方法が考えられます

そのためにはまずスクリーンの座標を3Dの座標に変換できなければなりませんが、
既存の関数ではそれは実現できませんので、よろしければ必要な関数を追加した
こちらのバージョンをダウンロードしてください m(_ _)m
				
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe	// VisualC++ 用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe	// BorlandC++ 用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)

このバージョンでは以下の関数を追加しています

// スクリーン座標をワールド座標に変換する
VECTOR ConvScreenPosToWorldPos( VECTOR ScreenPos ) ;

注釈の通りですが、引数の ScreenPos で渡したスクリーン座標を3Dの座標に変換します
ScreenPos の z 値は3D空間内での奥行き単位、ではなくて、渡せる範囲は 0.0f 〜 1.0f で
それぞれ 0.0f の場合は SetCameraNearFar 関数で渡せる Near の値分だけ視点( 画面 )から
離れた距離、1.0f の場合は Far の値分だけ視点( 画面 )から離れた距離の3D座標に相当します

なので、次のようにすることでマウスポインタが示すスクリーン座標を3D空間内での線分の
始点と終点に変換することができます

VECTOR MouseSegmentStartPos, MouseSegmentEndPos ;
int MouseX, MouseY ;

MouseSegmentStartPos = ConvScreenPosToWorldPos( VGet( MouseX, MouseY, 0.0f ) ) ;
MouseSegmentEndPos = ConvScreenPosToWorldPos( VGet( MouseX, MouseY, 1.0f ) ) ;

この2点を使用して当たり判定を行うわけですが、MV1CollCheck_Line は動作する
モデルに対して使用すると非常に重いので、SLGのように沢山のキャラクターが同時に
表示されるタイプのソフトで毎フレームステージ上に居るすべてのモデルに対して使用するのは危険です
 なので、Segment_Point_MinLength で線分がモデルの一定範囲内を通過していたら当たったと
判定してしまうのが良いと思います
( 厳密な判定をする場合も Segment_Point_MinLength で当たったと判定できた場合にのみ
MV1CollCheck_Line を使用することで、かなりの処理負荷軽減になります )

 ビューポートの機能も微妙にありませんでしたので必要な関数を追加しました

// 画面上におけるカメラが見ている映像の中心の座標を設定する
int SetCameraScreenCenter( float x, float y ) ;

 注釈だとよく意味がわからないかもしれませんが、要は消失点を変更するための関数です
初期状態では常に画面の中心が消失点になっていますので、SetDrawArea で左8割を描画範囲としても
何か変な見た目になってしまうと思います

なので、SetDrawArea で描画範囲を変更した後、この関数で消失点を描画範囲の中心にしてやってください m(_ _)m

// 左半分をビューポートにする場合
SetDrawArea( 0, 0, 320, 480 ) ;
SetCameraScreenCenter( 160.0f, 240.0f ) ;

[2425] マウスによるモデルの判定 投稿者:arata 投稿日:2009/09/29(Tue) 16:33 [返信]
管理人様、DXライブラリで3D対応なされたという事で
実装された3D関連を色々楽しみながら触らせていただいています。

現在3DでSLGを作成しよう思っております。
そこでご質問なのですが、たとえば画面上に表示されているキャラクターに
マウスを持っていくとそのキャラクターの情報が表示されるなど、スクリーン座標からの
3D内のモデルの判定をする方法は、既存の関数で可能なのでしょうか?

V1CollCheck_Lineなどを利用すれば出来そうなので色々試してはいるのですが
もし可能でしたらご教示を宜しく御願い致します。


あとカメラの描画範囲を制御(ビューポート)する機能はありますでしょうか?
(画面の左8割を描画範囲、他をステータス表示に利用できたらいいなと考えております)

お忙しい中、大変申し訳有りませんがよろしくお願いします。

[2424] ご返信 投稿者:管理人 投稿日:2009/09/29(Tue) 08:37 [返信]
> situmonさん
お試しいただいたプログラムが正常に動作するのでしたら
恐らくライブラリのバージョンを最新にすることでエラーは出なくなると思います
よろしければこちらのバージョンをお使いになってみてください
				
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe	// VisualC++ 用
(中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)

[2423] Re:[2421] 現状報告 投稿者:ポイポイカプセル 投稿日:2009/09/27(Sun) 16:02 [返信]
管理人様、お忙しい中、サンプルまで作っていただいてありがとうございます。
サンプルプログラムを参考にして、モデルを中心にカメラを回転することができました。
また、掲示板に書き込むことがあればその際はよろしくお願いいたします。

[2422] 無題 投稿者:situmon 投稿日:2009/09/26(Sat) 22:34 [返信]
管理人さんありがとうございます。
エラーについてですが、実行ファイルを実行したらエラーが出ませんが、
ビルドをして実行すると(F5キーを押してデバッグ?すると)終わるときにエラーが出ました。

[2421] 現状報告 投稿者:管理人 投稿日:2009/09/26(Sat) 13:48 [返信]
久々の休みです
木曜日から東京ゲームショウが開催されていますね
個人的には専用メガネの装着で画面が立体的に見えるレーシングゲームが気になります
早く立体視でゲームをプレイするのが一般的にならないかな・・・
				

> situmonさん
手元の環境で試してみた限りではエラーが発生することはありませんでした
私の環境でエラーが発生しないことを確認した実行ファイルをアップしてみましたので、よろしければ
situmonさんの環境でもエラーが発生しないかどうかお試しになってみてください m(_ _)m

http://homepage2.nifty.com/natupaji/temp/InputTest.zip

実行すると画面にゲームパッドで上下左右に移動できる黄色い四角が表示されます
もしこちらでエラーが発生しませんでしたら、DXライブラリのバージョンを最新にすれば解決するかもしれません


> 憂煉さん
はい、DirectX が左手座標系を基本としていたので左手座標系にしています
でも3D関連のツールは右手座標系が殆どなんですよね・・・ (- -;


> ポイポイカプセルさん
DXライブラリの関数として追加することはできませんが、ちょっとそんな感じの関数を使ったサンプルを作ってみました

http://homepage2.nifty.com/natupaji/temp/ModelTargetCamera.cpp

上下左右キーでモデルの周りを回転するプログラムです
サンプルの中で定義されている関数 SetCameraTargetAndAngle で注視点に対する座標を計算しています
( あと、プログラム内で使用されている3Dモデルファイル DxChara.x はDXライブラリのパッケージの
中にある「サンプルプログラム実行用フォルダ」の中に入っています )
サインとコサインを使用してベクトルの回転を行っている計算式については「座標 回転」などで
web検索すると詳しい解説がされているサイトが見つけることができると思います

なんとなくポイポイカプセルさんが望まれる機能ではないような気がしますが、この関数でご希望の処理を
実現できたりしませんでしょうか? (^ ^;

[2420] 関数追加を要望 投稿者:ポイポイカプセル 投稿日:2009/09/24(Thu) 17:07 [返信]
初めて掲示板に書き込みさせて頂きます。
DXライブラリで3Dゲームを作成しております。3D関係の関数が便利なものばかりなので、管理人様には感謝しております。

早速の要望で恐縮ですが、
管理人様、モデルを中心にカメラを回転する関数を作成していただけないでしょうか。

ご検討を宜しくお願い致します。

[2419] 無題 投稿者:憂煉 投稿日:2009/09/24(Thu) 01:26 [返信]
トピたてるまでもなさそうなのでここで質問させていただきます。
DXライブラリは左手座標系…ですよね?

[2418] ゲームパッドの使用によるエラー 投稿者:situmon 投稿日:2009/09/21(Mon) 19:46 [返信]
はじめてこの掲示板を使いますが、
もし違う原因ならすいませんが、
DxLibをつかってゲーム作成をしていますが、
そのゲームはゲームパッド対応で作っています。
そしてゲームパッド対応できた、と思いビルドして実行したところ
きちんと動きました。しかし、DXライブラリを終了するとエラーが出てしまうのです。
なぜだろうと思いコードを確認してみましたが、エラーは解決しなかったので、
接続されていたゲームパッド(ELECOMのJC-U1512FBK)をはずしたところエラーなく終わりました。一度ほかの掲示板で質問させていただいたのですが、本家で聞いたほうが早いのではないかという答えをいただいたので質問させていただいてます。
よろしくお願いします。

[2417] Re:16bitモードの件 投稿者:白河飛翔 投稿日:2009/09/20(Sun) 23:30 [返信]
対応ありがとうございます!
試してみます。

記事No 削除キー

- Aska BBS -