DXライブラリ 総合スレッド その19 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
Cを習得した程度のスキルでも、ゲームのグラフィックを比較的容易に描画する事のできる、 「DXライブラリ」に関するスレッドです。 DXライブラリに関するテクニックなどの情報交換などを行う事で、 多くのDXライブラリユーザのスキルの向上に役立てたら幸いです。 【公式】 http://homepage2.nifty.com/natupaji/DxLib/ 【関連スレ】 C/C++ゲーム製作総合スレッド Part7 [転載禁止](c)2ch.net http://peace.2ch.net/test/read.cgi/gamedev/1420939171/ ゲームプログラムなら俺に聞け32(c)2ch.net http://peace.2ch.net/test/read.cgi/tech/1441693570/ ●DXライブラリではなくDirectXの質問ならこっちへ 【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止](c)2ch.net http://peace.2ch.net/test/read.cgi/tech/1418438785/ クラスのコピーコンストラクタとか代入とかって 単純に全メンバコピーでOKな場合は書かない方が良いのな なんでこんな遅いんだろうと色々試行錯誤してググってたらこんな説明があったわ >デフォルト演算子は、優れたコードを生成するためにどのような作業が必要かを把握しています。 >この結果作成されるコードは、ユーザーが作成したコードよりもはるかに高速です。 >これは、プログラマが通常使用できないアセンブリレベルの機能をコンパイラが利用できるためです。 >そのため、デフォルト演算子が必要な作業をこなしてくれる場合は、プログラムでこれらの演算子をユーザー定義によって宣言する必要はありません。 ttps://docs.oracle.com/cd/E19205-01/821-2495/bkahq/index.html >>796 >知らないところで色々と動くのが嫌なんですよ。 まあ、でも道のりは遠いよ。DXLIBで状態遷移やらコンテナ管理のフレームワーク積み上げていくのは。 専門学校の教材向けとしては良いけれどその現場ですら昨今はOpenCiv3Dとか言い出してるし。 当たり判定もライブラリだのみか!と内心戦慄する思いではあるけれど。 現在DXライブラリでMMD表示とモーション再生のサンプルを作っているのですが モデルは表示されるのに何故かモーションが再生されず困ってます。 MMDモデルとモーションデータは読み込めているようで、それぞれ939589632,0とハンドル値が返ってきています。 デバッグしてみるとMV1AttachAnim()が-1を返してくるのですがこの原因がわかりません。 int ModelHandle = MV1LoadModel("MMD/初音ミク/Lat式/Lat式ミクVer2.31/Lat式ミクVer2.31_Normal.pmd"); int VmdH = MV1SetLoadModelAnimFilePath("MMD/モーション/シュレディンガイガーのこねこ_モーション/シュレディンガイガーのこねこ_Lat式ミク.vmd"); int AttachIndex = MV1AttachAnim(ModelHandle, 0, VmdH); 他のモーションデータをいくつか試してみても同様の症状です。 何か原因わかる方いましたら教えてください。 >>812 MV1SetLoadModelAnimFilePath()の使い方が間違ってるのかな 下のは困ってる事情は別だけど、その辺りのコード使ってるから参考になるかも https://dxlib.xsrv.jp/cgi/patiobbs/patio.cgi?mode=view& ;no=4266 ありがとうございます。関数仕様を調べ直しました。 どうもvmdファイルの指定の仕方が根本的に違ったようですね… モーションデータをリネームしてモデルデータと同ディレクトリに配置したところ、無事に再生されました。 (てっきりモデルとモーションを別に読み込んでアタッチすれば良いものと思っていましたが違うんですね) ゲームをして遊びながら稼ぐ時代が到来したぞ NFTアートとNFTゲームとGameFiとブロックチェーンゲームと DeFiとメタバースに提供する側・作る側として参入しよう。 (むりなら参加する側でもいい) DAOとPlay-to-Earn(遊んで稼ぐ)が世界の未来になる 特にNFTアートとNFTゲームとGameFiは今なら先行者利益取れるぞ NFTアートとNFTゲームとGameFiはこれから1000倍規模の市場になる Nimは至高のプログラミング言語と言われてるので使ってみたいと思ったけど、DXライブラリ的なものはなさそうで(?)残念。 C++は難しすぎる… dxlib.dll使って好きな言語から呼び出しなよ コンパイル時間がかからない言語だと作業効率が格段に良くなるよ 教えてくれて超ありがとう。 「DXライブラリ置き場」の説明文に「C++言語用のゲームライブラリです。」とあるので、Nim等では使用不可だと思ってた… nimってC++のlibを読み込めるんじゃなかったっけ dllで使用する場合は「VisualC# 用パッケージ」にあるものだったはず これはC++のソースを機械的にdllに変換しているらしいので、C#かどうかは問わない (C#の関数定義のヘッダーファイルが用意されているだけ) 日本語で処理内容を書いたらコードにしてくれる AI Programmerってサイトを雑談スレで知ったんだけど DXライブラリの関数も認識してくれるみたい 試しにDrawFormatStringで文字列描画するって入れてみただけなんだけど 普通に認識してびっくりした 起動画面にDXライブラリのロゴを入れておきたいな、と思い付きで思い立ち、サイト見に行ったらトップページの一番上にあるロゴしか、らしいロゴがなかった。 あーーー、うーん・・・。 ほなら、マイクロソフトのDirectXのロゴはどうなってる? 取り敢えず仮のでっちあげの参考に・・・と思ったら、負けず劣らず中々にデザイン性が低い(笑)。 感性肌ではない技術屋寄りな感性は嫌いじゃないしむしろ好感が持てるけど、それでもデザイン性が低いモノは低い。 とは言え好き勝手に批判しているけれど、私自身もデザイン出来ないからウダウダしている訳で。 ttps://imgur.com/a/rtaxY0p 直リンし直し。 ttps://i.imgur.com/owdZYUo.png これ思い出した ttps://www.nicovideo.jp/watch/sm1972187 ,__.,、_,、 ( (´・ω・`) u u∩u ∩ (・ω・ | | | | | ノ ∪∪ `ヽ.__/ | / | | / ミ | | ビターン / ミ | | \、_,ノ 、_/ | | _,ノ ,、_,、 ( | | `) ('ヽ、 )) ___── | ヽ /  ̄ ̄ ̄ | / ,- ヽ  ̄ ̄ ̄── | '⌒)(__,/ ヽ__)(` | | /' '^\ | 金髪顔でDXライブラリを我が物顔で語り コミケに出て東方作者抜かす、東方二次まで否定し威張り散らしたおじさんスレが6周年w 自作ゲーム開発者たちのメンバー募集 https://echo.5ch.net/test/read.cgi/gamedev/1484755223/ このライブラリ好きだから使い倒したいけどシェーダーさっぱり分からんなぁ 世の中にはDXライブラリでPBR実装してる猛者がいるみたいだけど >>827 https://echo.5ch.net/test/read.cgi/gamedev/1484755223/166 166 :Hiromiti:2017/01/23(月) 08:35:33.99 ID:W7jAWX1Z 俺ぐらいの人間になるとね 人を集めようとはせずに一人になることを求めたがる 自分一人の方が楽だし、俺の感性や頭脳に追いつく人間もいない 回りの人間のレベルに合わせてみたり、 回りの人間に説明して説得する時間が勿体無いから 「もういいよ。全部、俺がやるから」と言って何でも自分でやろうとする 俺はそういう常人にはない特殊な感性を持った人物です 本人がやりたいと思ったことは世間の常識に囚われず本当にやってみせる 2ちゃんねる管理人ひろゆきを正式メンバーに入れることも冗談ではないよ? チャンスさえあって、自分の目の前に彼が偶然現れれば 迷いなく彼に「俺に力を貸せ」と言ってることでしょう これは仕事ではないので給料など出さん その代わり面白いゲームを誕生させようぜ だが、たくさん売れればその売り上げはメンバー全員で山分けしようぜ あのクラスになれば金なんて腐るほど持ってるんだろう? だったら目先の金(給料)などどうでもいいじゃん? その代わり、面白いゲームを作ろう! 史上最強の同人ゲームを作ろう! それを冬コミで売るなら、冬コミでトップセールスを記録してみようぜ! ZUN氏の東方シリーズを超えるほどのね >>827 288 :Hiromiti:2017/01/27(金) 02:36:35.36 ID:fq1oBnv1 DXライブラリはPS4やPSVITAのゲーム開発にも対応したからね 同人ゲームでPS4のゲームが開発できるんだぜ?魅力的じゃない? それにDXライブラリのプログラミングの本質的な開発に専念できるところも 分かりやすくて気に入ってる 複雑なツールの操作を必要とせず、DXライブラリ関数をC言語プログラムで呼び出すだけで済むし まあ、来月からプログラミング講座を開くので楽しみにしておいてよ 2年後の冬コミで同人ゲームを出展させることも本気ですから まあ予定より早くゲームが完成したなら その時点で売ればいいが、最長で2年の開発期間という意味 525 :Hiromiti:2017/02/09(木) 17:05:25.61 ID:U0omOnFe 俺は堀井雄二を超えてみせる >>827 192 :Hiromiti:2017/01/23(月) 21:57:01.74 ID:W7jAWX1Z 同人ゲームを売るために東方の二次創作に頼る時点で間違っておる! 東方シリーズの作者ZUN氏は、自分でオリジナルのブランドを誕生させたことが成功の鍵 あの人は誰かの同人ゲームの二次創作で勝負を掛けたわけではなく 自分のゲーム、自分の音楽で勝負に出た それで東方シリーズというオリジナルブランドを確立 後に続く者がZUN氏にあやかって東方の二次創作ゲームを作るとかさ それこそ保身に頼りすぎ 自分で勝負に出ようとしない オリジナルのキャラで、オリジナルのゲームジャンル(弾幕シューティング)を誕生させる これが必要なんだよ 思う所あって、作業中断してポリゴンで3Dダンジョン作ってみたくなった。 3Dなんて30~40年前にIF文とLINE文で頑張ったのが最後で、一切触れてこなかった分野だからメインループ構築が最初の難関・・・と思ったのだけど、公式で入門プログラムが用意してあった。10年以上前から先読みされているとか、準備が良すぎる。 マップデータに対して、実際の表示が何故か左右反転しているのが気になるからそれを解消したいけれど、stateの値が即値でそれが目障りだからenumで差し替え・・・という段階。 はやく3D命令を把握したいです。 # 半ば日記です。 公式の3Dサンプル1の迷路をいじることで、初めて3Dプログラム読み書きしているのですが。 実際の作画が通り道をチューブ状に表示していたのを、文字通り壁ブロックを表示するように変更。 その為にBlenderの初期画面でサンプル表示される立方体を少し加工してエクスポート。ついでにMV1変換の過程でまるで知らなかったライティングで痛い目に遭う。おかげで暗く明減するアニメ効果を実装。 今は両脇がまるで見えない問題の解決策として、視点位置を現在の自スペース中心から後方に移動して視界を確保。でもそのまま左右を向くと物陰から枝道を覗く視点になってしまうので、視点移動を実装中。少数は避けて通ったint派なので、中学生に戻った気分です。 そして根本的なこと。 もしかして、3Dって座標系違いますよね? 2Dの画面では左上の原点(0,0)から右下に加算していきますが、3Dのxz面(迷路的には床面)は原点(0,0)が右上に伸びて行くイメージ。だから、迷路を定義しているchar Map[BLOCK_NUM_Z][BLOCK_NUM_X] が上源反転している様に見えたというか。 状況証拠の蓄積からの推理であって、間違って確信すると後々恥ずかしいのでここで白状してしまいますが。 > もしかして、3Dって座標系違いますよね? YES >>841 回答ありがとうございます。 安心して作業に戻れます。 モデルの座標やスケール値を読み出せるのに、なんでサイズを読み出す命令がないんだろう・・・。 Blenderと往復して壁のデータ作って変換して持ち込んでいるけれど、何もいじらないと中心点が原点扱いになるから、Blenderで上に持ち上げて底面がゼロ原点になるようにいじらないといかん。 マテリアルも一発OKで持ち込めたけれど、データサイズから察するにfbx→MV1ではテクスチャを持ち込めないみたいだから、やり方も勉強しないと。Blenderならアドオンで他形式からでも持ち込めるよね、多分。 と言うかビュア起動が面倒!変換はコマンドラインでどうにかなりませんかね。 公式に確認してお許しが出たので、晒す。 色々とままならないままなのですが。 ・照度が上がらない! 画面をもう少し明るくしたいのですが、ライト関係への理解がまだまだ浅い・・・。 ・動作が少し重い。 これでも改善したのですが。1動作60コマなのがまずいかな。 ・暗くて見えませんが、壁のデザインは古代ギリシャ建築を参考にしたのにローマ風だなあ・・・とBlender画面見ながら思ったのですが、実際のゲーム画面だと何故かSF風味。造り手としては、なんで!?どうして!?意味分からん!状態です。 ・壁が点滅する。 解像度を上げたら軽減しましたが、アンチエイリアスが満足行くレベルでない様子。どうすれバインダー・・・これがSF風味に一役買っているんだろうなあ。 https://dot_up.org/uploda/dot_up.org3010520.zip.html pass:dxl なんとアップローダがNGワード??? dotとupの間のアンダーバーを抜いてください。 アンチエイリアスが全然効かねえ・・・二次元はGraphFilter()の解説通りにすればまあ解決だけれど、同じ手法を三次元では全然効果ない。 シェーダーに手を出さないとアカンのか・・・? ま、いっか。 >>847 テクスチャじゃなくてポリゴン描画の輪郭にアンチエイリアスかけるには DxLib_Initの前にSetFullSceneAntiAliasingModeで マルチサンプルのレベルとクオリティを指定する必要がある (デフォルトだとOFFになってる) ちなみに有効にした場合は描画先を必ずDX_SCREEN_BACKにして ScreenFlipで表示を切り替えるダブルバッファリングが必須になる あと3Dモデルのテクスチャにアンチエイリアスかけたいなら 事前にDxLibModelViewerに読み込んで、テクスチャの所の フィルタリングモードで設定してMV1で保存しておけばいい 3DファイルをいじりたくないならMV1SetTextureSampleFilterModeで プログラムからでも設定は変えれる >>849 >>850 すいませんボケかましてしまいました。 3D関連だからと、3Dのところばかり読み直していました。 現在データ構造の見直し中で半端に書き直してしまいコンパイル出来ない状態ですが、一文を追加しておきました。 つぶやきを拾って下さって、ありがとうございました。 三角関数の生数字0~1未満のVECTORを2つ、その中点を取りたいのですが単純にVAdd()で加算してVScale()で0.5f倍するだけだと何かうまく行かない。 もう少し具体的には、空中をふらつく視線と90度旋回を別々にやるとうまくいくのに、同時にやろうとすると70~80度旋回で完了してしまう感じ。 まあもっとも、角度degをDX_PI_F/180でradにしないといけない所を90で割っていた私なので、またポカしているだけなのだろう。 初めての3Dプログラミングで実数に四苦八苦していましたが、結局中身はintで下駄を履いた角度で保持することになりました。 まだ少し実数で計算する所もあるけれど、取り敢えず再度コンパイルが通るようになったので肩の荷を一つ下ろせました。 ダンジョン徘徊RPGを作りたいけど、先立つ技術がないとシンドいですね(^^; ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる