通信関係のところで、 うけつける、とひらがなになっているところがありました。
> 管理人様 ありがとうございます、最新版いただきました。 まだモーションブレンドまで辿り着いていないのですが;; 動作確認できたら、また報告させていただきます。 プログラムが楽しい部分だけやって、色々なことが実現できるので、 本当にDXライブラリ様々です♪ 動画の方で、MMDモデルの質感に対するコメントが多いので、 とりあえず、マテリアルのスペキュラカラーを 1/10 にした版を配り始めました。 反応が集まったら、こちらもまた報告しますー。
>>管理人さん そうですか。。 切り替えのボタンが反応悪くなってきたので、 接続の有無のような感じで処理ができたらなと思ったのです…
> 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をお使いの場合は『リビルド』をして下さい)
> Himaさん どもです、ありがとうございます♪ 海と川のアニメーションは、テクスチャをズラしているだけなんです。 使っているのは、 MV1SetFrameTextureAddressTransform(); UVの値を、少しずつズラしています。 拡大・回転は今のところ未使用です。 海の方は、海面の波と、打ち寄せる波の二種類を分けています。 半透明なので、表示順などに注意が必要ですが、 配布のプログラムに同梱の、Model/batokin_island3.mqo など、 参考にしていただけるかもしれません。
> バトーキンさん 動画を見ました。 本当にすごいです! 海と川のアニメーションはどう作りましたのですか? よろしければ教えてください。
3Dゲーム制作に挑戦中です。 質問掲示板の方では、色々と新機能の追加・対応ありがとうございました。 動画の続きをupしたので、宣伝……いや、報告にきました。 www.nicovideo.jp/watch/sm8701388 やっぱり、MMDモデル・モーションが使えると、 一気に印象が変わりました。 テクスチャアニメーションの方も重宝しています。 マップの方は置いておいて、 次は歩いたり走ったりに挑戦したいと思います。
Dxライブラリで、独自仕様の圧縮ファイルにはFileRead系の関数で普通にアクセスできるようですが、 同様の関数でzipファイルにもシームレスにアクセスできるようにして欲しいです。
[2459]のプログラムですがサンプルの意味を考えると 「 HitPoly = MV1CollCheck_Line( ModelHandle, 0 , StartPos , EndPos ) ; 」 が正しかった様です。 つまんない事で連続投稿申し訳ありません;;
初めまして、管理人さんのライブラリにはすごくお世話になってます。 コリジョン関係のMV1SetupCollInfo( )関数のサンプルプログラムなのですが、 「 HitPoly = MV1CollCheck_Line( ModelHandle, StartPos, EndPos, 0 ) ; 」 の部分、引数でエラーがでます。 「 HitPoly = MV1CollCheck_Line( ModelHandle, -1 , StartPos , EndPos ) ; 」 、だと正常に動くみたいです。既に耳にタコかもしれませんが一応報告します。
PMDファイルの読みこみ機能は一応物理演算も実装してみましたが、本家ソフト上での挙動は再現できませんでした・・・ この辺りの完成度を上げる前にやるべきことがまだ沢山あるので、中途半端ですが今はここまで・・・うーん悔しい > 匿名さん Vistaより7の方がXPとの互換性が高いという点で、2000とXPの関係に似ていませんか? > romデス4さん 切り替えボタンが DirectInput から見えるようになっていないと難しいですね・・・ 一般的な方法では不可能だと思います
管理人様 ご対応ありがとうございました。 問題なく実装する事ができました。
ジョイパッドの、 アナログ・デジタルの状態を取得切り替えすることはプログラムで可能でしょうか。。 (ps2パッドをpcにつないでいて、実際のゲーム機のように 起動したらアナログモードがonになったらと思ったのですが・・)
>>管理人様 98→2000が大変で98→XPが楽だった理由は、98が家庭向けの9x系列OSで2000は企業向けのNT系列OS、XPは9x系とNT系を統合することがコンセプトの一つだったから… だと思いますよ
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
管理人様、以前のご対応ありがとうございました。 ウィンドウサイズについてのご質問なのですが SetWindowSizeChangeEnableFlagでウィンドウサイズをユーザーが自由に変更できますが そのウィンドウサイズ変更時に縦横の比率を維持して大きさが変更する部分を 比率維持をさせずに変更させるようにする事はできますでしょうか? (ユーザーが縦(横)だけ長くする) 起動時に画面いっぱいにウィンドウモードで起動させたいのですが、DXライブラリ 関数内に画面の解像度を取得する関数などはありますでしょうか? こちらが大変特殊な事をしようとしているのは承知ですが・・ ご解答していただけたら大変助かります。
> 管理人さん 早速の対応ありがとうございます。 ビューアーで確認してみたところ、フレームに出ているアニメーションは 動作するようになったと思ったのですが、蝶の羽根がはばたいていませんでした>< DirectX SDKに付属のMeshViewで見ると速度が早かったので、ソースを開いて mdraw.cpp内のTrivialData::UpdateAnimationメソッド内にある pde->fCurTime += fSecsPerFrame; を pde->fCurTime += fSecsPerFrame/100.0f; に変更してコンパイルした物で確認してみたところ羽根は、はばたいています。 暇な時にでも確認してみてください>< Windows7を購入予定なんですねw 自分は評価版で色々なソフトを試したところ不都合が多かったので、しばらく様子見の 予定ですよ^^;; OS自体は安定してていい感じなんですけどねぇ〜><
> えずらさん 読み込めない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 形式も検討してみてください
> 管理人さん 根が深そうですか・・・>< 3D対応は待望の機能だったので、是非がんばって頂きたいですm(_ _)m あと、大きなお世話かもですがWindows LiveIDが必要ですが、Windows7の評価版は今でもダウンロードできますw 前に公開されていたRC版ではなく、Build7600(RTM?)なのでより製品に近い物になっていると思います。 technet.microsoft. com/ja-jp/evalcenter/cc442495.aspx (↑半角スペースを除いてください) Enterpriseとなってますが、機能的にはUltimateと同等なので問題ないと思います。 だからといって修正を急がせるつもりは全くないです。 Windows7自体まだ発売前ですし、浸透にも時間がかかると思いますので、 ゆっくりで良いので気が向いたら対応して下さい。 これからもDXライブラリの開発応援してます。m(_ _)m
> えずらさん メールありがとうございます ビューアーで現象を確認してみました、なんだか根が深そうな・・・ これからバグ取りしたいと思います ムービーに関しては、了解いたしました 評価版の 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 が含まれていますので 大変お手数ですがもう一度ダウンロードしてください
現在配布されているDXライブラリ3.00dのソースファイルに DxModelLoader3.cppが含まれていないのですが、 調整中という認識でよろしいのでしょうか?
アニメーションが含まれるフレームは、どのフレームも黄色となっており、 クリックするとアニメーション要素もしっかり表示されます。 メールでXファイルを送らせて頂いたので、確認してみてください。m(_ _)m ムービーの件ですが、説明不足だったのですが、以前作成した物を現在の最新では ないのですが、恐らく一個前に公開されていたバージョンのDXライブラリに差し替えて リビルドしたのですが、表示されませんでした。 自前でDirectShowで作成したムービーテクスチャ表示プログラム (www.shader.jp/xoops/html/masafumi/directx9/DShow/dshow001.htm) ↑ここら辺を参考にして作ったものに関しては特に縦幅横幅が2のn乗サイズで なくとも正常に表示されたので、てっきりDirectShowを使ってないのかと思いましたが、 違うみたいですね><
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
↓に追記ですが、DXライブラリ付属のDxLibModelViewer.exeでも、Xファイルの アニメーションは同じ感じで表示されます。
いつも使わせて頂いてます。m(_ _)m ・3Dについて いつの間にか3D対応になってたので早速ためしてみたのですが、 Xファイルのアニメーションが正常に描画されませんでした>< Xファイルの内容は、アニメーションデータは1個なのですが、 複数のフレームが存在し、各フレームに個々のアニメーションが 設定されている感じの物です。 表示結果は、1番目のフレームのアニメーションだけ適用されて、 残りのフレームは時間0の状態のまま描画されるといった感じです。 もし、仕様であれば諦めますが・・・ ・ムービー再生について もうすくWindows7が発売となりますが、Windows7 Enterprise 90日 評価版 で過去に作成したプログラムを実行するとムービーが再生されませんでした。 音声は再生されるのですが画像だけ・・・ おそらく、Vistaからオーバーレイ処理が出来なくなった関係かと思いますが、 DXライブラリがDirectX9ベースになったのでDirectShowで対応出来ると思うのですが、 対応予定ってありますか? もし対応されるようであれば、せっかくなのでムービーをテクスチャとして貼り付ける 機能もあると嬉しいです^^; お忙しいと思いますが、検討よろしくお願いします。m(_ _)m
> Himaさん メールありがとうございます 添付していただいたモデルファイルを正常に表示できるように修正したバージョンを アップしましたので、宜しければお試しになってみて下さい ( すいません、ビューアーはアップし忘れました 明日の早い内にアップしますので少々お待ちください m(_ _;m ) http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe // BorlandC++ 用 (中身を既存のライブラリのファイルに上書きして、BCCをお使いの 場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい) > 憂煉さん ご情報ありがとうございます もし今のコンパイラを紛失することがあったら試してみたいと思います
私は一時期C++Builderの体験版からbin、include、libフォルダを抜き出して使ってました。 今でも通用するか断言できませんが試す価値はあるかと思います。
今回の三連休は結婚式に参加したり祖父母に会いに行ったりしていました 今週ももう水曜日で、なんだか時間の経過が早いです > 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さん コンパイラが無償というのは凄いことですよ
ボーランドから移っていつの間にやら登録が必要になったんですね。。 面倒なことこの上なし・・
DxLibModelViewerでモデルのアニメーションを見るとフレームのアニメーションのTimeTypeのことを気になります。そのTimeTypeなんですか? 二つのTimeTypeがあると思います。 わたしは間違いないならOneとKeyのTimeTypeがあると思います。 実はKeyになると、モデルのアニメーションは変になるのです。 ですから、TimeTypeの意味を教えてくださいです。 よろしくお願いします。
管理人さん リファレンスの GetSoftImageSizeとFillSoftImageの名前が被ってます FillSoftImageの<A NAME="R20N6">はR20N7かもです
www.codegear.com(スラッシュ)jp/downloads/free/cppbuilder (スラッシュ)を/に変えて、先頭にURLでお決まりのあれをくっつけてください
BCCコンパイラももう置いてないような気が。。
返事が遅れてしまいすいません。 やはり解決されないのでビルドして実行するときはゲームパッドをはずします。 親切な対応ありがとうございました。
久々に見にきたところ・・・ついに3D対応していて驚きました。 これで、親切なリファレンスさえ導入されれば無敵ライブラリですね。 ライバルはセイレーンといったところでしょうか。
DXライブラリのプロジェクトファイル内にある C++ BuilderX Personalのアドレス、切れてると思います。 というより、C++ BuilderX が配布終了してますね・・・
> arataさん ご報告ありがとうございます 正常に動作したようで何よりです (^ ^ > cdromromさん 今のところDXライブラリで DirectX11 を使う予定はありませんが、 仮にDXライブラリが DirectX11 を使うことがあるとしても、DirectX11 が 使えない環境のために DirectX9 を使うプログラムも残しておくと思います
DX11が出ようとしてますが、 ライブラリもDX11になっちゃったら、かなり環境が限られちゃいますね・・。 といううちはDX9性能のvistaですがorz
本日作成していただいた ・スクリーン座標をワールド座標に変換する ・画面上におけるカメラが見ている映像の中心の座標を設定する 上記2関数でやりたかった事が問題無く実装する事ができました。 ご対応ありがとうございました。
管理人様、お忙しい中いくつもの関数を作成していただきありがとうございます。 実際に組み込むまでに少々時間が掛かりそうですので 動作状況などは組み込み次第、ご報告させていただきたいと思います。
> 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 ) ;
管理人様、DXライブラリで3D対応なされたという事で 実装された3D関連を色々楽しみながら触らせていただいています。 現在3DでSLGを作成しよう思っております。 そこでご質問なのですが、たとえば画面上に表示されているキャラクターに マウスを持っていくとそのキャラクターの情報が表示されるなど、スクリーン座標からの 3D内のモデルの判定をする方法は、既存の関数で可能なのでしょうか? V1CollCheck_Lineなどを利用すれば出来そうなので色々試してはいるのですが もし可能でしたらご教示を宜しく御願い致します。 あとカメラの描画範囲を制御(ビューポート)する機能はありますでしょうか? (画面の左8割を描画範囲、他をステータス表示に利用できたらいいなと考えております) お忙しい中、大変申し訳有りませんがよろしくお願いします。
> situmonさん お試しいただいたプログラムが正常に動作するのでしたら 恐らくライブラリのバージョンを最新にすることでエラーは出なくなると思います よろしければこちらのバージョンをお使いになってみてください http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe // VisualC++ 用 (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
管理人様、お忙しい中、サンプルまで作っていただいてありがとうございます。 サンプルプログラムを参考にして、モデルを中心にカメラを回転することができました。 また、掲示板に書き込むことがあればその際はよろしくお願いいたします。
管理人さんありがとうございます。 エラーについてですが、実行ファイルを実行したらエラーが出ませんが、 ビルドをして実行すると(F5キーを押してデバッグ?すると)終わるときにエラーが出ました。
久々の休みです 木曜日から東京ゲームショウが開催されていますね 個人的には専用メガネの装着で画面が立体的に見えるレーシングゲームが気になります 早く立体視でゲームをプレイするのが一般的にならないかな・・・ > 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検索すると詳しい解説がされているサイトが見つけることができると思います なんとなくポイポイカプセルさんが望まれる機能ではないような気がしますが、この関数でご希望の処理を 実現できたりしませんでしょうか? (^ ^;
初めて掲示板に書き込みさせて頂きます。 DXライブラリで3Dゲームを作成しております。3D関係の関数が便利なものばかりなので、管理人様には感謝しております。 早速の要望で恐縮ですが、 管理人様、モデルを中心にカメラを回転する関数を作成していただけないでしょうか。 ご検討を宜しくお願い致します。
トピたてるまでもなさそうなのでここで質問させていただきます。 DXライブラリは左手座標系…ですよね?
はじめてこの掲示板を使いますが、 もし違う原因ならすいませんが、 DxLibをつかってゲーム作成をしていますが、 そのゲームはゲームパッド対応で作っています。 そしてゲームパッド対応できた、と思いビルドして実行したところ きちんと動きました。しかし、DXライブラリを終了するとエラーが出てしまうのです。 なぜだろうと思いコードを確認してみましたが、エラーは解決しなかったので、 接続されていたゲームパッド(ELECOMのJC-U1512FBK)をはずしたところエラーなく終わりました。一度ほかの掲示板で質問させていただいたのですが、本家で聞いたほうが早いのではないかという答えをいただいたので質問させていただいてます。 よろしくお願いします。
対応ありがとうございます! 試してみます。
- Aska BBS -